class Aws::RDS::Types::CreateDBClusterMessage

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

data as a hash:

    {
      availability_zones: ["String"],
      backup_retention_period: 1,
      character_set_name: "String",
      database_name: "String",
      db_cluster_identifier: "String", # required
      db_cluster_parameter_group_name: "String",
      vpc_security_group_ids: ["String"],
      db_subnet_group_name: "String",
      engine: "String", # required
      engine_version: "String",
      port: 1,
      master_username: "String",
      master_user_password: "String",
      option_group_name: "String",
      preferred_backup_window: "String",
      preferred_maintenance_window: "String",
      replication_source_identifier: "String",
      tags: [
        {
          key: "String",
          value: "String",
        },
      ],
      storage_encrypted: false,
      kms_key_id: "String",
      pre_signed_url: "String",
      enable_iam_database_authentication: false,
      backtrack_window: 1,
      enable_cloudwatch_logs_exports: ["String"],
      engine_mode: "String",
      scaling_configuration: {
        min_capacity: 1,
        max_capacity: 1,
        auto_pause: false,
        seconds_until_auto_pause: 1,
        timeout_action: "String",
        seconds_before_timeout: 1,
      },
      deletion_protection: false,
      global_cluster_identifier: "String",
      enable_http_endpoint: false,
      copy_tags_to_snapshot: false,
      domain: "String",
      domain_iam_role_name: "String",
      enable_global_write_forwarding: false,
      source_region: "String",
    }

@!attribute [rw] availability_zones

A list of Availability Zones (AZs) where instances in the DB cluster
can be created. For information on Amazon Web Services Regions and
Availability Zones, see [Choosing the Regions and Availability
Zones][1] in the *Amazon Aurora User Guide*.

[1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.RegionsAndAvailabilityZones.html
@return [Array<String>]

@!attribute [rw] backup_retention_period

The number of days for which automated backups are retained.

Default: 1

Constraints:

* Must be a value from 1 to 35

^
@return [Integer]

@!attribute [rw] character_set_name

A value that indicates that the DB cluster should be associated with
the specified CharacterSet.
@return [String]

@!attribute [rw] database_name

The name for your database of up to 64 alphanumeric characters. If
you do not provide a name, Amazon RDS doesn't create a database in
the DB cluster you are creating.
@return [String]

@!attribute [rw] db_cluster_identifier

The DB cluster identifier. This parameter is stored as a lowercase
string.

Constraints:

* Must contain from 1 to 63 letters, numbers, or hyphens.

* First character must be a letter.

* Can't end with a hyphen or contain two consecutive hyphens.

Example: `my-cluster1`
@return [String]

@!attribute [rw] db_cluster_parameter_group_name

The name of the DB cluster parameter group to associate with this DB
cluster. If you do not specify a value, then the default DB cluster
parameter group for the specified DB engine and version is used.

Constraints:

* If supplied, must match the name of an existing DB cluster
  parameter group.

^
@return [String]

@!attribute [rw] vpc_security_group_ids

A list of EC2 VPC security groups to associate with this DB cluster.
@return [Array<String>]

@!attribute [rw] db_subnet_group_name

A DB subnet group to associate with this DB cluster.

Constraints: Must match the name of an existing DBSubnetGroup. Must
not be default.

Example: `mySubnetgroup`
@return [String]

@!attribute [rw] engine

The name of the database engine to be used for this DB cluster.

Valid Values: `aurora` (for MySQL 5.6-compatible Aurora),
`aurora-mysql` (for MySQL 5.7-compatible Aurora), and
`aurora-postgresql`
@return [String]

@!attribute [rw] engine_version

The version number of the database engine to use.

To list all of the available engine versions for `aurora` (for MySQL
5.6-compatible Aurora), use the following command:

`aws rds describe-db-engine-versions --engine aurora --query
"DBEngineVersions[].EngineVersion"`

To list all of the available engine versions for `aurora-mysql` (for
MySQL 5.7-compatible Aurora), use the following command:

`aws rds describe-db-engine-versions --engine aurora-mysql --query
"DBEngineVersions[].EngineVersion"`

To list all of the available engine versions for
`aurora-postgresql`, use the following command:

`aws rds describe-db-engine-versions --engine aurora-postgresql
--query "DBEngineVersions[].EngineVersion"`

**Aurora MySQL**

Example: `5.6.10a`, `5.6.mysql_aurora.1.19.2`, `5.7.12`,
`5.7.mysql_aurora.2.04.5`

**Aurora PostgreSQL**

Example: `9.6.3`, `10.7`
@return [String]

@!attribute [rw] port

The port number on which the instances in the DB cluster accept
connections.

Default: `3306` if engine is set as aurora or `5432` if set to
aurora-postgresql.
@return [Integer]

@!attribute [rw] master_username

The name of the master user for the DB cluster.

Constraints:

* Must be 1 to 16 letters or numbers.

* First character must be a letter.

* Can't be a reserved word for the chosen database engine.
@return [String]

@!attribute [rw] master_user_password

The password for the master database user. This password can contain
any printable ASCII character except "/", """, or "@".

Constraints: Must contain from 8 to 41 characters.
@return [String]

@!attribute [rw] option_group_name

A value that indicates that the DB cluster should be associated with
the specified option group.

Permanent options can't be removed from an option group. The option
group can't be removed from a DB cluster once it is associated with
a DB cluster.
@return [String]

@!attribute [rw] preferred_backup_window

The daily time range during which automated backups are created if
automated backups are enabled using the `BackupRetentionPeriod`
parameter.

The default is a 30-minute window selected at random from an 8-hour
block of time for each Amazon Web Services Region. To view the time
blocks available, see [ Backup window][1] in the *Amazon Aurora User
Guide.*

Constraints:

* Must be in the format `hh24:mi-hh24:mi`.

* Must be in Universal Coordinated Time (UTC).

* Must not conflict with the preferred maintenance window.

* Must be at least 30 minutes.

[1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.Backups.BackupWindow
@return [String]

@!attribute [rw] preferred_maintenance_window

The weekly time range during which system maintenance can occur, in
Universal Coordinated Time (UTC).

Format: `ddd:hh24:mi-ddd:hh24:mi`

The default is a 30-minute window selected at random from an 8-hour
block of time for each Amazon Web Services Region, occurring on a
random day of the week. To see the time blocks available, see [
Adjusting the Preferred DB Cluster Maintenance Window][1] in the
*Amazon Aurora User Guide.*

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

[1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora
@return [String]

@!attribute [rw] replication_source_identifier

The Amazon Resource Name (ARN) of the source DB instance or DB
cluster if this DB cluster is created as a read replica.
@return [String]

@!attribute [rw] tags

Tags to assign to the DB cluster.
@return [Array<Types::Tag>]

@!attribute [rw] storage_encrypted

A value that indicates whether the DB cluster is encrypted.
@return [Boolean]

@!attribute [rw] kms_key_id

The Amazon Web Services KMS key identifier for an encrypted DB
cluster.

The Amazon Web Services KMS key identifier is the key ARN, key ID,
alias ARN, or alias name for the Amazon Web Services KMS customer
master key (CMK). To use a CMK in a different Amazon Web Services
account, specify the key ARN or alias ARN.

When a CMK isn't specified in `KmsKeyId`\:

* If `ReplicationSourceIdentifier` identifies an encrypted source,
  then Amazon RDS will use the CMK used to encrypt the source.
  Otherwise, Amazon RDS will use your default CMK.

* If the `StorageEncrypted` parameter is enabled and
  `ReplicationSourceIdentifier` isn't specified, then Amazon RDS
  will use your default CMK.

There is a default CMK for your Amazon Web Services account. Your
Amazon Web Services account has a different default CMK for each
Amazon Web Services Region.

If you create a read replica of an encrypted DB cluster in another
Amazon Web Services Region, you must set `KmsKeyId` to a Amazon Web
Services KMS key identifier that is valid in the destination Amazon
Web Services Region. This CMK is used to encrypt the read replica in
that Amazon Web Services Region.
@return [String]

@!attribute [rw] pre_signed_url

A URL that contains a Signature Version 4 signed request for the
`CreateDBCluster` action to be called in the source Amazon Web
Services Region where the DB cluster is replicated from. You only
need to specify `PreSignedUrl` when you are performing cross-region
replication from an encrypted DB cluster.

The pre-signed URL must be a valid request for the `CreateDBCluster`
API action that can be executed in the source Amazon Web Services
Region that contains the encrypted DB cluster to be copied.

The pre-signed URL request must contain the following parameter
values:

* `KmsKeyId` - The Amazon Web Services KMS key identifier for the
  key to use to encrypt the copy of the DB cluster in the
  destination Amazon Web Services Region. This should refer to the
  same Amazon Web Services KMS CMK for both the `CreateDBCluster`
  action that is called in the destination Amazon Web Services
  Region, and the action contained in the pre-signed URL.

* `DestinationRegion` - The name of the Amazon Web Services Region
  that Aurora read replica will be created in.

* `ReplicationSourceIdentifier` - The DB cluster identifier for the
  encrypted DB cluster to be copied. This identifier must be in the
  Amazon Resource Name (ARN) format for the source Amazon Web
  Services Region. For example, if you are copying an encrypted DB
  cluster from the us-west-2 Amazon Web Services Region, then your
  `ReplicationSourceIdentifier` would look like Example:
  `arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1`.

To learn how to generate a Signature Version 4 signed request, see [
Authenticating Requests: Using Query Parameters (Amazon Web Services
Signature Version 4)][1] and [ Signature Version 4 Signing
Process][2].

<note markdown="1"> If you are using an Amazon Web Services SDK tool or the CLI, you can
specify `SourceRegion` (or `--source-region` for the CLI) instead of
specifying `PreSignedUrl` manually. Specifying `SourceRegion`
autogenerates a pre-signed URL that is a valid request for the
operation that can be executed in the source Amazon Web Services
Region.

 </note>

[1]: https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html
[2]: https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html
@return [String]

@!attribute [rw] enable_iam_database_authentication

A value that indicates whether to enable mapping of Amazon Web
Services Identity and Access Management (IAM) accounts to database
accounts. By default, mapping is disabled.

For more information, see [ IAM Database Authentication][1] in the
*Amazon Aurora User Guide.*

[1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html
@return [Boolean]

@!attribute [rw] backtrack_window

The target backtrack window, in seconds. To disable backtracking,
set this value to 0.

<note markdown="1"> Currently, Backtrack is only supported for Aurora MySQL DB clusters.

 </note>

Default: 0

Constraints:

* If specified, this value must be set to a number from 0 to 259,200
  (72 hours).

^
@return [Integer]

@!attribute [rw] enable_cloudwatch_logs_exports

The list of log types that need to be enabled for exporting to
CloudWatch Logs. The values in the list depend on the DB engine
being used. For more information, see [Publishing Database Logs to
Amazon CloudWatch Logs][1] in the *Amazon Aurora User Guide*.

**Aurora MySQL**

Possible values are `audit`, `error`, `general`, and `slowquery`.

**Aurora PostgreSQL**

Possible value is `postgresql`.

[1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch
@return [Array<String>]

@!attribute [rw] engine_mode

The DB engine mode of the DB cluster, either `provisioned`,
`serverless`, `parallelquery`, `global`, or `multimaster`.

The `parallelquery` engine mode isn't required for Aurora MySQL
version 1.23 and higher 1.x versions, and version 2.09 and higher
2.x versions.

The `global` engine mode isn't required for Aurora MySQL version
1.22 and higher 1.x versions, and `global` engine mode isn't
required for any 2.x versions.

The `multimaster` engine mode only applies for DB clusters created
with Aurora MySQL version 5.6.10a.

For Aurora PostgreSQL, the `global` engine mode isn't required, and
both the `parallelquery` and the `multimaster` engine modes
currently aren't supported.

Limitations and requirements apply to some DB engine modes. For more
information, see the following sections in the *Amazon Aurora User
Guide*\:

* [ Limitations of Aurora Serverless][1]

* [ Limitations of Parallel Query][2]

* [ Limitations of Aurora Global Databases][3]

* [ Limitations of Multi-Master Clusters][4]

[1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.limitations
[2]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-mysql-parallel-query.html#aurora-mysql-parallel-query-limitations
[3]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database.limitations
[4]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-multi-master.html#aurora-multi-master-limitations
@return [String]

@!attribute [rw] scaling_configuration

For DB clusters in `serverless` DB engine mode, the scaling
properties of the DB cluster.
@return [Types::ScalingConfiguration]

@!attribute [rw] deletion_protection

A value that indicates whether the DB cluster has deletion
protection enabled. The database can't be deleted when deletion
protection is enabled. By default, deletion protection is disabled.
@return [Boolean]

@!attribute [rw] global_cluster_identifier

The global cluster ID of an Aurora cluster that becomes the primary
cluster in the new global database cluster.
@return [String]

@!attribute [rw] enable_http_endpoint

A value that indicates whether to enable the HTTP endpoint for an
Aurora Serverless DB cluster. By default, the HTTP endpoint is
disabled.

When enabled, the HTTP endpoint provides a connectionless web
service API for running SQL queries on the Aurora Serverless DB
cluster. You can also query your database from inside the RDS
console with the query editor.

For more information, see [Using the Data API for Aurora
Serverless][1] in the *Amazon Aurora User Guide*.

[1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html
@return [Boolean]

@!attribute [rw] copy_tags_to_snapshot

A value that indicates whether to copy all tags from the DB cluster
to snapshots of the DB cluster. The default is not to copy them.
@return [Boolean]

@!attribute [rw] domain

The Active Directory directory ID to create the DB cluster in.

For Amazon Aurora DB clusters, Amazon RDS can use Kerberos
Authentication to authenticate users that connect to the DB cluster.
For more information, see [Kerberos Authentication][1] in the
*Amazon Aurora User Guide*.

[1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html
@return [String]

@!attribute [rw] domain_iam_role_name

Specify the name of the IAM role to be used when making API calls to
the Directory Service.
@return [String]

@!attribute [rw] enable_global_write_forwarding

A value that indicates whether to enable this DB cluster to forward
write operations to the primary cluster of an Aurora global database
(GlobalCluster). By default, write operations are not allowed on
Aurora DB clusters that are secondary clusters in an Aurora global
database.

You can set this value only on Aurora DB clusters that are members
of an Aurora global database. With this parameter enabled, a
secondary cluster can forward writes to the current primary cluster
and the resulting changes are replicated back to this cluster. For
the primary DB cluster of an Aurora global database, this value is
used immediately if the primary is demoted by the
FailoverGlobalCluster API operation, but it does nothing until then.
@return [Boolean]

@!attribute [rw] source_region

The source region of the snapshot. This is only needed when the
shapshot is encrypted and in a different region.
@return [String]

@see docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterMessage AWS API Documentation

Constants

SENSITIVE