/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.redshift.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateClusterRequest extends com.amazonaws.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. *
** 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 Amazon Web Services account. *
*
* Example: myexamplecluster
*
* 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
*
* 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: ds2.xlarge
| ds2.8xlarge
| dc1.large
|
* dc1.8xlarge
| dc2.large
| dc2.8xlarge
| ra3.xlplus
|
* ra3.4xlarge
| ra3.16xlarge
*
* The user name associated with the admin user account for the cluster that is being created. *
** Constraints: *
*
* Must be 1 - 128 alphanumeric characters or hyphens. The user name can't be PUBLIC
.
*
* Must contain only lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen. *
** The first character must be a letter. *
** Must not contain a colon (:) or a slash (/). *
** Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon * Redshift Database Developer Guide. *
** The password associated with the admin 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-126) except '
(single quote), "
* (double quote), \
, /
, or @
.
*
* 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* 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* 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-2d
*
* 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. *
** 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. *
** You can't disable automated snapshots for RA3 node types. Set the automated retention period from 1-35 days. *
*
* Default: 1
*
* Constraints: Must be a value from 0 to 35. *
*/ private Integer automatedSnapshotRetentionPeriod; /** ** The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained * indefinitely. This setting doesn't change the retention period of existing snapshots. *
** The value must be either -1 or an integer between 1 and 3,653. *
*/ private Integer manualSnapshotRetentionPeriod; /** ** 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
*
* 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
*
* 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
*
* 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.
*
* 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. * Don't specify the Elastic IP address for a publicly accessible cluster with availability zone relocation turned * on. 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* The Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the * cluster. *
*/ private String kmsKeyId; /** ** An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster * that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the * Amazon Redshift Cluster Management Guide. *
*
* If this option is true
, enhanced VPC routing is enabled.
*
* Default: false *
*/ private Boolean enhancedVpcRouting; /** ** Reserved. *
*/ private String additionalInfo; /** ** A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other Amazon Web * Services services. You must supply the IAM roles in their Amazon Resource Name (ARN) format. *
** The maximum number of IAM roles that you can associate is subject to a quota. For more information, go to Quotas and limits in the * Amazon Redshift Cluster Management Guide. *
*/ private com.amazonaws.internal.SdkInternalList
* An optional parameter for the name of the maintenance track for the cluster. If you don't provide a maintenance
* track name, the cluster is assigned to the current
track.
*
* A unique identifier for the snapshot schedule. *
*/ private String snapshotScheduleIdentifier; /** ** The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is * created. *
*/ private Boolean availabilityZoneRelocation; /** ** This parameter is retired. It does not set the AQUA configuration status. Amazon Redshift automatically * determines whether to use AQUA (Advanced Query Accelerator). *
*/ private String aquaConfigurationStatus; /** ** The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was * created. *
*/ private String defaultIamRoleArn; /** ** A flag that specifies whether to load sample data once the cluster is created. *
*/ private String loadSampleData; /** ** 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. *
** 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. *
** 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. *
** 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. *
** 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. *
** 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. *
** 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 Amazon Web Services account. *
*
* Example: myexamplecluster
*
* Constraints: *
** Must contain from 1 to 63 alphanumeric characters or hyphens. *
** Alphabetic characters must be lowercase. *
** First character must be a letter. *
** Cannot end with a hyphen or contain two consecutive hyphens. *
** Must be unique for all clusters within an Amazon Web Services account. *
*
* Example: 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 Amazon Web Services account. *
*
* Example: myexamplecluster
*
* Constraints: *
** Must contain from 1 to 63 alphanumeric characters or hyphens. *
** Alphabetic characters must be lowercase. *
** First character must be a letter. *
** Cannot end with a hyphen or contain two consecutive hyphens. *
** Must be unique for all clusters within an Amazon Web Services account. *
*
* Example: 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 Amazon Web Services account. *
*
* Example: myexamplecluster
*
* Constraints: *
** Must contain from 1 to 63 alphanumeric characters or hyphens. *
** Alphabetic characters must be lowercase. *
** First character must be a letter. *
** Cannot end with a hyphen or contain two consecutive hyphens. *
** Must be unique for all clusters within an Amazon Web Services account. *
*
* Example: 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
*
* 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
*
* 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
*
* 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: ds2.xlarge
| ds2.8xlarge
| dc1.large
|
* dc1.8xlarge
| dc2.large
| dc2.8xlarge
| ra3.xlplus
|
* ra3.4xlarge
| ra3.16xlarge
*
* Valid Values: ds2.xlarge
| ds2.8xlarge
| dc1.large
|
* dc1.8xlarge
| dc2.large
| dc2.8xlarge
| ra3.xlplus
|
* ra3.4xlarge
| ra3.16xlarge
*/
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: ds2.xlarge
| ds2.8xlarge
| dc1.large
|
* dc1.8xlarge
| dc2.large
| dc2.8xlarge
| ra3.xlplus
|
* ra3.4xlarge
| ra3.16xlarge
*
* Valid Values: ds2.xlarge
| ds2.8xlarge
| dc1.large
|
* dc1.8xlarge
| dc2.large
| dc2.8xlarge
| ra3.xlplus
|
* ra3.4xlarge
| ra3.16xlarge
*/
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: ds2.xlarge
| ds2.8xlarge
| dc1.large
|
* dc1.8xlarge
| dc2.large
| dc2.8xlarge
| ra3.xlplus
|
* ra3.4xlarge
| ra3.16xlarge
*
* Valid Values: ds2.xlarge
| ds2.8xlarge
| dc1.large
|
* dc1.8xlarge
| dc2.large
| dc2.8xlarge
| ra3.xlplus
|
* ra3.4xlarge
| ra3.16xlarge
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateClusterRequest withNodeType(String nodeType) {
setNodeType(nodeType);
return this;
}
/**
*
* The user name associated with the admin user account for the cluster that is being created. *
** Constraints: *
*
* Must be 1 - 128 alphanumeric characters or hyphens. The user name can't be PUBLIC
.
*
* Must contain only lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen. *
** The first character must be a letter. *
** Must not contain a colon (:) or a slash (/). *
** Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon * Redshift Database Developer Guide. *
** Constraints: *
*
* Must be 1 - 128 alphanumeric characters or hyphens. The user name can't be PUBLIC
.
*
* Must contain only lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or * hyphen. *
** The first character must be a letter. *
** Must not contain a colon (:) or a slash (/). *
** Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon * Redshift Database Developer Guide. *
** The user name associated with the admin user account for the cluster that is being created. *
** Constraints: *
*
* Must be 1 - 128 alphanumeric characters or hyphens. The user name can't be PUBLIC
.
*
* Must contain only lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen. *
** The first character must be a letter. *
** Must not contain a colon (:) or a slash (/). *
** Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon * Redshift Database Developer Guide. *
** Constraints: *
*
* Must be 1 - 128 alphanumeric characters or hyphens. The user name can't be PUBLIC
.
*
* Must contain only lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or * hyphen. *
** The first character must be a letter. *
** Must not contain a colon (:) or a slash (/). *
** Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon * Redshift Database Developer Guide. *
** The user name associated with the admin user account for the cluster that is being created. *
** Constraints: *
*
* Must be 1 - 128 alphanumeric characters or hyphens. The user name can't be PUBLIC
.
*
* Must contain only lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen. *
** The first character must be a letter. *
** Must not contain a colon (:) or a slash (/). *
** Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon * Redshift Database Developer Guide. *
** Constraints: *
*
* Must be 1 - 128 alphanumeric characters or hyphens. The user name can't be PUBLIC
.
*
* Must contain only lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or * hyphen. *
** The first character must be a letter. *
** Must not contain a colon (:) or a slash (/). *
** Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon * Redshift Database Developer Guide. *
** The password associated with the admin 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-126) except '
(single quote), "
* (double quote), \
, /
, or @
.
*
* Constraints: *
** Must be between 8 and 64 characters in length. *
** Must contain at least one uppercase letter. *
** Must contain at least one lowercase letter. *
** Must contain one number. *
*
* Can be any printable ASCII character (ASCII code 33-126) except '
(single quote),
* "
(double quote), \
, /
, or @
.
*
* The password associated with the admin 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-126) except '
(single quote), "
* (double quote), \
, /
, or @
.
*
* Constraints: *
** Must be between 8 and 64 characters in length. *
** Must contain at least one uppercase letter. *
** Must contain at least one lowercase letter. *
** Must contain one number. *
*
* Can be any printable ASCII character (ASCII code 33-126) except '
(single quote),
* "
(double quote), \
, /
, or @
.
*
* The password associated with the admin 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-126) except '
(single quote), "
* (double quote), \
, /
, or @
.
*
* Constraints: *
** Must be between 8 and 64 characters in length. *
** Must contain at least one uppercase letter. *
** Must contain at least one lowercase letter. *
** Must contain one number. *
*
* Can be any printable ASCII character (ASCII code 33-126) except '
(single quote),
* "
(double quote), \
, /
, or @
.
*
* 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
* A list of security groups to be associated with this cluster.
*
* Default: The default cluster security group for Amazon Redshift.
*
* Default: The default cluster security group for Amazon Redshift.
*/
public void setClusterSecurityGroups(java.util.Collection
* 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.
*
* 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
* A list of security groups to be associated with this cluster.
*
* Default: The default cluster security group for Amazon Redshift.
*
* 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
* 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.
*
* Default: The default VPC security group is associated with the cluster.
*/
public java.util.List
* 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.
*
* Default: The default VPC security group is associated with the cluster.
*/
public void setVpcSecurityGroupIds(java.util.Collection
* 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.
*
* 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
* 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.
*
* 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
* 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).
*
* 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-2d
*
* 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-2d
*
* 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-2d
*
* 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-2d
*
* 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-2d
*
* 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-2d
*
* 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. *
** 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. *
** 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. *
** 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. *
** 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. *
** 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. *
** 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. *
** You can't disable automated snapshots for RA3 node types. Set the automated retention period from 1-35 days. *
*
* 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. ** You can't disable automated snapshots for RA3 node types. Set the automated retention period from 1-35 * days. *
*
* 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. *
** You can't disable automated snapshots for RA3 node types. Set the automated retention period from 1-35 days. *
*
* 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. ** You can't disable automated snapshots for RA3 node types. Set the automated retention period from 1-35 * days. *
*
* 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. *
** You can't disable automated snapshots for RA3 node types. Set the automated retention period from 1-35 days. *
*
* 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. ** You can't disable automated snapshots for RA3 node types. Set the automated retention period from 1-35 * days. *
*
* 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 default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained * indefinitely. This setting doesn't change the retention period of existing snapshots. *
** The value must be either -1 or an integer between 1 and 3,653. *
* * @param manualSnapshotRetentionPeriod * The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained * indefinitely. This setting doesn't change the retention period of existing snapshots. ** The value must be either -1 or an integer between 1 and 3,653. */ public void setManualSnapshotRetentionPeriod(Integer manualSnapshotRetentionPeriod) { this.manualSnapshotRetentionPeriod = manualSnapshotRetentionPeriod; } /** *
* The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained * indefinitely. This setting doesn't change the retention period of existing snapshots. *
** The value must be either -1 or an integer between 1 and 3,653. *
* * @return The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained * indefinitely. This setting doesn't change the retention period of existing snapshots. ** The value must be either -1 or an integer between 1 and 3,653. */ public Integer getManualSnapshotRetentionPeriod() { return this.manualSnapshotRetentionPeriod; } /** *
* The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained * indefinitely. This setting doesn't change the retention period of existing snapshots. *
** The value must be either -1 or an integer between 1 and 3,653. *
* * @param manualSnapshotRetentionPeriod * The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained * indefinitely. This setting doesn't change the retention period of existing snapshots. ** The value must be either -1 or an integer between 1 and 3,653. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withManualSnapshotRetentionPeriod(Integer manualSnapshotRetentionPeriod) { setManualSnapshotRetentionPeriod(manualSnapshotRetentionPeriod); 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
*
* 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
*
* 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
*
* 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
*
* 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
*
* 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
*
* 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
*
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
*
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
*
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
*
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 asmulti-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 asmulti-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 asmulti-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.
*
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.
*
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.
*
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.
*
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 * Iftrue
, 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 Iftrue
, 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 * Iftrue
, 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 Iftrue
, 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. * Don't specify the Elastic IP address for a publicly accessible cluster with availability zone relocation turned * on. 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. Don't specify the Elastic IP address for a publicly accessible cluster with availability zone * relocation turned on. 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. * Don't specify the Elastic IP address for a publicly accessible cluster with availability zone relocation turned * on. 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. Don't specify the Elastic IP address for a publicly accessible cluster with availability zone * relocation turned on. 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. * Don't specify the Elastic IP address for a publicly accessible cluster with availability zone relocation turned * on. 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. Don't specify the Elastic IP address for a publicly accessible cluster with availability zone * relocation turned on. 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* A list of tag instances. *
* * @param tags * A list of tag instances. */ public void setTags(java.util.Collection* 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* 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* The Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the * cluster. *
* * @param kmsKeyId * The Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the * cluster. */ public void setKmsKeyId(String kmsKeyId) { this.kmsKeyId = kmsKeyId; } /** ** The Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the * cluster. *
* * @return The Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the * cluster. */ public String getKmsKeyId() { return this.kmsKeyId; } /** ** The Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the * cluster. *
* * @param kmsKeyId * The Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the * cluster. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withKmsKeyId(String kmsKeyId) { setKmsKeyId(kmsKeyId); return this; } /** ** An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster * that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the * Amazon Redshift Cluster Management Guide. *
*
* If this option is true
, enhanced VPC routing is enabled.
*
* Default: false *
* * @param enhancedVpcRouting * An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a * cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing * in the Amazon Redshift Cluster Management Guide. *
* If this option is true
, enhanced VPC routing is enabled.
*
* Default: false */ public void setEnhancedVpcRouting(Boolean enhancedVpcRouting) { this.enhancedVpcRouting = enhancedVpcRouting; } /** *
* An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster * that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the * Amazon Redshift Cluster Management Guide. *
*
* If this option is true
, enhanced VPC routing is enabled.
*
* Default: false *
* * @return An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a * cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC * Routing in the Amazon Redshift Cluster Management Guide. *
* If this option is true
, enhanced VPC routing is enabled.
*
* Default: false */ public Boolean getEnhancedVpcRouting() { return this.enhancedVpcRouting; } /** *
* An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster * that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the * Amazon Redshift Cluster Management Guide. *
*
* If this option is true
, enhanced VPC routing is enabled.
*
* Default: false *
* * @param enhancedVpcRouting * An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a * cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing * in the Amazon Redshift Cluster Management Guide. *
* If this option is true
, enhanced VPC routing is enabled.
*
* Default: false * @return Returns a reference to this object so that method calls can be chained together. */ public CreateClusterRequest withEnhancedVpcRouting(Boolean enhancedVpcRouting) { setEnhancedVpcRouting(enhancedVpcRouting); return this; } /** *
* An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster * that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the * Amazon Redshift Cluster Management Guide. *
*
* If this option is true
, enhanced VPC routing is enabled.
*
* Default: false *
* * @return An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a * cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC * Routing in the Amazon Redshift Cluster Management Guide. *
* If this option is true
, enhanced VPC routing is enabled.
*
* Default: false */ public Boolean isEnhancedVpcRouting() { return this.enhancedVpcRouting; } /** *
* 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 Identity and Access Management (IAM) roles that can be used by the cluster to access other Amazon Web * Services services. You must supply the IAM roles in their Amazon Resource Name (ARN) format. *
** The maximum number of IAM roles that you can associate is subject to a quota. For more information, go to Quotas and limits in the * Amazon Redshift Cluster Management Guide. *
* * @return A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other * Amazon Web Services services. You must supply the IAM roles in their Amazon Resource Name (ARN) format. * *
* The maximum number of IAM roles that you can associate is subject to a quota. For more information, go to
* Quotas and
* limits in the Amazon Redshift Cluster Management Guide.
*/
public java.util.List
* A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other Amazon Web
* Services services. You must supply the IAM roles in their Amazon Resource Name (ARN) format.
*
* The maximum number of IAM roles that you can associate is subject to a quota. For more information, go to Quotas and limits in the
* Amazon Redshift Cluster Management Guide.
*
* The maximum number of IAM roles that you can associate is subject to a quota. For more information, go to
* Quotas and
* limits in the Amazon Redshift Cluster Management Guide.
*/
public void setIamRoles(java.util.Collection
* A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other Amazon Web
* Services services. You must supply the IAM roles in their Amazon Resource Name (ARN) format.
*
* The maximum number of IAM roles that you can associate is subject to a quota. For more information, go to Quotas and limits in the
* Amazon Redshift Cluster Management Guide.
*
* 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.
*
* The maximum number of IAM roles that you can associate is subject to a quota. For more information, go to
* Quotas and
* limits in the Amazon Redshift Cluster Management Guide.
* @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
* A list of Identity and Access Management (IAM) roles that can be used by the cluster to access other Amazon Web
* Services services. You must supply the IAM roles in their Amazon Resource Name (ARN) format.
*
* The maximum number of IAM roles that you can associate is subject to a quota. For more information, go to Quotas and limits in the
* Amazon Redshift Cluster Management Guide.
*
* The maximum number of IAM roles that you can associate is subject to a quota. For more information, go to
* Quotas and
* limits in the Amazon Redshift Cluster Management Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateClusterRequest withIamRoles(java.util.Collection
* An optional parameter for the name of the maintenance track for the cluster. If you don't provide a maintenance
* track name, the cluster is assigned to the
* An optional parameter for the name of the maintenance track for the cluster. If you don't provide a maintenance
* track name, the cluster is assigned to the
* An optional parameter for the name of the maintenance track for the cluster. If you don't provide a maintenance
* track name, the cluster is assigned to the
* A unique identifier for the snapshot schedule.
*
* A unique identifier for the snapshot schedule.
*
* A unique identifier for the snapshot schedule.
*
* The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is
* created.
*
* The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is
* created.
*
* The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is
* created.
*
* The option to enable relocation for an Amazon Redshift cluster between Availability Zones after the cluster is
* created.
*
* This parameter is retired. It does not set the AQUA configuration status. Amazon Redshift automatically
* determines whether to use AQUA (Advanced Query Accelerator).
*
* This parameter is retired. It does not set the AQUA configuration status. Amazon Redshift automatically
* determines whether to use AQUA (Advanced Query Accelerator).
*
* This parameter is retired. It does not set the AQUA configuration status. Amazon Redshift automatically
* determines whether to use AQUA (Advanced Query Accelerator).
*
* This parameter is retired. It does not set the AQUA configuration status. Amazon Redshift automatically
* determines whether to use AQUA (Advanced Query Accelerator).
*
* The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was
* created.
*
* The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was
* created.
*
* The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was
* created.
*
* A flag that specifies whether to load sample data once the cluster is created.
*
* A flag that specifies whether to load sample data once the cluster is created.
*
* A flag that specifies whether to load sample data once the cluster is created.
* current
track.
* current
track.
*/
public void setMaintenanceTrackName(String maintenanceTrackName) {
this.maintenanceTrackName = maintenanceTrackName;
}
/**
* current
track.
* current
track.
*/
public String getMaintenanceTrackName() {
return this.maintenanceTrackName;
}
/**
* current
track.
* current
track.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateClusterRequest withMaintenanceTrackName(String maintenanceTrackName) {
setMaintenanceTrackName(maintenanceTrackName);
return this;
}
/**
*