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

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

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

import java.io.Serializable;

import com.amazonaws.AmazonWebServiceRequest;

/**
 * Container for the parameters to the {@link com.amazonaws.services.redshift.AmazonRedshift#createCluster(CreateClusterRequest) CreateCluster operation}.
 * 

* Creates a new cluster. To create the cluster in virtual private cloud * (VPC), you must provide cluster subnet group name. If you don't * provide a cluster subnet group name or the cluster security group * parameter, Amazon Redshift creates a non-VPC cluster, it associates * the default cluster security group with the cluster. For more * information about managing clusters, go to * Amazon Redshift Clusters * in the Amazon Redshift Management Guide . * *

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

Valid Values: dw1.xlarge | * dw1.8xlarge | dw2.large | * dw2.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.ListWithAutoConstructFlag 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.ListWithAutoConstructFlag 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. The following list shows the time blocks * for each region from which the default maintenance windows are * assigned.

  • US-East (Northern Virginia) Region: * 03:00-11:00 UTC
  • US-West (Oregon) Region 06:00-14:00 * UTC
  • EU (Ireland) Region 22:00-06:00 UTC
  • *
  • Asia Pacific (Singapore) Region 14:00-22:00 UTC
  • *
  • Asia Pacific (Sydney) Region 12:00-20:00 UTC
  • *
  • Asia Pacific (Tokyo) Region 17:00-03:00 UTC
*

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, upgrades can be applied during the maintenance * window to the Amazon Redshift engine that is running on the cluster. *

When a new 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 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 Management * Guide. */ private String elasticIp; /** * 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 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.
*/ 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.
*

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

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

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

Valid Values: dw1.xlarge | * dw1.8xlarge | dw2.large | * dw2.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 Management * Guide.

Valid Values: dw1.xlarge | * dw1.8xlarge | dw2.large | * dw2.8xlarge. */ public String getNodeType() { return nodeType; } /** * The node type to be provisioned for the cluster. For information about * node types, go to * Working with Clusters in the Amazon Redshift Management * Guide.

Valid Values: dw1.xlarge | * dw1.8xlarge | dw2.large | * dw2.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 Management * Guide.

Valid Values: dw1.xlarge | * dw1.8xlarge | dw2.large | * dw2.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 Management * Guide.

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

* Returns a reference to this object so that method calls can be chained together. * * @param nodeType The node type to be provisioned for the cluster. For information about * node types, go to * Working with Clusters in the Amazon Redshift Management * Guide.

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

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

* Returns a reference to this object so that method calls can be chained together. * * @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 A reference to this updated object so that method calls can be chained * together. */ public CreateClusterRequest withMasterUserPassword(String masterUserPassword) { this.masterUserPassword = 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.ListWithAutoConstructFlag(); clusterSecurityGroups.setAutoConstruct(true); } 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; } com.amazonaws.internal.ListWithAutoConstructFlag clusterSecurityGroupsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(clusterSecurityGroups.size()); clusterSecurityGroupsCopy.addAll(clusterSecurityGroups); this.clusterSecurityGroups = clusterSecurityGroupsCopy; } /** * A list of security groups to be associated with this cluster.

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

* Returns a reference to this object so that method calls can be chained together. * * @param clusterSecurityGroups A list of security groups to be associated with this cluster.

* Default: The default cluster security group for Amazon Redshift. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateClusterRequest withClusterSecurityGroups(String... clusterSecurityGroups) { if (getClusterSecurityGroups() == null) setClusterSecurityGroups(new java.util.ArrayList(clusterSecurityGroups.length)); for (String value : clusterSecurityGroups) { getClusterSecurityGroups().add(value); } return this; } /** * A list of security groups to be associated with this cluster.

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

* Returns a reference to this object so that method calls can be chained together. * * @param clusterSecurityGroups A list of security groups to be associated with this cluster.

* Default: The default cluster security group for Amazon Redshift. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateClusterRequest withClusterSecurityGroups(java.util.Collection clusterSecurityGroups) { if (clusterSecurityGroups == null) { this.clusterSecurityGroups = null; } else { com.amazonaws.internal.ListWithAutoConstructFlag clusterSecurityGroupsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(clusterSecurityGroups.size()); clusterSecurityGroupsCopy.addAll(clusterSecurityGroups); this.clusterSecurityGroups = clusterSecurityGroupsCopy; } return this; } /** * A list of Virtual Private Cloud (VPC) security groups to be associated * with the cluster.

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.ListWithAutoConstructFlag(); vpcSecurityGroupIds.setAutoConstruct(true); } 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; } com.amazonaws.internal.ListWithAutoConstructFlag vpcSecurityGroupIdsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(vpcSecurityGroupIds.size()); vpcSecurityGroupIdsCopy.addAll(vpcSecurityGroupIds); this.vpcSecurityGroupIds = vpcSecurityGroupIdsCopy; } /** * A list of Virtual Private Cloud (VPC) security groups to be associated * with the cluster.

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

* Returns a reference to this object so that method calls can be chained together. * * @param vpcSecurityGroupIds A list of Virtual Private Cloud (VPC) security groups to be associated * with the cluster.

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

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

* Returns a reference to this object so that method calls can be chained together. * * @param vpcSecurityGroupIds A list of Virtual Private Cloud (VPC) security groups to be associated * with the cluster.

Default: The default VPC security group is * associated with the cluster. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateClusterRequest withVpcSecurityGroupIds(java.util.Collection vpcSecurityGroupIds) { if (vpcSecurityGroupIds == null) { this.vpcSecurityGroupIds = null; } else { com.amazonaws.internal.ListWithAutoConstructFlag vpcSecurityGroupIdsCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(vpcSecurityGroupIds.size()); vpcSecurityGroupIdsCopy.addAll(vpcSecurityGroupIds); this.vpcSecurityGroupIds = vpcSecurityGroupIdsCopy; } return this; } /** * The 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 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). */ 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). *

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

