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

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

Go to download

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

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

package com.amazonaws.services.redshift.model;

import java.io.Serializable;
import com.amazonaws.AmazonWebServiceRequest;

/**
 * 

*/ public class CreateClusterRequest extends AmazonWebServiceRequest implements Serializable, Cloneable { /** *

* The name of the first database to be created when the cluster is created. *

*

* To create additional databases after the cluster is created, connect to * the cluster with a SQL client and use SQL commands to create a database. * For more information, go to Create a Database in the Amazon Redshift Database Developer Guide. *

*

* Default: dev *

*

* Constraints: *

*
    *
  • Must contain 1 to 64 alphanumeric characters.
  • *
  • Must contain only lowercase letters.
  • *
  • Cannot be a word that is reserved by the service. A list of reserved * words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.
  • *
*/ private String dBName; /** *

* A unique identifier for the cluster. You use this identifier to refer to * the cluster for any subsequent cluster operations such as deleting or * modifying. The identifier also appears in the Amazon Redshift console. *

*

* Constraints: *

*
    *
  • Must contain from 1 to 63 alphanumeric characters or hyphens.
  • *
  • Alphabetic characters must be lowercase.
  • *
  • First character must be a letter.
  • *
  • Cannot end with a hyphen or contain two consecutive hyphens.
  • *
  • Must be unique for all clusters within an AWS account.
  • *
*

* Example: myexamplecluster *

*/ private String clusterIdentifier; /** *

* The type of the cluster. When cluster type is specified as *

    *
  • single-node, the NumberOfNodes parameter is not * required.
  • *
  • multi-node, the NumberOfNodes parameter is * required.
  • *
*

*

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

*

* Default: multi-node *

*/ private String clusterType; /** *

* The node type to be provisioned for the cluster. For information about * node types, go to Working with Clusters in the Amazon Redshift Cluster Management * Guide. *

*

* Valid Values: ds1.xlarge | ds1.8xlarge | * ds2.xlarge | ds2.8xlarge | * dc1.large | dc1.8xlarge. *

*/ private String nodeType; /** *

* The user name associated with the master user account for the cluster * that is being created. *

*

* Constraints: *

*
    *
  • Must be 1 - 128 alphanumeric characters.
  • *
  • First character must be a letter.
  • *
  • Cannot be a reserved word. A list of reserved words can be found in * Reserved Words in the Amazon Redshift Database Developer Guide.
  • *
*/ private String masterUsername; /** *

* The password associated with the master user account for the cluster that * is being created. *

*

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

* A list of security groups to be associated with this cluster. *

*

* Default: The default cluster security group for Amazon Redshift. *

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

* A list of Virtual Private Cloud (VPC) security groups to be associated * with the cluster. *

*

* Default: The default VPC security group is associated with the cluster. *

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

* The name of a cluster subnet group to be associated with this cluster. *

*

* If this parameter is not provided the resulting cluster will be deployed * outside virtual private cloud (VPC). *

*/ private String clusterSubnetGroupName; /** *

* The EC2 Availability Zone (AZ) in which you want Amazon Redshift to * provision the cluster. For example, if you have several EC2 instances * running in a specific Availability Zone, then you might want the cluster * to be provisioned in the same zone in order to decrease network latency. *

*

* Default: A random, system-chosen Availability Zone in the region that is * specified by the endpoint. *

*

* Example: us-east-1d *

*

* Constraint: The specified Availability Zone must be in the same region as * the current endpoint. *

*/ private String availabilityZone; /** *

* The weekly time range (in UTC) during which automated cluster maintenance * can occur. *

*

* Format: ddd:hh24:mi-ddd:hh24:mi *

*

* Default: A 30-minute window selected at random from an 8-hour block of * time per region, occurring on a random day of the week. For more * information about the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide. *

*

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

*

* Constraints: Minimum 30-minute window. *

*/ private String preferredMaintenanceWindow; /** *

* The name of the parameter group to be associated with this cluster. *

*

* Default: The default Amazon Redshift cluster parameter group. For * information about the default parameter group, go to Working with Amazon Redshift Parameter Groups *

*

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

*

* Default: 1 *

*

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

*/ private Integer automatedSnapshotRetentionPeriod; /** *

* The port number on which the cluster accepts incoming connections. *

*

* The cluster is accessible only via the JDBC and ODBC connection strings. * Part of the connection string requires the port on which the cluster will * listen for incoming connections. *

*

* Default: 5439 *

*

* Valid Values: 1150-65535 *

*/ private Integer port; /** *

* The version of the Amazon Redshift engine software that you want to * deploy on the cluster. *

*

* The version selected runs on all the nodes in the cluster. *

*

* Constraints: Only version 1.0 is currently available. *

*

* Example: 1.0 *

*/ private String clusterVersion; /** *

* If true, major version upgrades can be applied during the * maintenance window to the Amazon Redshift engine that is running on the * cluster. *

*

* When a new major version of the Amazon Redshift engine is released, you * can request that the service automatically apply upgrades during the * maintenance window to the Amazon Redshift engine that is running on your * cluster. *

*

* Default: true *

*/ private Boolean allowVersionUpgrade; /** *

* The number of compute nodes in the cluster. This parameter is required * when the ClusterType parameter is specified as * multi-node. *

*

* For information about determining how many nodes you need, go to Working with Clusters in the Amazon Redshift Cluster Management * Guide. *

*

* If you don't specify this parameter, you get a single-node cluster. When * requesting a multi-node cluster, you must specify the number of nodes * that you want in the cluster. *

*

* Default: 1 *

*

* Constraints: Value must be at least 1 and no more than 100. *

*/ private Integer numberOfNodes; /** *

* If true, the cluster can be accessed from a public network. *

*/ private Boolean publiclyAccessible; /** *

* If true, the data in the cluster is encrypted at rest. *

*

* Default: false *

*/ private Boolean encrypted; /** *

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

* A list of tag instances. *

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

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

*/ private String kmsKeyId; /** *

* Reserved. *

*/ private String additionalInfo; /** *

* A list of AWS Identity and Access Management (IAM) roles that can be used * by the cluster to access other AWS services. You must supply the IAM * roles in their Amazon Resource Name (ARN) format. You can supply up to 10 * IAM roles in a single request. *

*

* A cluster can have up to 10 IAM roles associated at any time. *

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

* The name of the first database to be created when the cluster is created. *

*

* To create additional databases after the cluster is created, connect to * the cluster with a SQL client and use SQL commands to create a database. * For more information, go to Create a Database in the Amazon Redshift Database Developer Guide. *

*

* Default: dev *

*

* Constraints: *

*
    *
  • Must contain 1 to 64 alphanumeric characters.
  • *
  • Must contain only lowercase letters.
  • *
  • Cannot be a word that is reserved by the service. A list of reserved * words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.
  • *
* * @param dBName * The name of the first database to be created when the cluster is * created.

*

* To create additional databases after the cluster is created, * connect to the cluster with a SQL client and use SQL commands to * create a database. For more information, go to Create a Database in the Amazon Redshift Database Developer * Guide. *

*

* Default: dev *

*

* Constraints: *

*
    *
  • Must contain 1 to 64 alphanumeric characters.
  • *
  • Must contain only lowercase letters.
  • *
  • Cannot be a word that is reserved by the service. A list of * reserved words can be found in Reserved Words in the Amazon Redshift Database Developer * Guide.
  • */ public void setDBName(String dBName) { this.dBName = dBName; } /** *

    * The name of the first database to be created when the cluster is created. *

    *

    * To create additional databases after the cluster is created, connect to * the cluster with a SQL client and use SQL commands to create a database. * For more information, go to Create a Database in the Amazon Redshift Database Developer Guide. *

    *

    * Default: dev *

    *

    * Constraints: *

    *
      *
    • Must contain 1 to 64 alphanumeric characters.
    • *
    • Must contain only lowercase letters.
    • *
    • Cannot be a word that is reserved by the service. A list of reserved * words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.
    • *
    * * @return The name of the first database to be created when the cluster is * created.

    *

    * To create additional databases after the cluster is created, * connect to the cluster with a SQL client and use SQL commands to * create a database. For more information, go to Create a Database in the Amazon Redshift Database Developer * Guide. *

    *

    * Default: dev *

    *

    * Constraints: *

    *
      *
    • Must contain 1 to 64 alphanumeric characters.
    • *
    • Must contain only lowercase letters.
    • *
    • Cannot be a word that is reserved by the service. A list of * reserved words can be found in Reserved Words in the Amazon Redshift Database Developer * Guide.
    • */ public String getDBName() { return this.dBName; } /** *

      * The name of the first database to be created when the cluster is created. *

      *

      * To create additional databases after the cluster is created, connect to * the cluster with a SQL client and use SQL commands to create a database. * For more information, go to Create a Database in the Amazon Redshift Database Developer Guide. *

      *

      * Default: dev *

      *

      * Constraints: *

      *
        *
      • Must contain 1 to 64 alphanumeric characters.
      • *
      • Must contain only lowercase letters.
      • *
      • Cannot be a word that is reserved by the service. A list of reserved * words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.
      • *
      * * @param dBName * The name of the first database to be created when the cluster is * created.

      *

      * To create additional databases after the cluster is created, * connect to the cluster with a SQL client and use SQL commands to * create a database. For more information, go to Create a Database in the Amazon Redshift Database Developer * Guide. *

      *

      * Default: dev *

      *

      * Constraints: *

      *
        *
      • Must contain 1 to 64 alphanumeric characters.
      • *
      • Must contain only lowercase letters.
      • *
      • Cannot be a word that is reserved by the service. A list of * reserved words can be found in Reserved Words in the Amazon Redshift Database Developer * Guide.
      • * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateClusterRequest withDBName(String dBName) { setDBName(dBName); return this; } /** *

        * A unique identifier for the cluster. You use this identifier to refer to * the cluster for any subsequent cluster operations such as deleting or * modifying. The identifier also appears in the Amazon Redshift console. *

        *

        * Constraints: *

        *
          *
        • Must contain from 1 to 63 alphanumeric characters or hyphens.
        • *
        • Alphabetic characters must be lowercase.
        • *
        • First character must be a letter.
        • *
        • Cannot end with a hyphen or contain two consecutive hyphens.
        • *
        • Must be unique for all clusters within an AWS account.
        • *
        *

        * Example: myexamplecluster *

        * * @param clusterIdentifier * A unique identifier for the cluster. You use this identifier to * refer to the cluster for any subsequent cluster operations such as * deleting or modifying. The identifier also appears in the Amazon * Redshift console.

        *

        * Constraints: *

        *
          *
        • Must contain from 1 to 63 alphanumeric characters or hyphens.
        • *
        • Alphabetic characters must be lowercase.
        • *
        • First character must be a letter.
        • *
        • Cannot end with a hyphen or contain two consecutive hyphens.
        • *
        • Must be unique for all clusters within an AWS account.
        • *
        *

        * Example: myexamplecluster */ public void setClusterIdentifier(String clusterIdentifier) { this.clusterIdentifier = clusterIdentifier; } /** *

        * A unique identifier for the cluster. You use this identifier to refer to * the cluster for any subsequent cluster operations such as deleting or * modifying. The identifier also appears in the Amazon Redshift console. *

        *

        * Constraints: *

        *
          *
        • Must contain from 1 to 63 alphanumeric characters or hyphens.
        • *
        • Alphabetic characters must be lowercase.
        • *
        • First character must be a letter.
        • *
        • Cannot end with a hyphen or contain two consecutive hyphens.
        • *
        • Must be unique for all clusters within an AWS account.
        • *
        *

        * Example: myexamplecluster *

        * * @return A unique identifier for the cluster. You use this identifier to * refer to the cluster for any subsequent cluster operations such * as deleting or modifying. The identifier also appears in the * Amazon Redshift console.

        *

        * Constraints: *

        *
          *
        • Must contain from 1 to 63 alphanumeric characters or hyphens. *
        • *
        • Alphabetic characters must be lowercase.
        • *
        • First character must be a letter.
        • *
        • Cannot end with a hyphen or contain two consecutive hyphens.
        • *
        • Must be unique for all clusters within an AWS account.
        • *
        *

        * Example: myexamplecluster */ public String getClusterIdentifier() { return this.clusterIdentifier; } /** *

        * A unique identifier for the cluster. You use this identifier to refer to * the cluster for any subsequent cluster operations such as deleting or * modifying. The identifier also appears in the Amazon Redshift console. *

        *

        * Constraints: *

        *
          *
        • Must contain from 1 to 63 alphanumeric characters or hyphens.
        • *
        • Alphabetic characters must be lowercase.
        • *
        • First character must be a letter.
        • *
        • Cannot end with a hyphen or contain two consecutive hyphens.
        • *
        • Must be unique for all clusters within an AWS account.
        • *
        *

        * Example: myexamplecluster *

        * * @param clusterIdentifier * A unique identifier for the cluster. You use this identifier to * refer to the cluster for any subsequent cluster operations such as * deleting or modifying. The identifier also appears in the Amazon * Redshift console.

        *

        * Constraints: *

        *
          *
        • Must contain from 1 to 63 alphanumeric characters or hyphens.
        • *
        • Alphabetic characters must be lowercase.
        • *
        • First character must be a letter.
        • *
        • Cannot end with a hyphen or contain two consecutive hyphens.
        • *
        • Must be unique for all clusters within an AWS account.
        • *
        *

        * Example: myexamplecluster * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateClusterRequest withClusterIdentifier(String clusterIdentifier) { setClusterIdentifier(clusterIdentifier); return this; } /** *

        * The type of the cluster. When cluster type is specified as *

          *
        • single-node, the NumberOfNodes parameter is not * required.
        • *
        • multi-node, the NumberOfNodes parameter is * required.
        • *
        *

        *

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

        *

        * Default: multi-node *

        * * @param clusterType * The type of the cluster. When cluster type is specified as *
          *
        • single-node, the NumberOfNodes parameter * is not required.
        • *
        • multi-node, the NumberOfNodes parameter is * required.
        • *
        *

        *

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

        *

        * Default: multi-node */ public void setClusterType(String clusterType) { this.clusterType = clusterType; } /** *

        * The type of the cluster. When cluster type is specified as *

          *
        • single-node, the NumberOfNodes parameter is not * required.
        • *
        • multi-node, the NumberOfNodes parameter is * required.
        • *
        *

        *

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

        *

        * Default: multi-node *

        * * @return The type of the cluster. When cluster type is specified as *
          *
        • single-node, the NumberOfNodes parameter * is not required.
        • *
        • multi-node, the NumberOfNodes parameter * is required.
        • *
        *

        *

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

        *

        * Default: multi-node */ public String getClusterType() { return this.clusterType; } /** *

        * The type of the cluster. When cluster type is specified as *

          *
        • single-node, the NumberOfNodes parameter is not * required.
        • *
        • multi-node, the NumberOfNodes parameter is * required.
        • *
        *

        *

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

        *

        * Default: multi-node *

        * * @param clusterType * The type of the cluster. When cluster type is specified as *
          *
        • single-node, the NumberOfNodes parameter * is not required.
        • *
        • multi-node, the NumberOfNodes parameter is * required.
        • *
        *

        *

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

        *

        * Default: multi-node * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateClusterRequest withClusterType(String clusterType) { setClusterType(clusterType); return this; } /** *

        * The node type to be provisioned for the cluster. For information about * node types, go to Working with Clusters in the Amazon Redshift Cluster Management * Guide. *

        *

        * Valid Values: ds1.xlarge | ds1.8xlarge | * ds2.xlarge | ds2.8xlarge | * dc1.large | dc1.8xlarge. *

        * * @param nodeType * The node type to be provisioned for the cluster. For information * about node types, go to Working with Clusters in the Amazon Redshift Cluster * Management Guide.

        *

        * Valid Values: ds1.xlarge | ds1.8xlarge | * ds2.xlarge | ds2.8xlarge | * dc1.large | dc1.8xlarge. */ public void setNodeType(String nodeType) { this.nodeType = nodeType; } /** *

        * The node type to be provisioned for the cluster. For information about * node types, go to Working with Clusters in the Amazon Redshift Cluster Management * Guide. *

        *

        * Valid Values: ds1.xlarge | ds1.8xlarge | * ds2.xlarge | ds2.8xlarge | * dc1.large | dc1.8xlarge. *

        * * @return The node type to be provisioned for the cluster. For information * about node types, go to Working with Clusters in the Amazon Redshift Cluster * Management Guide.

        *

        * Valid Values: ds1.xlarge | ds1.8xlarge * | ds2.xlarge | ds2.8xlarge | * dc1.large | dc1.8xlarge. */ public String getNodeType() { return this.nodeType; } /** *

        * The node type to be provisioned for the cluster. For information about * node types, go to Working with Clusters in the Amazon Redshift Cluster Management * Guide. *

        *

        * Valid Values: ds1.xlarge | ds1.8xlarge | * ds2.xlarge | ds2.8xlarge | * dc1.large | dc1.8xlarge. *

        * * @param nodeType * The node type to be provisioned for the cluster. For information * about node types, go to Working with Clusters in the Amazon Redshift Cluster * Management Guide.

        *

        * Valid Values: ds1.xlarge | ds1.8xlarge | * ds2.xlarge | ds2.8xlarge | * dc1.large | dc1.8xlarge. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateClusterRequest withNodeType(String nodeType) { setNodeType(nodeType); return this; } /** *

        * The user name associated with the master user account for the cluster * that is being created. *

        *

        * Constraints: *

        *
          *
        • Must be 1 - 128 alphanumeric characters.
        • *
        • First character must be a letter.
        • *
        • Cannot be a reserved word. A list of reserved words can be found in * Reserved Words in the Amazon Redshift Database Developer Guide.
        • *
        * * @param masterUsername * The user name associated with the master user account for the * cluster that is being created.

        *

        * Constraints: *

        *
          *
        • Must be 1 - 128 alphanumeric characters.
        • *
        • First character must be a letter.
        • *
        • Cannot be a reserved word. A list of reserved words can be * found in Reserved Words in the Amazon Redshift Database Developer * Guide.
        • */ public void setMasterUsername(String masterUsername) { this.masterUsername = masterUsername; } /** *

          * The user name associated with the master user account for the cluster * that is being created. *

          *

          * Constraints: *

          *
            *
          • Must be 1 - 128 alphanumeric characters.
          • *
          • First character must be a letter.
          • *
          • Cannot be a reserved word. A list of reserved words can be found in * Reserved Words in the Amazon Redshift Database Developer Guide.
          • *
          * * @return The user name associated with the master user account for the * cluster that is being created.

          *

          * Constraints: *

          *
            *
          • Must be 1 - 128 alphanumeric characters.
          • *
          • First character must be a letter.
          • *
          • Cannot be a reserved word. A list of reserved words can be * found in Reserved Words in the Amazon Redshift Database Developer * Guide.
          • */ public String getMasterUsername() { return this.masterUsername; } /** *

            * The user name associated with the master user account for the cluster * that is being created. *

            *

            * Constraints: *

            *
              *
            • Must be 1 - 128 alphanumeric characters.
            • *
            • First character must be a letter.
            • *
            • Cannot be a reserved word. A list of reserved words can be found in * Reserved Words in the Amazon Redshift Database Developer Guide.
            • *
            * * @param masterUsername * The user name associated with the master user account for the * cluster that is being created.

            *

            * Constraints: *

            *
              *
            • Must be 1 - 128 alphanumeric characters.
            • *
            • First character must be a letter.
            • *
            • Cannot be a reserved word. A list of reserved words can be * found in Reserved Words in the Amazon Redshift Database Developer * Guide.
            • * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateClusterRequest withMasterUsername(String masterUsername) { setMasterUsername(masterUsername); return this; } /** *

              * The password associated with the master user account for the cluster that * is being created. *

              *

              * 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 password associated with the master user account for the * cluster that is being created.

              *

              * 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 password associated with the master user account for the cluster that * is being created. *

                *

                * 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 password associated with the master user account for the * cluster that is being created.

                *

                * Constraints: *

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

                  * The password associated with the master user account for the cluster that * is being created. *

                  *

                  * 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 password associated with the master user account for the * cluster that is being created.

                  *

                  * Constraints: *

                  *
                    *
                  • Must be between 8 and 64 characters in length.
                  • *
                  • Must contain at least one uppercase letter.
                  • *
                  • Must contain at least one lowercase letter.
                  • *
                  • Must contain one number.
                  • *
                  • Can be any printable ASCII character (ASCII code 33 to 126) * except ' (single quote), " (double quote), \, /, @, or space.
                  • * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateClusterRequest withMasterUserPassword(String masterUserPassword) { setMasterUserPassword(masterUserPassword); return this; } /** *

                    * A list of security groups to be associated with this cluster. *

                    *

                    * Default: The default cluster security group for Amazon Redshift. *

                    * * @return A list of security groups to be associated with this cluster. *

                    *

                    * Default: The default cluster security group for Amazon Redshift. */ public java.util.List getClusterSecurityGroups() { if (clusterSecurityGroups == null) { clusterSecurityGroups = new com.amazonaws.internal.SdkInternalList(); } return clusterSecurityGroups; } /** *

                    * A list of security groups to be associated with this cluster. *

                    *

                    * Default: The default cluster security group for Amazon Redshift. *

                    * * @param clusterSecurityGroups * A list of security groups to be associated with this cluster.

                    *

                    * Default: The default cluster security group for Amazon Redshift. */ 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 security groups to be associated with this cluster. *

                    *

                    * Default: The default cluster security group for Amazon Redshift. *

                    *

                    * 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 security groups to be associated with this cluster.

                    *

                    * Default: The default cluster security group for Amazon Redshift. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateClusterRequest 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 security groups to be associated with this cluster. *

                    *

                    * Default: The default cluster security group for Amazon Redshift. *

                    * * @param clusterSecurityGroups * A list of security groups to be associated with this cluster.

                    *

                    * Default: The default cluster security group for Amazon Redshift. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateClusterRequest withClusterSecurityGroups( java.util.Collection clusterSecurityGroups) { setClusterSecurityGroups(clusterSecurityGroups); return this; } /** *

                    * A list of Virtual Private Cloud (VPC) security groups to be associated * with the cluster. *

                    *

                    * Default: The default VPC security group is associated with the cluster. *

                    * * @return A list of Virtual Private Cloud (VPC) security groups to be * associated with the cluster.

                    *

                    * Default: The default VPC security group is associated with the * cluster. */ public java.util.List getVpcSecurityGroupIds() { if (vpcSecurityGroupIds == null) { vpcSecurityGroupIds = new com.amazonaws.internal.SdkInternalList(); } return vpcSecurityGroupIds; } /** *

                    * A list of Virtual Private Cloud (VPC) security groups to be associated * with the cluster. *

                    *

                    * Default: The default VPC security group is associated with the cluster. *

                    * * @param vpcSecurityGroupIds * A list of Virtual Private Cloud (VPC) security groups to be * associated with the cluster.

                    *

                    * Default: The default VPC security group is associated with the * cluster. */ public void setVpcSecurityGroupIds( java.util.Collection vpcSecurityGroupIds) { if (vpcSecurityGroupIds == null) { this.vpcSecurityGroupIds = null; return; } this.vpcSecurityGroupIds = new com.amazonaws.internal.SdkInternalList( vpcSecurityGroupIds); } /** *

                    * A list of Virtual Private Cloud (VPC) security groups to be associated * with the cluster. *

                    *

                    * Default: The default VPC security group is associated with the cluster. *

                    *

                    * NOTE: This method appends the values to the existing list (if * any). Use {@link #setVpcSecurityGroupIds(java.util.Collection)} or * {@link #withVpcSecurityGroupIds(java.util.Collection)} if you want to * override the existing values. *

                    * * @param vpcSecurityGroupIds * A list of Virtual Private Cloud (VPC) security groups to be * associated with the cluster.

                    *

                    * Default: The default VPC security group is associated with the * cluster. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateClusterRequest 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. *

                    *

                    * Default: The default VPC security group is associated with the cluster. *

                    * * @param vpcSecurityGroupIds * A list of Virtual Private Cloud (VPC) security groups to be * associated with the cluster.

                    *

                    * Default: The default VPC security group is associated with the * cluster. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateClusterRequest withVpcSecurityGroupIds( java.util.Collection vpcSecurityGroupIds) { setVpcSecurityGroupIds(vpcSecurityGroupIds); return this; } /** *

                    * The name of a cluster subnet group to be associated with this cluster. *

                    *

                    * If this parameter is not provided the resulting cluster will be deployed * outside virtual private cloud (VPC). *

                    * * @param clusterSubnetGroupName * The name of a cluster subnet group to be associated with this * cluster.

                    *

                    * If this parameter is not provided the resulting cluster will be * deployed outside virtual private cloud (VPC). */ public void setClusterSubnetGroupName(String clusterSubnetGroupName) { this.clusterSubnetGroupName = clusterSubnetGroupName; } /** *

                    * The name of a cluster subnet group to be associated with this cluster. *

                    *

                    * If this parameter is not provided the resulting cluster will be deployed * outside virtual private cloud (VPC). *

                    * * @return The name of a cluster subnet group to be associated with this * cluster.

                    *

                    * If this parameter is not provided the resulting cluster will be * deployed outside virtual private cloud (VPC). */ public String getClusterSubnetGroupName() { return this.clusterSubnetGroupName; } /** *

                    * The name of a cluster subnet group to be associated with this cluster. *

                    *

                    * If this parameter is not provided the resulting cluster will be deployed * outside virtual private cloud (VPC). *

                    * * @param clusterSubnetGroupName * The name of a cluster subnet group to be associated with this * cluster.

                    *

                    * If this parameter is not provided the resulting cluster will be * deployed outside virtual private cloud (VPC). * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateClusterRequest withClusterSubnetGroupName( String clusterSubnetGroupName) { setClusterSubnetGroupName(clusterSubnetGroupName); return this; } /** *

                    * The EC2 Availability Zone (AZ) in which you want Amazon Redshift to * provision the cluster. For example, if you have several EC2 instances * running in a specific Availability Zone, then you might want the cluster * to be provisioned in the same zone in order to decrease network latency. *

                    *

                    * Default: A random, system-chosen Availability Zone in the region that is * specified by the endpoint. *

                    *

                    * Example: us-east-1d *

                    *

                    * Constraint: The specified Availability Zone must be in the same region as * the current endpoint. *

                    * * @param availabilityZone * The EC2 Availability Zone (AZ) in which you want Amazon Redshift * to provision the cluster. For example, if you have several EC2 * instances running in a specific Availability Zone, then you might * want the cluster to be provisioned in the same zone in order to * decrease network latency.

                    *

                    * Default: A random, system-chosen Availability Zone in the region * that is specified by the endpoint. *

                    *

                    * Example: us-east-1d *

                    *

                    * Constraint: The specified Availability Zone must be in the same * region as the current endpoint. */ public void setAvailabilityZone(String availabilityZone) { this.availabilityZone = availabilityZone; } /** *

                    * The EC2 Availability Zone (AZ) in which you want Amazon Redshift to * provision the cluster. For example, if you have several EC2 instances * running in a specific Availability Zone, then you might want the cluster * to be provisioned in the same zone in order to decrease network latency. *

                    *

                    * Default: A random, system-chosen Availability Zone in the region that is * specified by the endpoint. *

                    *

                    * Example: us-east-1d *

                    *

                    * Constraint: The specified Availability Zone must be in the same region as * the current endpoint. *

                    * * @return The EC2 Availability Zone (AZ) in which you want Amazon Redshift * to provision the cluster. For example, if you have several EC2 * instances running in a specific Availability Zone, then you might * want the cluster to be provisioned in the same zone in order to * decrease network latency.

                    *

                    * Default: A random, system-chosen Availability Zone in the region * that is specified by the endpoint. *

                    *

                    * Example: us-east-1d *

                    *

                    * Constraint: The specified Availability Zone must be in the same * region as the current endpoint. */ public String getAvailabilityZone() { return this.availabilityZone; } /** *

                    * The EC2 Availability Zone (AZ) in which you want Amazon Redshift to * provision the cluster. For example, if you have several EC2 instances * running in a specific Availability Zone, then you might want the cluster * to be provisioned in the same zone in order to decrease network latency. *

                    *

                    * Default: A random, system-chosen Availability Zone in the region that is * specified by the endpoint. *

                    *

                    * Example: us-east-1d *

                    *

                    * Constraint: The specified Availability Zone must be in the same region as * the current endpoint. *

                    * * @param availabilityZone * The EC2 Availability Zone (AZ) in which you want Amazon Redshift * to provision the cluster. For example, if you have several EC2 * instances running in a specific Availability Zone, then you might * want the cluster to be provisioned in the same zone in order to * decrease network latency.

                    *

                    * Default: A random, system-chosen Availability Zone in the region * that is specified by the endpoint. *

                    *

                    * Example: us-east-1d *

                    *

                    * Constraint: The specified Availability Zone must be in the same * region as the current endpoint. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateClusterRequest withAvailabilityZone(String availabilityZone) { setAvailabilityZone(availabilityZone); return this; } /** *

                    * The weekly time range (in UTC) during which automated cluster maintenance * can occur. *

                    *

                    * Format: ddd:hh24:mi-ddd:hh24:mi *

                    *

                    * Default: A 30-minute window selected at random from an 8-hour block of * time per region, occurring on a random day of the week. For more * information about the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide. *

                    *

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

                    *

                    * Constraints: Minimum 30-minute window. *

                    * * @param preferredMaintenanceWindow * The weekly time range (in UTC) during which automated cluster * maintenance can occur.

                    *

                    * Format: ddd:hh24:mi-ddd:hh24:mi *

                    *

                    * Default: A 30-minute window selected at random from an 8-hour * block of time per region, occurring on a random day of the week. * For more information about the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management * Guide. *

                    *

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

                    *

                    * Constraints: Minimum 30-minute window. */ public void setPreferredMaintenanceWindow(String preferredMaintenanceWindow) { this.preferredMaintenanceWindow = preferredMaintenanceWindow; } /** *

                    * The weekly time range (in UTC) during which automated cluster maintenance * can occur. *

                    *

                    * Format: ddd:hh24:mi-ddd:hh24:mi *

                    *

                    * Default: A 30-minute window selected at random from an 8-hour block of * time per region, occurring on a random day of the week. For more * information about the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide. *

                    *

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

                    *

                    * Constraints: Minimum 30-minute window. *

                    * * @return The weekly time range (in UTC) during which automated cluster * maintenance can occur.

                    *

                    * Format: ddd:hh24:mi-ddd:hh24:mi *

                    *

                    * Default: A 30-minute window selected at random from an 8-hour * block of time per region, occurring on a random day of the week. * For more information about the time blocks for each region, see * Maintenance Windows in Amazon Redshift Cluster Management * Guide. *

                    *

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

                    *

                    * Constraints: Minimum 30-minute window. */ public String getPreferredMaintenanceWindow() { return this.preferredMaintenanceWindow; } /** *

                    * The weekly time range (in UTC) during which automated cluster maintenance * can occur. *

                    *

                    * Format: ddd:hh24:mi-ddd:hh24:mi *

                    *

                    * Default: A 30-minute window selected at random from an 8-hour block of * time per region, occurring on a random day of the week. For more * information about the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide. *

                    *

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

                    *

                    * Constraints: Minimum 30-minute window. *

                    * * @param preferredMaintenanceWindow * The weekly time range (in UTC) during which automated cluster * maintenance can occur.

                    *

                    * Format: ddd:hh24:mi-ddd:hh24:mi *

                    *

                    * Default: A 30-minute window selected at random from an 8-hour * block of time per region, occurring on a random day of the week. * For more information about the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management * Guide. *

                    *

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

                    *

                    * Constraints: Minimum 30-minute window. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateClusterRequest withPreferredMaintenanceWindow( String preferredMaintenanceWindow) { setPreferredMaintenanceWindow(preferredMaintenanceWindow); return this; } /** *

                    * The name of the parameter group to be associated with this cluster. *

                    *

                    * Default: The default Amazon Redshift cluster parameter group. For * information about the default parameter group, go to Working with Amazon Redshift Parameter Groups *

                    *

                    * 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 clusterParameterGroupName * The name of the parameter group to be associated with this * cluster.

                    *

                    * Default: The default Amazon Redshift cluster parameter group. For * information about the default parameter group, go to Working with Amazon Redshift Parameter Groups *

                    *

                    * 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 setClusterParameterGroupName(String clusterParameterGroupName) { this.clusterParameterGroupName = clusterParameterGroupName; } /** *

                      * The name of the parameter group to be associated with this cluster. *

                      *

                      * Default: The default Amazon Redshift cluster parameter group. For * information about the default parameter group, go to Working with Amazon Redshift Parameter Groups *

                      *

                      * 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 The name of the parameter group to be associated with this * cluster.

                      *

                      * Default: The default Amazon Redshift cluster parameter group. For * information about the default parameter group, go to Working with Amazon Redshift Parameter Groups *

                      *

                      * 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 String getClusterParameterGroupName() { return this.clusterParameterGroupName; } /** *

                        * The name of the parameter group to be associated with this cluster. *

                        *

                        * Default: The default Amazon Redshift cluster parameter group. For * information about the default parameter group, go to Working with Amazon Redshift Parameter Groups *

                        *

                        * 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 clusterParameterGroupName * The name of the parameter group to be associated with this * cluster.

                        *

                        * Default: The default Amazon Redshift cluster parameter group. For * information about the default parameter group, go to Working with Amazon Redshift Parameter Groups *

                        *

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

                          *

                          * Default: 1 *

                          *

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

                          *

                          * Default: 1 *

                          *

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

                          *

                          * Default: 1 *

                          *

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

                          *

                          * Default: 1 *

                          *

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

                          *

                          * Default: 1 *

                          *

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

                          *

                          * Default: 1 *

                          *

                          * 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 CreateClusterRequest withAutomatedSnapshotRetentionPeriod( Integer automatedSnapshotRetentionPeriod) { setAutomatedSnapshotRetentionPeriod(automatedSnapshotRetentionPeriod); return this; } /** *

                          * The port number on which the cluster accepts incoming connections. *

                          *

                          * The cluster is accessible only via the JDBC and ODBC connection strings. * Part of the connection string requires the port on which the cluster will * listen for incoming connections. *

                          *

                          * Default: 5439 *

                          *

                          * Valid Values: 1150-65535 *

                          * * @param port * The port number on which the cluster accepts incoming connections. *

                          *

                          * The cluster is accessible only via the JDBC and ODBC connection * strings. Part of the connection string requires the port on which * the cluster will listen for incoming connections. *

                          *

                          * Default: 5439 *

                          *

                          * Valid Values: 1150-65535 */ public void setPort(Integer port) { this.port = port; } /** *

                          * The port number on which the cluster accepts incoming connections. *

                          *

                          * The cluster is accessible only via the JDBC and ODBC connection strings. * Part of the connection string requires the port on which the cluster will * listen for incoming connections. *

                          *

                          * Default: 5439 *

                          *

                          * Valid Values: 1150-65535 *

                          * * @return The port number on which the cluster accepts incoming * connections.

                          *

                          * The cluster is accessible only via the JDBC and ODBC connection * strings. Part of the connection string requires the port on which * the cluster will listen for incoming connections. *

                          *

                          * Default: 5439 *

                          *

                          * Valid Values: 1150-65535 */ public Integer getPort() { return this.port; } /** *

                          * The port number on which the cluster accepts incoming connections. *

                          *

                          * The cluster is accessible only via the JDBC and ODBC connection strings. * Part of the connection string requires the port on which the cluster will * listen for incoming connections. *

                          *

                          * Default: 5439 *

                          *

                          * Valid Values: 1150-65535 *

                          * * @param port * The port number on which the cluster accepts incoming connections. *

                          *

                          * The cluster is accessible only via the JDBC and ODBC connection * strings. Part of the connection string requires the port on which * the cluster will listen for incoming connections. *

                          *

                          * Default: 5439 *

                          *

                          * Valid Values: 1150-65535 * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateClusterRequest withPort(Integer port) { setPort(port); return this; } /** *

                          * The version of the Amazon Redshift engine software that you want to * deploy on the cluster. *

                          *

                          * The version selected runs on all the nodes in the cluster. *

                          *

                          * Constraints: Only version 1.0 is currently available. *

                          *

                          * Example: 1.0 *

                          * * @param clusterVersion * The version of the Amazon Redshift engine software that you want * to deploy on the cluster.

                          *

                          * The version selected runs on all the nodes in the cluster. *

                          *

                          * Constraints: Only version 1.0 is currently available. *

                          *

                          * Example: 1.0 */ public void setClusterVersion(String clusterVersion) { this.clusterVersion = clusterVersion; } /** *

                          * The version of the Amazon Redshift engine software that you want to * deploy on the cluster. *

                          *

                          * The version selected runs on all the nodes in the cluster. *

                          *

                          * Constraints: Only version 1.0 is currently available. *

                          *

                          * Example: 1.0 *

                          * * @return The version of the Amazon Redshift engine software that you want * to deploy on the cluster.

                          *

                          * The version selected runs on all the nodes in the cluster. *

                          *

                          * Constraints: Only version 1.0 is currently available. *

                          *

                          * Example: 1.0 */ public String getClusterVersion() { return this.clusterVersion; } /** *

                          * The version of the Amazon Redshift engine software that you want to * deploy on the cluster. *

                          *

                          * The version selected runs on all the nodes in the cluster. *

                          *

                          * Constraints: Only version 1.0 is currently available. *

                          *

                          * Example: 1.0 *

                          * * @param clusterVersion * The version of the Amazon Redshift engine software that you want * to deploy on the cluster.

                          *

                          * The version selected runs on all the nodes in the cluster. *

                          *

                          * Constraints: Only version 1.0 is currently available. *

                          *

                          * Example: 1.0 * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateClusterRequest withClusterVersion(String clusterVersion) { setClusterVersion(clusterVersion); return this; } /** *

                          * If true, major version upgrades can be applied during the * maintenance window to the Amazon Redshift engine that is running on the * cluster. *

                          *

                          * When a new major version of the Amazon Redshift engine is released, you * can request that the service automatically apply upgrades during the * maintenance window to the Amazon Redshift engine that is running on your * cluster. *

                          *

                          * Default: true *

                          * * @param allowVersionUpgrade * If true, major version upgrades can be applied during * the maintenance window to the Amazon Redshift engine that is * running on the cluster.

                          *

                          * When a new major version of the Amazon Redshift engine is * released, you can request that the service automatically apply * upgrades during the maintenance window to the Amazon Redshift * engine that is running on your cluster. *

                          *

                          * Default: true */ public void setAllowVersionUpgrade(Boolean allowVersionUpgrade) { this.allowVersionUpgrade = allowVersionUpgrade; } /** *

                          * If true, major version upgrades can be applied during the * maintenance window to the Amazon Redshift engine that is running on the * cluster. *

                          *

                          * When a new major version of the Amazon Redshift engine is released, you * can request that the service automatically apply upgrades during the * maintenance window to the Amazon Redshift engine that is running on your * cluster. *

                          *

                          * Default: true *

                          * * @return If true, major version upgrades can be applied * during the maintenance window to the Amazon Redshift engine that * is running on the cluster.

                          *

                          * When a new major version of the Amazon Redshift engine is * released, you can request that the service automatically apply * upgrades during the maintenance window to the Amazon Redshift * engine that is running on your cluster. *

                          *

                          * Default: true */ public Boolean getAllowVersionUpgrade() { return this.allowVersionUpgrade; } /** *

                          * If true, major version upgrades can be applied during the * maintenance window to the Amazon Redshift engine that is running on the * cluster. *

                          *

                          * When a new major version of the Amazon Redshift engine is released, you * can request that the service automatically apply upgrades during the * maintenance window to the Amazon Redshift engine that is running on your * cluster. *

                          *

                          * Default: true *

                          * * @param allowVersionUpgrade * If true, major version upgrades can be applied during * the maintenance window to the Amazon Redshift engine that is * running on the cluster.

                          *

                          * When a new major version of the Amazon Redshift engine is * released, you can request that the service automatically apply * upgrades during the maintenance window to the Amazon Redshift * engine that is running on your cluster. *

                          *

                          * Default: true * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateClusterRequest withAllowVersionUpgrade( Boolean allowVersionUpgrade) { setAllowVersionUpgrade(allowVersionUpgrade); return this; } /** *

                          * If true, major version upgrades can be applied during the * maintenance window to the Amazon Redshift engine that is running on the * cluster. *

                          *

                          * When a new major version of the Amazon Redshift engine is released, you * can request that the service automatically apply upgrades during the * maintenance window to the Amazon Redshift engine that is running on your * cluster. *

                          *

                          * Default: true *

                          * * @return If true, major version upgrades can be applied * during the maintenance window to the Amazon Redshift engine that * is running on the cluster.

                          *

                          * When a new major version of the Amazon Redshift engine is * released, you can request that the service automatically apply * upgrades during the maintenance window to the Amazon Redshift * engine that is running on your cluster. *

                          *

                          * Default: true */ public Boolean isAllowVersionUpgrade() { return this.allowVersionUpgrade; } /** *

                          * The number of compute nodes in the cluster. This parameter is required * when the ClusterType parameter is specified as * multi-node. *

                          *

                          * For information about determining how many nodes you need, go to Working with Clusters in the Amazon Redshift Cluster Management * Guide. *

                          *

                          * If you don't specify this parameter, you get a single-node cluster. When * requesting a multi-node cluster, you must specify the number of nodes * that you want in the cluster. *

                          *

                          * Default: 1 *

                          *

                          * Constraints: Value must be at least 1 and no more than 100. *

                          * * @param numberOfNodes * The number of compute nodes in the cluster. This parameter is * required when the ClusterType parameter is specified as * multi-node.

                          *

                          * For information about determining how many nodes you need, go to * Working with Clusters in the Amazon Redshift Cluster * Management Guide. *

                          *

                          * If you don't specify this parameter, you get a single-node * cluster. When requesting a multi-node cluster, you must specify * the number of nodes that you want in the cluster. *

                          *

                          * Default: 1 *

                          *

                          * Constraints: Value must be at least 1 and no more than 100. */ public void setNumberOfNodes(Integer numberOfNodes) { this.numberOfNodes = numberOfNodes; } /** *

                          * The number of compute nodes in the cluster. This parameter is required * when the ClusterType parameter is specified as * multi-node. *

                          *

                          * For information about determining how many nodes you need, go to Working with Clusters in the Amazon Redshift Cluster Management * Guide. *

                          *

                          * If you don't specify this parameter, you get a single-node cluster. When * requesting a multi-node cluster, you must specify the number of nodes * that you want in the cluster. *

                          *

                          * Default: 1 *

                          *

                          * Constraints: Value must be at least 1 and no more than 100. *

                          * * @return The number of compute nodes in the cluster. This parameter is * required when the ClusterType parameter is specified as * multi-node.

                          *

                          * For information about determining how many nodes you need, go to * Working with Clusters in the Amazon Redshift Cluster * Management Guide. *

                          *

                          * If you don't specify this parameter, you get a single-node * cluster. When requesting a multi-node cluster, you must specify * the number of nodes that you want in the cluster. *

                          *

                          * Default: 1 *

                          *

                          * Constraints: Value must be at least 1 and no more than 100. */ public Integer getNumberOfNodes() { return this.numberOfNodes; } /** *

                          * The number of compute nodes in the cluster. This parameter is required * when the ClusterType parameter is specified as * multi-node. *

                          *

                          * For information about determining how many nodes you need, go to Working with Clusters in the Amazon Redshift Cluster Management * Guide. *

                          *

                          * If you don't specify this parameter, you get a single-node cluster. When * requesting a multi-node cluster, you must specify the number of nodes * that you want in the cluster. *

                          *

                          * Default: 1 *

                          *

                          * Constraints: Value must be at least 1 and no more than 100. *

                          * * @param numberOfNodes * The number of compute nodes in the cluster. This parameter is * required when the ClusterType parameter is specified as * multi-node.

                          *

                          * For information about determining how many nodes you need, go to * Working with Clusters in the Amazon Redshift Cluster * Management Guide. *

                          *

                          * If you don't specify this parameter, you get a single-node * cluster. When requesting a multi-node cluster, you must specify * the number of nodes that you want in the cluster. *

                          *

                          * Default: 1 *

                          *

                          * Constraints: Value must be at least 1 and no more than 100. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateClusterRequest withNumberOfNodes(Integer numberOfNodes) { setNumberOfNodes(numberOfNodes); return this; } /** *

                          * If true, the cluster can be accessed from a public network. *

                          * * @param publiclyAccessible * If true, the cluster can be accessed from a public * network. */ public void setPubliclyAccessible(Boolean publiclyAccessible) { this.publiclyAccessible = publiclyAccessible; } /** *

                          * If true, the cluster can be accessed from a public network. *

                          * * @return If true, the cluster can be accessed from a public * network. */ public Boolean getPubliclyAccessible() { return this.publiclyAccessible; } /** *

                          * If true, the cluster can be accessed from a public network. *

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

                          * If true, the cluster can be accessed from a public network. *

                          * * @return If true, the cluster can be accessed from a public * network. */ public Boolean isPubliclyAccessible() { return this.publiclyAccessible; } /** *

                          * If true, the data in the cluster is encrypted at rest. *

                          *

                          * Default: false *

                          * * @param encrypted * If true, the data in the cluster is encrypted at * rest.

                          *

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

                          * If true, the data in the cluster is encrypted at rest. *

                          *

                          * Default: false *

                          * * @return If true, the data in the cluster is encrypted at * rest.

                          *

                          * Default: false */ public Boolean getEncrypted() { return this.encrypted; } /** *

                          * If true, the data in the cluster is encrypted at rest. *

                          *

                          * Default: false *

                          * * @param encrypted * If true, the data in the cluster is encrypted at * rest.

                          *

                          * Default: false * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateClusterRequest withEncrypted(Boolean encrypted) { setEncrypted(encrypted); return this; } /** *

                          * If true, the data in the cluster is encrypted at rest. *

                          *

                          * Default: false *

                          * * @return If true, the data in the cluster is encrypted at * rest.

                          *

                          * Default: false */ public Boolean isEncrypted() { return this.encrypted; } /** *

                          * 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 CreateClusterRequest 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 CreateClusterRequest withHsmConfigurationIdentifier( String hsmConfigurationIdentifier) { setHsmConfigurationIdentifier(hsmConfigurationIdentifier); return this; } /** *

                          * 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 CreateClusterRequest withElasticIp(String elasticIp) { setElasticIp(elasticIp); return this; } /** *

                          * A list of tag instances. *

                          * * @return A list of tag instances. */ public java.util.List getTags() { if (tags == null) { tags = new com.amazonaws.internal.SdkInternalList(); } return tags; } /** *

                          * A list of tag instances. *

                          * * @param tags * A list of tag instances. */ public void setTags(java.util.Collection tags) { if (tags == null) { this.tags = null; return; } this.tags = new com.amazonaws.internal.SdkInternalList(tags); } /** *

                          * A list of tag instances. *

                          *

                          * NOTE: This method appends the values to the existing list (if * any). Use {@link #setTags(java.util.Collection)} or * {@link #withTags(java.util.Collection)} if you want to override the * existing values. *

                          * * @param tags * A list of tag instances. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateClusterRequest withTags(Tag... tags) { if (this.tags == null) { setTags(new com.amazonaws.internal.SdkInternalList(tags.length)); } for (Tag ele : tags) { this.tags.add(ele); } return this; } /** *

                          * A list of tag instances. *

                          * * @param tags * A list of tag instances. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateClusterRequest withTags(java.util.Collection tags) { setTags(tags); return this; } /** *

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

                          * * @param kmsKeyId * The AWS 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 AWS Key Management Service (KMS) key ID of the encryption key that * you want to use to encrypt data in the cluster. *

                          * * @return The AWS 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 AWS Key Management Service (KMS) key ID of the encryption key that * you want to use to encrypt data in the cluster. *

                          * * @param kmsKeyId * The AWS 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 CreateClusterRequest withKmsKeyId(String kmsKeyId) { setKmsKeyId(kmsKeyId); return this; } /** *

                          * Reserved. *

                          * * @param additionalInfo * Reserved. */ public void setAdditionalInfo(String additionalInfo) { this.additionalInfo = additionalInfo; } /** *

                          * Reserved. *

                          * * @return Reserved. */ public String getAdditionalInfo() { return this.additionalInfo; } /** *

                          * Reserved. *

                          * * @param additionalInfo * Reserved. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateClusterRequest withAdditionalInfo(String additionalInfo) { setAdditionalInfo(additionalInfo); return this; } /** *

                          * A list of AWS Identity and Access Management (IAM) roles that can be used * by the cluster to access other AWS services. You must supply the IAM * roles in their Amazon Resource Name (ARN) format. You can supply up to 10 * IAM roles in a single request. *

                          *

                          * A cluster can have up to 10 IAM roles associated at any time. *

                          * * @return A list of AWS Identity and Access Management (IAM) roles that can * be used by the cluster to access other AWS services. You must * supply the IAM roles in their Amazon Resource Name (ARN) format. * You can supply up to 10 IAM roles in a single request.

                          *

                          * A cluster can have up to 10 IAM roles associated at any time. */ public java.util.List getIamRoles() { if (iamRoles == null) { iamRoles = new com.amazonaws.internal.SdkInternalList(); } return iamRoles; } /** *

                          * A list of AWS Identity and Access Management (IAM) roles that can be used * by the cluster to access other AWS services. You must supply the IAM * roles in their Amazon Resource Name (ARN) format. You can supply up to 10 * IAM roles in a single request. *

                          *

                          * A cluster can have up to 10 IAM roles associated at any time. *

                          * * @param iamRoles * A list of AWS Identity and Access Management (IAM) roles that can * be used by the cluster to access other AWS services. You must * supply the IAM roles in their Amazon Resource Name (ARN) format. * You can supply up to 10 IAM roles in a single request.

                          *

                          * A cluster can have up to 10 IAM roles associated at any time. */ public void setIamRoles(java.util.Collection iamRoles) { if (iamRoles == null) { this.iamRoles = null; return; } this.iamRoles = new com.amazonaws.internal.SdkInternalList( iamRoles); } /** *

                          * A list of AWS Identity and Access Management (IAM) roles that can be used * by the cluster to access other AWS services. You must supply the IAM * roles in their Amazon Resource Name (ARN) format. You can supply up to 10 * IAM roles in a single request. *

                          *

                          * A cluster can have up to 10 IAM roles associated at any time. *

                          *

                          * NOTE: This method appends the values to the existing list (if * any). Use {@link #setIamRoles(java.util.Collection)} or * {@link #withIamRoles(java.util.Collection)} if you want to override the * existing values. *

                          * * @param iamRoles * A list of AWS Identity and Access Management (IAM) roles that can * be used by the cluster to access other AWS services. You must * supply the IAM roles in their Amazon Resource Name (ARN) format. * You can supply up to 10 IAM roles in a single request.

                          *

                          * A cluster can have up to 10 IAM roles associated at any time. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateClusterRequest withIamRoles(String... iamRoles) { if (this.iamRoles == null) { setIamRoles(new com.amazonaws.internal.SdkInternalList( iamRoles.length)); } for (String ele : iamRoles) { this.iamRoles.add(ele); } return this; } /** *

                          * A list of AWS Identity and Access Management (IAM) roles that can be used * by the cluster to access other AWS services. You must supply the IAM * roles in their Amazon Resource Name (ARN) format. You can supply up to 10 * IAM roles in a single request. *

                          *

                          * A cluster can have up to 10 IAM roles associated at any time. *

                          * * @param iamRoles * A list of AWS Identity and Access Management (IAM) roles that can * be used by the cluster to access other AWS services. You must * supply the IAM roles in their Amazon Resource Name (ARN) format. * You can supply up to 10 IAM roles in a single request.

                          *

                          * A cluster can have up to 10 IAM roles associated at any time. * @return Returns a reference to this object so that method calls can be * chained together. */ public CreateClusterRequest withIamRoles( java.util.Collection iamRoles) { setIamRoles(iamRoles); 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 (getDBName() != null) sb.append("DBName: " + getDBName() + ","); if (getClusterIdentifier() != null) sb.append("ClusterIdentifier: " + getClusterIdentifier() + ","); if (getClusterType() != null) sb.append("ClusterType: " + getClusterType() + ","); if (getNodeType() != null) sb.append("NodeType: " + getNodeType() + ","); if (getMasterUsername() != null) sb.append("MasterUsername: " + getMasterUsername() + ","); if (getMasterUserPassword() != null) sb.append("MasterUserPassword: " + getMasterUserPassword() + ","); if (getClusterSecurityGroups() != null) sb.append("ClusterSecurityGroups: " + getClusterSecurityGroups() + ","); if (getVpcSecurityGroupIds() != null) sb.append("VpcSecurityGroupIds: " + getVpcSecurityGroupIds() + ","); if (getClusterSubnetGroupName() != null) sb.append("ClusterSubnetGroupName: " + getClusterSubnetGroupName() + ","); if (getAvailabilityZone() != null) sb.append("AvailabilityZone: " + getAvailabilityZone() + ","); if (getPreferredMaintenanceWindow() != null) sb.append("PreferredMaintenanceWindow: " + getPreferredMaintenanceWindow() + ","); if (getClusterParameterGroupName() != null) sb.append("ClusterParameterGroupName: " + getClusterParameterGroupName() + ","); if (getAutomatedSnapshotRetentionPeriod() != null) sb.append("AutomatedSnapshotRetentionPeriod: " + getAutomatedSnapshotRetentionPeriod() + ","); if (getPort() != null) sb.append("Port: " + getPort() + ","); if (getClusterVersion() != null) sb.append("ClusterVersion: " + getClusterVersion() + ","); if (getAllowVersionUpgrade() != null) sb.append("AllowVersionUpgrade: " + getAllowVersionUpgrade() + ","); if (getNumberOfNodes() != null) sb.append("NumberOfNodes: " + getNumberOfNodes() + ","); if (getPubliclyAccessible() != null) sb.append("PubliclyAccessible: " + getPubliclyAccessible() + ","); if (getEncrypted() != null) sb.append("Encrypted: " + getEncrypted() + ","); if (getHsmClientCertificateIdentifier() != null) sb.append("HsmClientCertificateIdentifier: " + getHsmClientCertificateIdentifier() + ","); if (getHsmConfigurationIdentifier() != null) sb.append("HsmConfigurationIdentifier: " + getHsmConfigurationIdentifier() + ","); if (getElasticIp() != null) sb.append("ElasticIp: " + getElasticIp() + ","); if (getTags() != null) sb.append("Tags: " + getTags() + ","); if (getKmsKeyId() != null) sb.append("KmsKeyId: " + getKmsKeyId() + ","); if (getAdditionalInfo() != null) sb.append("AdditionalInfo: " + getAdditionalInfo() + ","); if (getIamRoles() != null) sb.append("IamRoles: " + getIamRoles()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CreateClusterRequest == false) return false; CreateClusterRequest other = (CreateClusterRequest) obj; if (other.getDBName() == null ^ this.getDBName() == null) return false; if (other.getDBName() != null && other.getDBName().equals(this.getDBName()) == false) return false; 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.getMasterUsername() == null ^ this.getMasterUsername() == null) return false; if (other.getMasterUsername() != null && other.getMasterUsername().equals(this.getMasterUsername()) == 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.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.getClusterSubnetGroupName() == null ^ this.getClusterSubnetGroupName() == null) return false; if (other.getClusterSubnetGroupName() != null && other.getClusterSubnetGroupName().equals( this.getClusterSubnetGroupName()) == 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.getPreferredMaintenanceWindow() == null ^ this.getPreferredMaintenanceWindow() == null) return false; if (other.getPreferredMaintenanceWindow() != null && other.getPreferredMaintenanceWindow().equals( this.getPreferredMaintenanceWindow()) == 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.getPort() == null ^ this.getPort() == null) return false; if (other.getPort() != null && other.getPort().equals(this.getPort()) == 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.getNumberOfNodes() == null ^ this.getNumberOfNodes() == null) return false; if (other.getNumberOfNodes() != null && other.getNumberOfNodes().equals(this.getNumberOfNodes()) == 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.getEncrypted() == null ^ this.getEncrypted() == null) return false; if (other.getEncrypted() != null && other.getEncrypted().equals(this.getEncrypted()) == 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.getElasticIp() == null ^ this.getElasticIp() == null) return false; if (other.getElasticIp() != null && other.getElasticIp().equals(this.getElasticIp()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == 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.getAdditionalInfo() == null ^ this.getAdditionalInfo() == null) return false; if (other.getAdditionalInfo() != null && other.getAdditionalInfo().equals(this.getAdditionalInfo()) == false) return false; if (other.getIamRoles() == null ^ this.getIamRoles() == null) return false; if (other.getIamRoles() != null && other.getIamRoles().equals(this.getIamRoles()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getDBName() == null) ? 0 : getDBName().hashCode()); 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 + ((getMasterUsername() == null) ? 0 : getMasterUsername() .hashCode()); hashCode = prime * hashCode + ((getMasterUserPassword() == null) ? 0 : getMasterUserPassword().hashCode()); hashCode = prime * hashCode + ((getClusterSecurityGroups() == null) ? 0 : getClusterSecurityGroups().hashCode()); hashCode = prime * hashCode + ((getVpcSecurityGroupIds() == null) ? 0 : getVpcSecurityGroupIds().hashCode()); hashCode = prime * hashCode + ((getClusterSubnetGroupName() == null) ? 0 : getClusterSubnetGroupName().hashCode()); hashCode = prime * hashCode + ((getAvailabilityZone() == null) ? 0 : getAvailabilityZone() .hashCode()); hashCode = prime * hashCode + ((getPreferredMaintenanceWindow() == null) ? 0 : getPreferredMaintenanceWindow().hashCode()); hashCode = prime * hashCode + ((getClusterParameterGroupName() == null) ? 0 : getClusterParameterGroupName().hashCode()); hashCode = prime * hashCode + ((getAutomatedSnapshotRetentionPeriod() == null) ? 0 : getAutomatedSnapshotRetentionPeriod().hashCode()); hashCode = prime * hashCode + ((getPort() == null) ? 0 : getPort().hashCode()); hashCode = prime * hashCode + ((getClusterVersion() == null) ? 0 : getClusterVersion() .hashCode()); hashCode = prime * hashCode + ((getAllowVersionUpgrade() == null) ? 0 : getAllowVersionUpgrade().hashCode()); hashCode = prime * hashCode + ((getNumberOfNodes() == null) ? 0 : getNumberOfNodes() .hashCode()); hashCode = prime * hashCode + ((getPubliclyAccessible() == null) ? 0 : getPubliclyAccessible().hashCode()); hashCode = prime * hashCode + ((getEncrypted() == null) ? 0 : getEncrypted().hashCode()); hashCode = prime * hashCode + ((getHsmClientCertificateIdentifier() == null) ? 0 : getHsmClientCertificateIdentifier().hashCode()); hashCode = prime * hashCode + ((getHsmConfigurationIdentifier() == null) ? 0 : getHsmConfigurationIdentifier().hashCode()); hashCode = prime * hashCode + ((getElasticIp() == null) ? 0 : getElasticIp().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getKmsKeyId() == null) ? 0 : getKmsKeyId().hashCode()); hashCode = prime * hashCode + ((getAdditionalInfo() == null) ? 0 : getAdditionalInfo() .hashCode()); hashCode = prime * hashCode + ((getIamRoles() == null) ? 0 : getIamRoles().hashCode()); return hashCode; } @Override public CreateClusterRequest clone() { return (CreateClusterRequest) super.clone(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy