class Aws::Redshift::Types::CreateClusterMessage

@note When making an API call, you may pass CreateClusterMessage

data as a hash:

    {
      db_name: "String",
      cluster_identifier: "String", # required
      cluster_type: "String",
      node_type: "String", # required
      master_username: "String", # required
      master_user_password: "String", # required
      cluster_security_groups: ["String"],
      vpc_security_group_ids: ["String"],
      cluster_subnet_group_name: "String",
      availability_zone: "String",
      preferred_maintenance_window: "String",
      cluster_parameter_group_name: "String",
      automated_snapshot_retention_period: 1,
      manual_snapshot_retention_period: 1,
      port: 1,
      cluster_version: "String",
      allow_version_upgrade: false,
      number_of_nodes: 1,
      publicly_accessible: false,
      encrypted: false,
      hsm_client_certificate_identifier: "String",
      hsm_configuration_identifier: "String",
      elastic_ip: "String",
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
      kms_key_id: "String",
      enhanced_vpc_routing: false,
      additional_info: "String",
      iam_roles: ["String"],
      maintenance_track_name: "String",
      snapshot_schedule_identifier: "String",
      availability_zone_relocation: false,
      aqua_configuration_status: "enabled", # accepts enabled, disabled, auto
    }

@!attribute [rw] db_name

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][1] 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][2] in the Amazon
  Redshift Database Developer Guide.

[1]: https://docs.aws.amazon.com/redshift/latest/dg/t_creating_database.html
[2]: https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html
@return [String]

@!attribute [rw] cluster_identifier

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`
@return [String]

@!attribute [rw] cluster_type

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 [String]

@!attribute [rw] node_type

The node type to be provisioned for the cluster. For information
about node types, go to [ Working with Clusters][1] 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`

[1]: https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes
@return [String]

@!attribute [rw] master_username

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

Constraints:

* Must be 1 - 128 alphanumeric characters. The user name can't be
  `PUBLIC`.

* First character must be a letter.

* Cannot be a reserved word. A list of reserved words can be found
  in [Reserved Words][1] in the Amazon Redshift Database Developer
  Guide.

[1]: https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html
@return [String]

@!attribute [rw] master_user_password

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 to 126) except
  ' (single quote), " (double quote), \\, /, @, or space.
@return [String]

@!attribute [rw] cluster_security_groups

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

Default: The default cluster security group for Amazon Redshift.
@return [Array<String>]

@!attribute [rw] vpc_security_group_ids

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 [Array<String>]

@!attribute [rw] cluster_subnet_group_name

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 [String]

@!attribute [rw] availability_zone

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 [String]

@!attribute [rw] preferred_maintenance_window

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][1] in Amazon Redshift Cluster Management Guide.

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

Constraints: Minimum 30-minute window.

[1]: https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows
@return [String]

@!attribute [rw] cluster_parameter_group_name

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][1]

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.

[1]: https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html
@return [String]

@!attribute [rw] automated_snapshot_retention_period

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 [Integer]

@!attribute [rw] manual_snapshot_retention_period

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 [Integer]

@!attribute [rw] 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 [Integer]

@!attribute [rw] cluster_version

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 [String]

@!attribute [rw] allow_version_upgrade

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

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

Default: `true`
@return [Boolean]

@!attribute [rw] number_of_nodes

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][1] 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.

[1]: https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes
@return [Integer]

@!attribute [rw] publicly_accessible

If `true`, the cluster can be accessed from a public network.
@return [Boolean]

@!attribute [rw] encrypted

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

Default: false
@return [Boolean]

@!attribute [rw] hsm_client_certificate_identifier

Specifies the name of the HSM client certificate the Amazon Redshift
cluster uses to retrieve the data encryption keys stored in an HSM.
@return [String]

@!attribute [rw] hsm_configuration_identifier

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 [String]

@!attribute [rw] elastic_ip

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][1] in the Amazon Redshift Cluster
Management Guide.

[1]: https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#cluster-platforms
@return [String]

@!attribute [rw] tags

A list of tag instances.
@return [Array<Types::Tag>]

@!attribute [rw] kms_key_id

The Key Management Service (KMS) key ID of the encryption key that
you want to use to encrypt data in the cluster.
@return [String]

@!attribute [rw] enhanced_vpc_routing

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][1] in the Amazon Redshift Cluster Management
Guide.

If this option is `true`, enhanced VPC routing is enabled.

Default: false

[1]: https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html
@return [Boolean]

@!attribute [rw] additional_info

Reserved.
@return [String]

@!attribute [rw] iam_roles

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. You can supply up to 10 IAM roles in a single request.

A cluster can have up to 10 IAM roles associated with it at any
time.
@return [Array<String>]

@!attribute [rw] maintenance_track_name

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.
@return [String]

@!attribute [rw] snapshot_schedule_identifier

A unique identifier for the snapshot schedule.
@return [String]

@!attribute [rw] availability_zone_relocation

The option to enable relocation for an Amazon Redshift cluster
between Availability Zones after the cluster is created.
@return [Boolean]

@!attribute [rw] aqua_configuration_status

The value represents how the cluster is configured to use AQUA
(Advanced Query Accelerator) when it is created. Possible values
include the following.

* enabled - Use AQUA if it is available for the current Amazon Web
  Services Region and Amazon Redshift node type.

* disabled - Don't use AQUA.

* auto - Amazon Redshift determines whether to use AQUA.
@return [String]

@see docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateClusterMessage AWS API Documentation

Constants

SENSITIVE