* Returns a reference to this object so that method calls can be chained together. * * @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 A reference to this updated object so that method calls can be chained * together. */ public CreateClusterRequest withAvailabilityZone(String availabilityZone) { this.availabilityZone = 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. The following list shows the time blocks * for each region from which the default maintenance windows are * assigned.

  • US-East (Northern Virginia) Region: * 03:00-11:00 UTC
  • US-West (Oregon) Region 06:00-14:00 * UTC
  • EU (Ireland) Region 22:00-06:00 UTC
  • *
  • Asia Pacific (Singapore) Region 14:00-22:00 UTC
  • *
  • Asia Pacific (Sydney) Region 12:00-20:00 UTC
  • *
  • Asia Pacific (Tokyo) Region 17:00-03:00 UTC
*

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. The following list shows the time blocks * for each region from which the default maintenance windows are * assigned.

  • US-East (Northern Virginia) Region: * 03:00-11:00 UTC
  • US-West (Oregon) Region 06:00-14:00 * UTC
  • EU (Ireland) Region 22:00-06:00 UTC
  • *
  • Asia Pacific (Singapore) Region 14:00-22:00 UTC
  • *
  • Asia Pacific (Sydney) Region 12:00-20:00 UTC
  • *
  • Asia Pacific (Tokyo) Region 17:00-03:00 UTC
*

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

Constraints: * Minimum 30-minute window. */ public String getPreferredMaintenanceWindow() { return 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. The following list shows the time blocks * for each region from which the default maintenance windows are * assigned.

  • US-East (Northern Virginia) Region: * 03:00-11:00 UTC
  • US-West (Oregon) Region 06:00-14:00 * UTC
  • EU (Ireland) Region 22:00-06:00 UTC
  • *
  • Asia Pacific (Singapore) Region 14:00-22:00 UTC
  • *
  • Asia Pacific (Sydney) Region 12:00-20:00 UTC
  • *
  • Asia Pacific (Tokyo) Region 17:00-03:00 UTC
*

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. The following list shows the time blocks * for each region from which the default maintenance windows are * assigned.

  • US-East (Northern Virginia) Region: * 03:00-11:00 UTC
  • US-West (Oregon) Region 06:00-14:00 * UTC
  • EU (Ireland) Region 22:00-06:00 UTC
  • *
  • Asia Pacific (Singapore) Region 14:00-22:00 UTC
  • *
  • Asia Pacific (Sydney) Region 12:00-20:00 UTC
  • *
  • Asia Pacific (Tokyo) Region 17:00-03:00 UTC
*

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. The following list shows the time blocks * for each region from which the default maintenance windows are * assigned.

  • US-East (Northern Virginia) Region: * 03:00-11:00 UTC
  • US-West (Oregon) Region 06:00-14:00 * UTC
  • EU (Ireland) Region 22:00-06:00 UTC
  • *
  • Asia Pacific (Singapore) Region 14:00-22:00 UTC
  • *
  • Asia Pacific (Sydney) Region 12:00-20:00 UTC
  • *
  • Asia Pacific (Tokyo) Region 17:00-03:00 UTC
*

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

Constraints: * Minimum 30-minute window. *

* Returns a reference to this object so that method calls can be chained together. * * @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. The following list shows the time blocks * for each region from which the default maintenance windows are * assigned.

  • US-East (Northern Virginia) Region: * 03:00-11:00 UTC
  • US-West (Oregon) Region 06:00-14:00 * UTC
  • EU (Ireland) Region 22:00-06:00 UTC
  • *
  • Asia Pacific (Singapore) Region 14:00-22:00 UTC
  • *
  • Asia Pacific (Sydney) Region 12:00-20:00 UTC
  • *
  • Asia Pacific (Tokyo) Region 17:00-03:00 UTC
*

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

Constraints: * Minimum 30-minute window. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateClusterRequest withPreferredMaintenanceWindow(String preferredMaintenanceWindow) { this.preferredMaintenanceWindow = 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.
* * @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 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.
*/ 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.
*

* Returns a reference to this object so that method calls can be chained together. * * @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 A reference to this updated object so that method calls can be chained * together. */ public CreateClusterRequest withClusterParameterGroupName(String clusterParameterGroupName) { this.clusterParameterGroupName = clusterParameterGroupName; return this; } /** * The number of days that automated snapshots are retained. If the value * is 0, automated snapshots are disabled. Even if automated snapshots * are disabled, you can still create manual snapshots when you want with * CreateClusterSnapshot.

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

* Returns a reference to this object so that method calls can be chained together. * * @param automatedSnapshotRetentionPeriod The number of days that automated snapshots are retained. If the value * is 0, automated snapshots are disabled. Even if automated snapshots * are disabled, you can still create manual snapshots when you want with * CreateClusterSnapshot.

Default: 1 *

Constraints: Must be a value from 0 to 35. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateClusterRequest withAutomatedSnapshotRetentionPeriod(Integer automatedSnapshotRetentionPeriod) { this.automatedSnapshotRetentionPeriod = 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 * * @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 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 */ 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 *

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

* Returns a reference to this object so that method calls can be chained together. * * @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 A reference to this updated object so that method calls can be chained * together. */ public CreateClusterRequest withClusterVersion(String clusterVersion) { this.clusterVersion = clusterVersion; return this; } /** * If true, upgrades can be applied during the maintenance * window to the Amazon Redshift engine that is running on the cluster. *

When a new 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, upgrades can be applied during the maintenance * window to the Amazon Redshift engine that is running on the cluster. *

When a new 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 allowVersionUpgrade; } /** * If true, upgrades can be applied during the maintenance * window to the Amazon Redshift engine that is running on the cluster. *

When a new 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, upgrades can be applied during the maintenance * window to the Amazon Redshift engine that is running on the cluster. *

When a new 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, upgrades can be applied during the maintenance * window to the Amazon Redshift engine that is running on the cluster. *

When a new 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 *

* Returns a reference to this object so that method calls can be chained together. * * @param allowVersionUpgrade If true, upgrades can be applied during the maintenance * window to the Amazon Redshift engine that is running on the cluster. *

When a new 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 A reference to this updated object so that method calls can be chained * together. */ public CreateClusterRequest withAllowVersionUpgrade(Boolean allowVersionUpgrade) { this.allowVersionUpgrade = allowVersionUpgrade; return this; } /** * If true, upgrades can be applied during the maintenance * window to the Amazon Redshift engine that is running on the cluster. *

When a new 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, upgrades can be applied during the maintenance * window to the Amazon Redshift engine that is running on the cluster. *

When a new 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 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 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 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 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 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 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 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. *

* Returns a reference to this object so that method calls can be chained together. * * @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 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 A reference to this updated object so that method calls can be chained * together. */ public CreateClusterRequest withNumberOfNodes(Integer numberOfNodes) { this.numberOfNodes = numberOfNodes; 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 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. */ public void setPubliclyAccessible(Boolean publiclyAccessible) { this.publiclyAccessible = publiclyAccessible; } /** * If true, the cluster can be accessed from a public * network. *

* Returns a reference to this object so that method calls can be chained together. * * @param publiclyAccessible If true, the cluster can be accessed from a public * network. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateClusterRequest withPubliclyAccessible(Boolean publiclyAccessible) { this.publiclyAccessible = 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 getPubliclyAccessible() { return publiclyAccessible; } /** * 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 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 */ public void setEncrypted(Boolean encrypted) { this.encrypted = encrypted; } /** * If true, the data in the cluster is encrypted at rest. *

Default: false *

* Returns a reference to this object so that method calls can be chained together. * * @param encrypted If true, the data in the cluster is encrypted at rest. *

Default: false * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateClusterRequest withEncrypted(Boolean encrypted) { this.encrypted = 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 getEncrypted() { return encrypted; } /** * Specifies the name of the HSM client certificate the Amazon Redshift * cluster uses to retrieve the data encryption keys stored in an HSM. * * @return Specifies the name of the HSM client certificate the Amazon Redshift * cluster uses to retrieve the data encryption keys stored in an HSM. */ public String getHsmClientCertificateIdentifier() { return hsmClientCertificateIdentifier; } /** * Specifies the name of the HSM client certificate the Amazon Redshift * cluster uses to retrieve the data encryption keys stored in an HSM. * * @param hsmClientCertificateIdentifier Specifies the name of the HSM client certificate the Amazon Redshift * cluster uses to retrieve the data encryption keys stored in an HSM. */ public void setHsmClientCertificateIdentifier(String hsmClientCertificateIdentifier) { this.hsmClientCertificateIdentifier = hsmClientCertificateIdentifier; } /** * Specifies the name of the HSM client certificate the Amazon Redshift * cluster uses to retrieve the data encryption keys stored in an HSM. *

* Returns a reference to this object so that method calls can be chained together. * * @param hsmClientCertificateIdentifier Specifies the name of the HSM client certificate the Amazon Redshift * cluster uses to retrieve the data encryption keys stored in an HSM. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateClusterRequest withHsmClientCertificateIdentifier(String hsmClientCertificateIdentifier) { this.hsmClientCertificateIdentifier = hsmClientCertificateIdentifier; return this; } /** * Specifies the name of the HSM configuration that contains the * information the Amazon Redshift cluster can use to retrieve and store * keys in an HSM. * * @return Specifies the name of the HSM configuration that contains the * information the Amazon Redshift cluster can use to retrieve and store * keys in an HSM. */ public String getHsmConfigurationIdentifier() { return hsmConfigurationIdentifier; } /** * Specifies the name of the HSM configuration that contains the * information the Amazon Redshift cluster can use to retrieve and store * keys in an HSM. * * @param hsmConfigurationIdentifier Specifies the name of the HSM configuration that contains the * information the Amazon Redshift cluster can use to retrieve and store * keys in an HSM. */ public void setHsmConfigurationIdentifier(String hsmConfigurationIdentifier) { this.hsmConfigurationIdentifier = hsmConfigurationIdentifier; } /** * Specifies the name of the HSM configuration that contains the * information the Amazon Redshift cluster can use to retrieve and store * keys in an HSM. *

* Returns a reference to this object so that method calls can be chained together. * * @param hsmConfigurationIdentifier Specifies the name of the HSM configuration that contains the * information the Amazon Redshift cluster can use to retrieve and store * keys in an HSM. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateClusterRequest withHsmConfigurationIdentifier(String hsmConfigurationIdentifier) { this.hsmConfigurationIdentifier = 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 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 Management * Guide. */ public String getElasticIp() { return 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 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 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 Management * Guide. *

* Returns a reference to this object so that method calls can be chained together. * * @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 Management * Guide. * * @return A reference to this updated object so that method calls can be chained * together. */ public CreateClusterRequest withElasticIp(String elasticIp) { this.elasticIp = elasticIp; return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (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 (isAllowVersionUpgrade() != null) sb.append("AllowVersionUpgrade: " + isAllowVersionUpgrade() + ","); if (getNumberOfNodes() != null) sb.append("NumberOfNodes: " + getNumberOfNodes() + ","); if (isPubliclyAccessible() != null) sb.append("PubliclyAccessible: " + isPubliclyAccessible() + ","); if (isEncrypted() != null) sb.append("Encrypted: " + isEncrypted() + ","); if (getHsmClientCertificateIdentifier() != null) sb.append("HsmClientCertificateIdentifier: " + getHsmClientCertificateIdentifier() + ","); if (getHsmConfigurationIdentifier() != null) sb.append("HsmConfigurationIdentifier: " + getHsmConfigurationIdentifier() + ","); if (getElasticIp() != null) sb.append("ElasticIp: " + getElasticIp() ); sb.append("}"); return sb.toString(); } @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 + ((isAllowVersionUpgrade() == null) ? 0 : isAllowVersionUpgrade().hashCode()); hashCode = prime * hashCode + ((getNumberOfNodes() == null) ? 0 : getNumberOfNodes().hashCode()); hashCode = prime * hashCode + ((isPubliclyAccessible() == null) ? 0 : isPubliclyAccessible().hashCode()); hashCode = prime * hashCode + ((isEncrypted() == null) ? 0 : isEncrypted().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()); return hashCode; } @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.isAllowVersionUpgrade() == null ^ this.isAllowVersionUpgrade() == null) return false; if (other.isAllowVersionUpgrade() != null && other.isAllowVersionUpgrade().equals(this.isAllowVersionUpgrade()) == 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.isPubliclyAccessible() == null ^ this.isPubliclyAccessible() == null) return false; if (other.isPubliclyAccessible() != null && other.isPubliclyAccessible().equals(this.isPubliclyAccessible()) == false) return false; if (other.isEncrypted() == null ^ this.isEncrypted() == null) return false; if (other.isEncrypted() != null && other.isEncrypted().equals(this.isEncrypted()) == 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; return true; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy