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

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

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

/**
 * 

*/ public class 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