/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace RDS { namespace Model { /** *

See Also:

AWS * API Reference

*/ class RestoreDBClusterFromSnapshotRequest : public RDSRequest { public: AWS_RDS_API RestoreDBClusterFromSnapshotRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "RestoreDBClusterFromSnapshot"; } AWS_RDS_API Aws::String SerializePayload() const override; protected: AWS_RDS_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

Provides the list of Availability Zones (AZs) where instances in the restored * DB cluster can be created.

Valid for: Aurora DB clusters only

*/ inline const Aws::Vector& GetAvailabilityZones() const{ return m_availabilityZones; } /** *

Provides the list of Availability Zones (AZs) where instances in the restored * DB cluster can be created.

Valid for: Aurora DB clusters only

*/ inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; } /** *

Provides the list of Availability Zones (AZs) where instances in the restored * DB cluster can be created.

Valid for: Aurora DB clusters only

*/ inline void SetAvailabilityZones(const Aws::Vector& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = value; } /** *

Provides the list of Availability Zones (AZs) where instances in the restored * DB cluster can be created.

Valid for: Aurora DB clusters only

*/ inline void SetAvailabilityZones(Aws::Vector&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = std::move(value); } /** *

Provides the list of Availability Zones (AZs) where instances in the restored * DB cluster can be created.

Valid for: Aurora DB clusters only

*/ inline RestoreDBClusterFromSnapshotRequest& WithAvailabilityZones(const Aws::Vector& value) { SetAvailabilityZones(value); return *this;} /** *

Provides the list of Availability Zones (AZs) where instances in the restored * DB cluster can be created.

Valid for: Aurora DB clusters only

*/ inline RestoreDBClusterFromSnapshotRequest& WithAvailabilityZones(Aws::Vector&& value) { SetAvailabilityZones(std::move(value)); return *this;} /** *

Provides the list of Availability Zones (AZs) where instances in the restored * DB cluster can be created.

Valid for: Aurora DB clusters only

*/ inline RestoreDBClusterFromSnapshotRequest& AddAvailabilityZones(const Aws::String& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; } /** *

Provides the list of Availability Zones (AZs) where instances in the restored * DB cluster can be created.

Valid for: Aurora DB clusters only

*/ inline RestoreDBClusterFromSnapshotRequest& AddAvailabilityZones(Aws::String&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(std::move(value)); return *this; } /** *

Provides the list of Availability Zones (AZs) where instances in the restored * DB cluster can be created.

Valid for: Aurora DB clusters only

*/ inline RestoreDBClusterFromSnapshotRequest& AddAvailabilityZones(const char* value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; } /** *

The name of the DB cluster to create from the DB snapshot or DB cluster * snapshot. This parameter isn't case-sensitive.

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-snapshot-id

Valid for: Aurora DB clusters and Multi-AZ * DB clusters

*/ inline const Aws::String& GetDBClusterIdentifier() const{ return m_dBClusterIdentifier; } /** *

The name of the DB cluster to create from the DB snapshot or DB cluster * snapshot. This parameter isn't case-sensitive.

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-snapshot-id

Valid for: Aurora DB clusters and Multi-AZ * DB clusters

*/ inline bool DBClusterIdentifierHasBeenSet() const { return m_dBClusterIdentifierHasBeenSet; } /** *

The name of the DB cluster to create from the DB snapshot or DB cluster * snapshot. This parameter isn't case-sensitive.

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-snapshot-id

Valid for: Aurora DB clusters and Multi-AZ * DB clusters

*/ inline void SetDBClusterIdentifier(const Aws::String& value) { m_dBClusterIdentifierHasBeenSet = true; m_dBClusterIdentifier = value; } /** *

The name of the DB cluster to create from the DB snapshot or DB cluster * snapshot. This parameter isn't case-sensitive.

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-snapshot-id

Valid for: Aurora DB clusters and Multi-AZ * DB clusters

*/ inline void SetDBClusterIdentifier(Aws::String&& value) { m_dBClusterIdentifierHasBeenSet = true; m_dBClusterIdentifier = std::move(value); } /** *

The name of the DB cluster to create from the DB snapshot or DB cluster * snapshot. This parameter isn't case-sensitive.

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-snapshot-id

Valid for: Aurora DB clusters and Multi-AZ * DB clusters

*/ inline void SetDBClusterIdentifier(const char* value) { m_dBClusterIdentifierHasBeenSet = true; m_dBClusterIdentifier.assign(value); } /** *

The name of the DB cluster to create from the DB snapshot or DB cluster * snapshot. This parameter isn't case-sensitive.

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-snapshot-id

Valid for: Aurora DB clusters and Multi-AZ * DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithDBClusterIdentifier(const Aws::String& value) { SetDBClusterIdentifier(value); return *this;} /** *

The name of the DB cluster to create from the DB snapshot or DB cluster * snapshot. This parameter isn't case-sensitive.

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-snapshot-id

Valid for: Aurora DB clusters and Multi-AZ * DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithDBClusterIdentifier(Aws::String&& value) { SetDBClusterIdentifier(std::move(value)); return *this;} /** *

The name of the DB cluster to create from the DB snapshot or DB cluster * snapshot. This parameter isn't case-sensitive.

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-snapshot-id

Valid for: Aurora DB clusters and Multi-AZ * DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithDBClusterIdentifier(const char* value) { SetDBClusterIdentifier(value); return *this;} /** *

The identifier for the DB snapshot or DB cluster snapshot to restore * from.

You can use either the name or the Amazon Resource Name (ARN) to * specify a DB cluster snapshot. However, you can use only the ARN to specify a DB * snapshot.

Constraints:

  • Must match the identifier of an * existing Snapshot.

Valid for: Aurora DB clusters and Multi-AZ * DB clusters

*/ inline const Aws::String& GetSnapshotIdentifier() const{ return m_snapshotIdentifier; } /** *

The identifier for the DB snapshot or DB cluster snapshot to restore * from.

You can use either the name or the Amazon Resource Name (ARN) to * specify a DB cluster snapshot. However, you can use only the ARN to specify a DB * snapshot.

Constraints:

  • Must match the identifier of an * existing Snapshot.

Valid for: Aurora DB clusters and Multi-AZ * DB clusters

*/ inline bool SnapshotIdentifierHasBeenSet() const { return m_snapshotIdentifierHasBeenSet; } /** *

The identifier for the DB snapshot or DB cluster snapshot to restore * from.

You can use either the name or the Amazon Resource Name (ARN) to * specify a DB cluster snapshot. However, you can use only the ARN to specify a DB * snapshot.

Constraints:

  • Must match the identifier of an * existing Snapshot.

Valid for: Aurora DB clusters and Multi-AZ * DB clusters

*/ inline void SetSnapshotIdentifier(const Aws::String& value) { m_snapshotIdentifierHasBeenSet = true; m_snapshotIdentifier = value; } /** *

The identifier for the DB snapshot or DB cluster snapshot to restore * from.

You can use either the name or the Amazon Resource Name (ARN) to * specify a DB cluster snapshot. However, you can use only the ARN to specify a DB * snapshot.

Constraints:

  • Must match the identifier of an * existing Snapshot.

Valid for: Aurora DB clusters and Multi-AZ * DB clusters

*/ inline void SetSnapshotIdentifier(Aws::String&& value) { m_snapshotIdentifierHasBeenSet = true; m_snapshotIdentifier = std::move(value); } /** *

The identifier for the DB snapshot or DB cluster snapshot to restore * from.

You can use either the name or the Amazon Resource Name (ARN) to * specify a DB cluster snapshot. However, you can use only the ARN to specify a DB * snapshot.

Constraints:

  • Must match the identifier of an * existing Snapshot.

Valid for: Aurora DB clusters and Multi-AZ * DB clusters

*/ inline void SetSnapshotIdentifier(const char* value) { m_snapshotIdentifierHasBeenSet = true; m_snapshotIdentifier.assign(value); } /** *

The identifier for the DB snapshot or DB cluster snapshot to restore * from.

You can use either the name or the Amazon Resource Name (ARN) to * specify a DB cluster snapshot. However, you can use only the ARN to specify a DB * snapshot.

Constraints:

  • Must match the identifier of an * existing Snapshot.

Valid for: Aurora DB clusters and Multi-AZ * DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithSnapshotIdentifier(const Aws::String& value) { SetSnapshotIdentifier(value); return *this;} /** *

The identifier for the DB snapshot or DB cluster snapshot to restore * from.

You can use either the name or the Amazon Resource Name (ARN) to * specify a DB cluster snapshot. However, you can use only the ARN to specify a DB * snapshot.

Constraints:

  • Must match the identifier of an * existing Snapshot.

Valid for: Aurora DB clusters and Multi-AZ * DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithSnapshotIdentifier(Aws::String&& value) { SetSnapshotIdentifier(std::move(value)); return *this;} /** *

The identifier for the DB snapshot or DB cluster snapshot to restore * from.

You can use either the name or the Amazon Resource Name (ARN) to * specify a DB cluster snapshot. However, you can use only the ARN to specify a DB * snapshot.

Constraints:

  • Must match the identifier of an * existing Snapshot.

Valid for: Aurora DB clusters and Multi-AZ * DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithSnapshotIdentifier(const char* value) { SetSnapshotIdentifier(value); return *this;} /** *

The database engine to use for the new DB cluster.

Default: The same * as source

Constraint: Must be compatible with the engine of the * source

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline const Aws::String& GetEngine() const{ return m_engine; } /** *

The database engine to use for the new DB cluster.

Default: The same * as source

Constraint: Must be compatible with the engine of the * source

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline bool EngineHasBeenSet() const { return m_engineHasBeenSet; } /** *

The database engine to use for the new DB cluster.

Default: The same * as source

Constraint: Must be compatible with the engine of the * source

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline void SetEngine(const Aws::String& value) { m_engineHasBeenSet = true; m_engine = value; } /** *

The database engine to use for the new DB cluster.

Default: The same * as source

Constraint: Must be compatible with the engine of the * source

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline void SetEngine(Aws::String&& value) { m_engineHasBeenSet = true; m_engine = std::move(value); } /** *

The database engine to use for the new DB cluster.

Default: The same * as source

Constraint: Must be compatible with the engine of the * source

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline void SetEngine(const char* value) { m_engineHasBeenSet = true; m_engine.assign(value); } /** *

The database engine to use for the new DB cluster.

Default: The same * as source

Constraint: Must be compatible with the engine of the * source

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithEngine(const Aws::String& value) { SetEngine(value); return *this;} /** *

The database engine to use for the new DB cluster.

Default: The same * as source

Constraint: Must be compatible with the engine of the * source

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithEngine(Aws::String&& value) { SetEngine(std::move(value)); return *this;} /** *

The database engine to use for the new DB cluster.

Default: The same * as source

Constraint: Must be compatible with the engine of the * source

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithEngine(const char* value) { SetEngine(value); return *this;} /** *

The version of the database engine to use for the new DB cluster. If you * don't specify an engine version, the default version for the database engine in * the Amazon Web Services Region is used.

To list all of the available * engine versions for Aurora MySQL, 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"

To list all of the available * engine versions for RDS for MySQL, use the following command:

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

To list all of the available * engine versions for RDS for PostgreSQL, use the following command:

* aws rds describe-db-engine-versions --engine postgres --query * "DBEngineVersions[].EngineVersion"

Aurora MySQL

*

See Database * engine updates for Amazon Aurora MySQL in the Amazon Aurora User * Guide.

Aurora PostgreSQL

See Amazon * Aurora PostgreSQL releases and engine versions in the Amazon Aurora User * Guide.

MySQL

See Amazon * RDS for MySQL in the Amazon RDS User Guide.

* PostgreSQL

See Amazon * RDS for PostgreSQL versions and extensions in the Amazon RDS User * Guide.

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } /** *

The version of the database engine to use for the new DB cluster. If you * don't specify an engine version, the default version for the database engine in * the Amazon Web Services Region is used.

To list all of the available * engine versions for Aurora MySQL, 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"

To list all of the available * engine versions for RDS for MySQL, use the following command:

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

To list all of the available * engine versions for RDS for PostgreSQL, use the following command:

* aws rds describe-db-engine-versions --engine postgres --query * "DBEngineVersions[].EngineVersion"

Aurora MySQL

*

See Database * engine updates for Amazon Aurora MySQL in the Amazon Aurora User * Guide.

Aurora PostgreSQL

See Amazon * Aurora PostgreSQL releases and engine versions in the Amazon Aurora User * Guide.

MySQL

See Amazon * RDS for MySQL in the Amazon RDS User Guide.

* PostgreSQL

See Amazon * RDS for PostgreSQL versions and extensions in the Amazon RDS User * Guide.

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } /** *

The version of the database engine to use for the new DB cluster. If you * don't specify an engine version, the default version for the database engine in * the Amazon Web Services Region is used.

To list all of the available * engine versions for Aurora MySQL, 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"

To list all of the available * engine versions for RDS for MySQL, use the following command:

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

To list all of the available * engine versions for RDS for PostgreSQL, use the following command:

* aws rds describe-db-engine-versions --engine postgres --query * "DBEngineVersions[].EngineVersion"

Aurora MySQL

*

See Database * engine updates for Amazon Aurora MySQL in the Amazon Aurora User * Guide.

Aurora PostgreSQL

See Amazon * Aurora PostgreSQL releases and engine versions in the Amazon Aurora User * Guide.

MySQL

See Amazon * RDS for MySQL in the Amazon RDS User Guide.

* PostgreSQL

See Amazon * RDS for PostgreSQL versions and extensions in the Amazon RDS User * Guide.

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; } /** *

The version of the database engine to use for the new DB cluster. If you * don't specify an engine version, the default version for the database engine in * the Amazon Web Services Region is used.

To list all of the available * engine versions for Aurora MySQL, 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"

To list all of the available * engine versions for RDS for MySQL, use the following command:

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

To list all of the available * engine versions for RDS for PostgreSQL, use the following command:

* aws rds describe-db-engine-versions --engine postgres --query * "DBEngineVersions[].EngineVersion"

Aurora MySQL

*

See Database * engine updates for Amazon Aurora MySQL in the Amazon Aurora User * Guide.

Aurora PostgreSQL

See Amazon * Aurora PostgreSQL releases and engine versions in the Amazon Aurora User * Guide.

MySQL

See Amazon * RDS for MySQL in the Amazon RDS User Guide.

* PostgreSQL

See Amazon * RDS for PostgreSQL versions and extensions in the Amazon RDS User * Guide.

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); } /** *

The version of the database engine to use for the new DB cluster. If you * don't specify an engine version, the default version for the database engine in * the Amazon Web Services Region is used.

To list all of the available * engine versions for Aurora MySQL, 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"

To list all of the available * engine versions for RDS for MySQL, use the following command:

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

To list all of the available * engine versions for RDS for PostgreSQL, use the following command:

* aws rds describe-db-engine-versions --engine postgres --query * "DBEngineVersions[].EngineVersion"

Aurora MySQL

*

See Database * engine updates for Amazon Aurora MySQL in the Amazon Aurora User * Guide.

Aurora PostgreSQL

See Amazon * Aurora PostgreSQL releases and engine versions in the Amazon Aurora User * Guide.

MySQL

See Amazon * RDS for MySQL in the Amazon RDS User Guide.

* PostgreSQL

See Amazon * RDS for PostgreSQL versions and extensions in the Amazon RDS User * Guide.

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); } /** *

The version of the database engine to use for the new DB cluster. If you * don't specify an engine version, the default version for the database engine in * the Amazon Web Services Region is used.

To list all of the available * engine versions for Aurora MySQL, 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"

To list all of the available * engine versions for RDS for MySQL, use the following command:

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

To list all of the available * engine versions for RDS for PostgreSQL, use the following command:

* aws rds describe-db-engine-versions --engine postgres --query * "DBEngineVersions[].EngineVersion"

Aurora MySQL

*

See Database * engine updates for Amazon Aurora MySQL in the Amazon Aurora User * Guide.

Aurora PostgreSQL

See Amazon * Aurora PostgreSQL releases and engine versions in the Amazon Aurora User * Guide.

MySQL

See Amazon * RDS for MySQL in the Amazon RDS User Guide.

* PostgreSQL

See Amazon * RDS for PostgreSQL versions and extensions in the Amazon RDS User * Guide.

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} /** *

The version of the database engine to use for the new DB cluster. If you * don't specify an engine version, the default version for the database engine in * the Amazon Web Services Region is used.

To list all of the available * engine versions for Aurora MySQL, 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"

To list all of the available * engine versions for RDS for MySQL, use the following command:

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

To list all of the available * engine versions for RDS for PostgreSQL, use the following command:

* aws rds describe-db-engine-versions --engine postgres --query * "DBEngineVersions[].EngineVersion"

Aurora MySQL

*

See Database * engine updates for Amazon Aurora MySQL in the Amazon Aurora User * Guide.

Aurora PostgreSQL

See Amazon * Aurora PostgreSQL releases and engine versions in the Amazon Aurora User * Guide.

MySQL

See Amazon * RDS for MySQL in the Amazon RDS User Guide.

* PostgreSQL

See Amazon * RDS for PostgreSQL versions and extensions in the Amazon RDS User * Guide.

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;} /** *

The version of the database engine to use for the new DB cluster. If you * don't specify an engine version, the default version for the database engine in * the Amazon Web Services Region is used.

To list all of the available * engine versions for Aurora MySQL, 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"

To list all of the available * engine versions for RDS for MySQL, use the following command:

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

To list all of the available * engine versions for RDS for PostgreSQL, use the following command:

* aws rds describe-db-engine-versions --engine postgres --query * "DBEngineVersions[].EngineVersion"

Aurora MySQL

*

See Database * engine updates for Amazon Aurora MySQL in the Amazon Aurora User * Guide.

Aurora PostgreSQL

See Amazon * Aurora PostgreSQL releases and engine versions in the Amazon Aurora User * Guide.

MySQL

See Amazon * RDS for MySQL in the Amazon RDS User Guide.

* PostgreSQL

See Amazon * RDS for PostgreSQL versions and extensions in the Amazon RDS User * Guide.

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;} /** *

The port number on which the new DB cluster accepts connections.

*

Constraints: This value must be 1150-65535

Default: The * same port as the original DB cluster.

Valid for: Aurora DB clusters and * Multi-AZ DB clusters

*/ inline int GetPort() const{ return m_port; } /** *

The port number on which the new DB cluster accepts connections.

*

Constraints: This value must be 1150-65535

Default: The * same port as the original DB cluster.

Valid for: Aurora DB clusters and * Multi-AZ DB clusters

*/ inline bool PortHasBeenSet() const { return m_portHasBeenSet; } /** *

The port number on which the new DB cluster accepts connections.

*

Constraints: This value must be 1150-65535

Default: The * same port as the original DB cluster.

Valid for: Aurora DB clusters and * Multi-AZ DB clusters

*/ inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } /** *

The port number on which the new DB cluster accepts connections.

*

Constraints: This value must be 1150-65535

Default: The * same port as the original DB cluster.

Valid for: Aurora DB clusters and * Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithPort(int value) { SetPort(value); return *this;} /** *

The name of the DB subnet group to use for the new DB cluster.

*

Constraints: If supplied, must match the name of an existing DB subnet * group.

Example: mydbsubnetgroup

Valid for: Aurora DB * clusters and Multi-AZ DB clusters

*/ inline const Aws::String& GetDBSubnetGroupName() const{ return m_dBSubnetGroupName; } /** *

The name of the DB subnet group to use for the new DB cluster.

*

Constraints: If supplied, must match the name of an existing DB subnet * group.

Example: mydbsubnetgroup

Valid for: Aurora DB * clusters and Multi-AZ DB clusters

*/ inline bool DBSubnetGroupNameHasBeenSet() const { return m_dBSubnetGroupNameHasBeenSet; } /** *

The name of the DB subnet group to use for the new DB cluster.

*

Constraints: If supplied, must match the name of an existing DB subnet * group.

Example: mydbsubnetgroup

Valid for: Aurora DB * clusters and Multi-AZ DB clusters

*/ inline void SetDBSubnetGroupName(const Aws::String& value) { m_dBSubnetGroupNameHasBeenSet = true; m_dBSubnetGroupName = value; } /** *

The name of the DB subnet group to use for the new DB cluster.

*

Constraints: If supplied, must match the name of an existing DB subnet * group.

Example: mydbsubnetgroup

Valid for: Aurora DB * clusters and Multi-AZ DB clusters

*/ inline void SetDBSubnetGroupName(Aws::String&& value) { m_dBSubnetGroupNameHasBeenSet = true; m_dBSubnetGroupName = std::move(value); } /** *

The name of the DB subnet group to use for the new DB cluster.

*

Constraints: If supplied, must match the name of an existing DB subnet * group.

Example: mydbsubnetgroup

Valid for: Aurora DB * clusters and Multi-AZ DB clusters

*/ inline void SetDBSubnetGroupName(const char* value) { m_dBSubnetGroupNameHasBeenSet = true; m_dBSubnetGroupName.assign(value); } /** *

The name of the DB subnet group to use for the new DB cluster.

*

Constraints: If supplied, must match the name of an existing DB subnet * group.

Example: mydbsubnetgroup

Valid for: Aurora DB * clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithDBSubnetGroupName(const Aws::String& value) { SetDBSubnetGroupName(value); return *this;} /** *

The name of the DB subnet group to use for the new DB cluster.

*

Constraints: If supplied, must match the name of an existing DB subnet * group.

Example: mydbsubnetgroup

Valid for: Aurora DB * clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithDBSubnetGroupName(Aws::String&& value) { SetDBSubnetGroupName(std::move(value)); return *this;} /** *

The name of the DB subnet group to use for the new DB cluster.

*

Constraints: If supplied, must match the name of an existing DB subnet * group.

Example: mydbsubnetgroup

Valid for: Aurora DB * clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithDBSubnetGroupName(const char* value) { SetDBSubnetGroupName(value); return *this;} /** *

The database name for the restored DB cluster.

Valid for: Aurora DB * clusters and Multi-AZ DB clusters

*/ inline const Aws::String& GetDatabaseName() const{ return m_databaseName; } /** *

The database name for the restored DB cluster.

Valid for: Aurora DB * clusters and Multi-AZ DB clusters

*/ inline bool DatabaseNameHasBeenSet() const { return m_databaseNameHasBeenSet; } /** *

The database name for the restored DB cluster.

Valid for: Aurora DB * clusters and Multi-AZ DB clusters

*/ inline void SetDatabaseName(const Aws::String& value) { m_databaseNameHasBeenSet = true; m_databaseName = value; } /** *

The database name for the restored DB cluster.

Valid for: Aurora DB * clusters and Multi-AZ DB clusters

*/ inline void SetDatabaseName(Aws::String&& value) { m_databaseNameHasBeenSet = true; m_databaseName = std::move(value); } /** *

The database name for the restored DB cluster.

Valid for: Aurora DB * clusters and Multi-AZ DB clusters

*/ inline void SetDatabaseName(const char* value) { m_databaseNameHasBeenSet = true; m_databaseName.assign(value); } /** *

The database name for the restored DB cluster.

Valid for: Aurora DB * clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithDatabaseName(const Aws::String& value) { SetDatabaseName(value); return *this;} /** *

The database name for the restored DB cluster.

Valid for: Aurora DB * clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithDatabaseName(Aws::String&& value) { SetDatabaseName(std::move(value)); return *this;} /** *

The database name for the restored DB cluster.

Valid for: Aurora DB * clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithDatabaseName(const char* value) { SetDatabaseName(value); return *this;} /** *

The name of the option group to use for the restored DB cluster.

DB * clusters are associated with a default option group that can't be modified.

*/ inline const Aws::String& GetOptionGroupName() const{ return m_optionGroupName; } /** *

The name of the option group to use for the restored DB cluster.

DB * clusters are associated with a default option group that can't be modified.

*/ inline bool OptionGroupNameHasBeenSet() const { return m_optionGroupNameHasBeenSet; } /** *

The name of the option group to use for the restored DB cluster.

DB * clusters are associated with a default option group that can't be modified.

*/ inline void SetOptionGroupName(const Aws::String& value) { m_optionGroupNameHasBeenSet = true; m_optionGroupName = value; } /** *

The name of the option group to use for the restored DB cluster.

DB * clusters are associated with a default option group that can't be modified.

*/ inline void SetOptionGroupName(Aws::String&& value) { m_optionGroupNameHasBeenSet = true; m_optionGroupName = std::move(value); } /** *

The name of the option group to use for the restored DB cluster.

DB * clusters are associated with a default option group that can't be modified.

*/ inline void SetOptionGroupName(const char* value) { m_optionGroupNameHasBeenSet = true; m_optionGroupName.assign(value); } /** *

The name of the option group to use for the restored DB cluster.

DB * clusters are associated with a default option group that can't be modified.

*/ inline RestoreDBClusterFromSnapshotRequest& WithOptionGroupName(const Aws::String& value) { SetOptionGroupName(value); return *this;} /** *

The name of the option group to use for the restored DB cluster.

DB * clusters are associated with a default option group that can't be modified.

*/ inline RestoreDBClusterFromSnapshotRequest& WithOptionGroupName(Aws::String&& value) { SetOptionGroupName(std::move(value)); return *this;} /** *

The name of the option group to use for the restored DB cluster.

DB * clusters are associated with a default option group that can't be modified.

*/ inline RestoreDBClusterFromSnapshotRequest& WithOptionGroupName(const char* value) { SetOptionGroupName(value); return *this;} /** *

A list of VPC security groups that the new DB cluster will belong to.

*

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline const Aws::Vector& GetVpcSecurityGroupIds() const{ return m_vpcSecurityGroupIds; } /** *

A list of VPC security groups that the new DB cluster will belong to.

*

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline bool VpcSecurityGroupIdsHasBeenSet() const { return m_vpcSecurityGroupIdsHasBeenSet; } /** *

A list of VPC security groups that the new DB cluster will belong to.

*

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline void SetVpcSecurityGroupIds(const Aws::Vector& value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds = value; } /** *

A list of VPC security groups that the new DB cluster will belong to.

*

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline void SetVpcSecurityGroupIds(Aws::Vector&& value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds = std::move(value); } /** *

A list of VPC security groups that the new DB cluster will belong to.

*

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithVpcSecurityGroupIds(const Aws::Vector& value) { SetVpcSecurityGroupIds(value); return *this;} /** *

A list of VPC security groups that the new DB cluster will belong to.

*

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithVpcSecurityGroupIds(Aws::Vector&& value) { SetVpcSecurityGroupIds(std::move(value)); return *this;} /** *

A list of VPC security groups that the new DB cluster will belong to.

*

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& AddVpcSecurityGroupIds(const Aws::String& value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds.push_back(value); return *this; } /** *

A list of VPC security groups that the new DB cluster will belong to.

*

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& AddVpcSecurityGroupIds(Aws::String&& value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds.push_back(std::move(value)); return *this; } /** *

A list of VPC security groups that the new DB cluster will belong to.

*

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& AddVpcSecurityGroupIds(const char* value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds.push_back(value); return *this; } /** *

The tags to be assigned to the restored DB cluster.

Valid for: Aurora * DB clusters and Multi-AZ DB clusters

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

The tags to be assigned to the restored DB cluster.

Valid for: Aurora * DB clusters and Multi-AZ DB clusters

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The tags to be assigned to the restored DB cluster.

Valid for: Aurora * DB clusters and Multi-AZ DB clusters

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The tags to be assigned to the restored DB cluster.

Valid for: Aurora * DB clusters and Multi-AZ DB clusters

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The tags to be assigned to the restored DB cluster.

Valid for: Aurora * DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

The tags to be assigned to the restored DB cluster.

Valid for: Aurora * DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

The tags to be assigned to the restored DB cluster.

Valid for: Aurora * DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

The tags to be assigned to the restored DB cluster.

Valid for: Aurora * DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

The Amazon Web Services KMS key identifier to use when restoring an encrypted * DB cluster from a DB snapshot or DB cluster snapshot.

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

When you don't specify a value for the * KmsKeyId parameter, then the following occurs:

  • If * the DB snapshot or DB cluster snapshot in SnapshotIdentifier is * encrypted, then the restored DB cluster is encrypted using the KMS key that was * used to encrypt the DB snapshot or DB cluster snapshot.

  • If the * DB snapshot or DB cluster snapshot in SnapshotIdentifier isn't * encrypted, then the restored DB cluster isn't encrypted.

*

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; } /** *

The Amazon Web Services KMS key identifier to use when restoring an encrypted * DB cluster from a DB snapshot or DB cluster snapshot.

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

When you don't specify a value for the * KmsKeyId parameter, then the following occurs:

  • If * the DB snapshot or DB cluster snapshot in SnapshotIdentifier is * encrypted, then the restored DB cluster is encrypted using the KMS key that was * used to encrypt the DB snapshot or DB cluster snapshot.

  • If the * DB snapshot or DB cluster snapshot in SnapshotIdentifier isn't * encrypted, then the restored DB cluster isn't encrypted.

*

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; } /** *

The Amazon Web Services KMS key identifier to use when restoring an encrypted * DB cluster from a DB snapshot or DB cluster snapshot.

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

When you don't specify a value for the * KmsKeyId parameter, then the following occurs:

  • If * the DB snapshot or DB cluster snapshot in SnapshotIdentifier is * encrypted, then the restored DB cluster is encrypted using the KMS key that was * used to encrypt the DB snapshot or DB cluster snapshot.

  • If the * DB snapshot or DB cluster snapshot in SnapshotIdentifier isn't * encrypted, then the restored DB cluster isn't encrypted.

*

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; } /** *

The Amazon Web Services KMS key identifier to use when restoring an encrypted * DB cluster from a DB snapshot or DB cluster snapshot.

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

When you don't specify a value for the * KmsKeyId parameter, then the following occurs:

  • If * the DB snapshot or DB cluster snapshot in SnapshotIdentifier is * encrypted, then the restored DB cluster is encrypted using the KMS key that was * used to encrypt the DB snapshot or DB cluster snapshot.

  • If the * DB snapshot or DB cluster snapshot in SnapshotIdentifier isn't * encrypted, then the restored DB cluster isn't encrypted.

*

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); } /** *

The Amazon Web Services KMS key identifier to use when restoring an encrypted * DB cluster from a DB snapshot or DB cluster snapshot.

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

When you don't specify a value for the * KmsKeyId parameter, then the following occurs:

  • If * the DB snapshot or DB cluster snapshot in SnapshotIdentifier is * encrypted, then the restored DB cluster is encrypted using the KMS key that was * used to encrypt the DB snapshot or DB cluster snapshot.

  • If the * DB snapshot or DB cluster snapshot in SnapshotIdentifier isn't * encrypted, then the restored DB cluster isn't encrypted.

*

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); } /** *

The Amazon Web Services KMS key identifier to use when restoring an encrypted * DB cluster from a DB snapshot or DB cluster snapshot.

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

When you don't specify a value for the * KmsKeyId parameter, then the following occurs:

  • If * the DB snapshot or DB cluster snapshot in SnapshotIdentifier is * encrypted, then the restored DB cluster is encrypted using the KMS key that was * used to encrypt the DB snapshot or DB cluster snapshot.

  • If the * DB snapshot or DB cluster snapshot in SnapshotIdentifier isn't * encrypted, then the restored DB cluster isn't encrypted.

*

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;} /** *

The Amazon Web Services KMS key identifier to use when restoring an encrypted * DB cluster from a DB snapshot or DB cluster snapshot.

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

When you don't specify a value for the * KmsKeyId parameter, then the following occurs:

  • If * the DB snapshot or DB cluster snapshot in SnapshotIdentifier is * encrypted, then the restored DB cluster is encrypted using the KMS key that was * used to encrypt the DB snapshot or DB cluster snapshot.

  • If the * DB snapshot or DB cluster snapshot in SnapshotIdentifier isn't * encrypted, then the restored DB cluster isn't encrypted.

*

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;} /** *

The Amazon Web Services KMS key identifier to use when restoring an encrypted * DB cluster from a DB snapshot or DB cluster snapshot.

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

When you don't specify a value for the * KmsKeyId parameter, then the following occurs:

  • If * the DB snapshot or DB cluster snapshot in SnapshotIdentifier is * encrypted, then the restored DB cluster is encrypted using the KMS key that was * used to encrypt the DB snapshot or DB cluster snapshot.

  • If the * DB snapshot or DB cluster snapshot in SnapshotIdentifier isn't * encrypted, then the restored DB cluster isn't encrypted.

*

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;} /** *

A value that indicates whether to enable mapping of Amazon Web Services * Identity and Access Management (IAM) accounts to database accounts. By default, * mapping isn't enabled.

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

*

Valid for: Aurora DB clusters only

*/ inline bool GetEnableIAMDatabaseAuthentication() const{ return m_enableIAMDatabaseAuthentication; } /** *

A value that indicates whether to enable mapping of Amazon Web Services * Identity and Access Management (IAM) accounts to database accounts. By default, * mapping isn't enabled.

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

*

Valid for: Aurora DB clusters only

*/ inline bool EnableIAMDatabaseAuthenticationHasBeenSet() const { return m_enableIAMDatabaseAuthenticationHasBeenSet; } /** *

A value that indicates whether to enable mapping of Amazon Web Services * Identity and Access Management (IAM) accounts to database accounts. By default, * mapping isn't enabled.

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

*

Valid for: Aurora DB clusters only

*/ inline void SetEnableIAMDatabaseAuthentication(bool value) { m_enableIAMDatabaseAuthenticationHasBeenSet = true; m_enableIAMDatabaseAuthentication = value; } /** *

A value that indicates whether to enable mapping of Amazon Web Services * Identity and Access Management (IAM) accounts to database accounts. By default, * mapping isn't enabled.

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

*

Valid for: Aurora DB clusters only

*/ inline RestoreDBClusterFromSnapshotRequest& WithEnableIAMDatabaseAuthentication(bool value) { SetEnableIAMDatabaseAuthentication(value); return *this;} /** *

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

Currently, Backtrack is only supported for Aurora * MySQL DB clusters.

Default: 0

Constraints:

  • *

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

Valid for: Aurora DB clusters only

*/ inline long long GetBacktrackWindow() const{ return m_backtrackWindow; } /** *

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

Currently, Backtrack is only supported for Aurora * MySQL DB clusters.

Default: 0

Constraints:

  • *

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

Valid for: Aurora DB clusters only

*/ inline bool BacktrackWindowHasBeenSet() const { return m_backtrackWindowHasBeenSet; } /** *

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

Currently, Backtrack is only supported for Aurora * MySQL DB clusters.

Default: 0

Constraints:

  • *

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

Valid for: Aurora DB clusters only

*/ inline void SetBacktrackWindow(long long value) { m_backtrackWindowHasBeenSet = true; m_backtrackWindow = value; } /** *

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

Currently, Backtrack is only supported for Aurora * MySQL DB clusters.

Default: 0

Constraints:

  • *

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

Valid for: Aurora DB clusters only

*/ inline RestoreDBClusterFromSnapshotRequest& WithBacktrackWindow(long long value) { SetBacktrackWindow(value); return *this;} /** *

The list of logs that the restored DB cluster is to export to Amazon * CloudWatch Logs. The values in the list depend on the DB engine being used.

*

RDS for MySQL

Possible values are error, * general, and slowquery.

RDS for * PostgreSQL

Possible values are postgresql and * upgrade.

Aurora MySQL

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

Aurora PostgreSQL

Possible value * is postgresql.

For more information about exporting * CloudWatch Logs for Amazon RDS, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

For more information about exporting CloudWatch Logs for * Amazon Aurora, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User * Guide.

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline const Aws::Vector& GetEnableCloudwatchLogsExports() const{ return m_enableCloudwatchLogsExports; } /** *

The list of logs that the restored DB cluster is to export to Amazon * CloudWatch Logs. The values in the list depend on the DB engine being used.

*

RDS for MySQL

Possible values are error, * general, and slowquery.

RDS for * PostgreSQL

Possible values are postgresql and * upgrade.

Aurora MySQL

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

Aurora PostgreSQL

Possible value * is postgresql.

For more information about exporting * CloudWatch Logs for Amazon RDS, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

For more information about exporting CloudWatch Logs for * Amazon Aurora, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User * Guide.

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline bool EnableCloudwatchLogsExportsHasBeenSet() const { return m_enableCloudwatchLogsExportsHasBeenSet; } /** *

The list of logs that the restored DB cluster is to export to Amazon * CloudWatch Logs. The values in the list depend on the DB engine being used.

*

RDS for MySQL

Possible values are error, * general, and slowquery.

RDS for * PostgreSQL

Possible values are postgresql and * upgrade.

Aurora MySQL

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

Aurora PostgreSQL

Possible value * is postgresql.

For more information about exporting * CloudWatch Logs for Amazon RDS, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

For more information about exporting CloudWatch Logs for * Amazon Aurora, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User * Guide.

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline void SetEnableCloudwatchLogsExports(const Aws::Vector& value) { m_enableCloudwatchLogsExportsHasBeenSet = true; m_enableCloudwatchLogsExports = value; } /** *

The list of logs that the restored DB cluster is to export to Amazon * CloudWatch Logs. The values in the list depend on the DB engine being used.

*

RDS for MySQL

Possible values are error, * general, and slowquery.

RDS for * PostgreSQL

Possible values are postgresql and * upgrade.

Aurora MySQL

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

Aurora PostgreSQL

Possible value * is postgresql.

For more information about exporting * CloudWatch Logs for Amazon RDS, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

For more information about exporting CloudWatch Logs for * Amazon Aurora, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User * Guide.

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline void SetEnableCloudwatchLogsExports(Aws::Vector&& value) { m_enableCloudwatchLogsExportsHasBeenSet = true; m_enableCloudwatchLogsExports = std::move(value); } /** *

The list of logs that the restored DB cluster is to export to Amazon * CloudWatch Logs. The values in the list depend on the DB engine being used.

*

RDS for MySQL

Possible values are error, * general, and slowquery.

RDS for * PostgreSQL

Possible values are postgresql and * upgrade.

Aurora MySQL

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

Aurora PostgreSQL

Possible value * is postgresql.

For more information about exporting * CloudWatch Logs for Amazon RDS, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

For more information about exporting CloudWatch Logs for * Amazon Aurora, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User * Guide.

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithEnableCloudwatchLogsExports(const Aws::Vector& value) { SetEnableCloudwatchLogsExports(value); return *this;} /** *

The list of logs that the restored DB cluster is to export to Amazon * CloudWatch Logs. The values in the list depend on the DB engine being used.

*

RDS for MySQL

Possible values are error, * general, and slowquery.

RDS for * PostgreSQL

Possible values are postgresql and * upgrade.

Aurora MySQL

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

Aurora PostgreSQL

Possible value * is postgresql.

For more information about exporting * CloudWatch Logs for Amazon RDS, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

For more information about exporting CloudWatch Logs for * Amazon Aurora, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User * Guide.

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithEnableCloudwatchLogsExports(Aws::Vector&& value) { SetEnableCloudwatchLogsExports(std::move(value)); return *this;} /** *

The list of logs that the restored DB cluster is to export to Amazon * CloudWatch Logs. The values in the list depend on the DB engine being used.

*

RDS for MySQL

Possible values are error, * general, and slowquery.

RDS for * PostgreSQL

Possible values are postgresql and * upgrade.

Aurora MySQL

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

Aurora PostgreSQL

Possible value * is postgresql.

For more information about exporting * CloudWatch Logs for Amazon RDS, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

For more information about exporting CloudWatch Logs for * Amazon Aurora, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User * Guide.

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& AddEnableCloudwatchLogsExports(const Aws::String& value) { m_enableCloudwatchLogsExportsHasBeenSet = true; m_enableCloudwatchLogsExports.push_back(value); return *this; } /** *

The list of logs that the restored DB cluster is to export to Amazon * CloudWatch Logs. The values in the list depend on the DB engine being used.

*

RDS for MySQL

Possible values are error, * general, and slowquery.

RDS for * PostgreSQL

Possible values are postgresql and * upgrade.

Aurora MySQL

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

Aurora PostgreSQL

Possible value * is postgresql.

For more information about exporting * CloudWatch Logs for Amazon RDS, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

For more information about exporting CloudWatch Logs for * Amazon Aurora, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User * Guide.

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& AddEnableCloudwatchLogsExports(Aws::String&& value) { m_enableCloudwatchLogsExportsHasBeenSet = true; m_enableCloudwatchLogsExports.push_back(std::move(value)); return *this; } /** *

The list of logs that the restored DB cluster is to export to Amazon * CloudWatch Logs. The values in the list depend on the DB engine being used.

*

RDS for MySQL

Possible values are error, * general, and slowquery.

RDS for * PostgreSQL

Possible values are postgresql and * upgrade.

Aurora MySQL

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

Aurora PostgreSQL

Possible value * is postgresql.

For more information about exporting * CloudWatch Logs for Amazon RDS, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

For more information about exporting CloudWatch Logs for * Amazon Aurora, see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User * Guide.

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& AddEnableCloudwatchLogsExports(const char* value) { m_enableCloudwatchLogsExportsHasBeenSet = true; m_enableCloudwatchLogsExports.push_back(value); return *this; } /** *

The DB engine mode of the DB cluster, either provisioned or * serverless.

For more information, see * CreateDBCluster.

Valid for: Aurora DB clusters only

*/ inline const Aws::String& GetEngineMode() const{ return m_engineMode; } /** *

The DB engine mode of the DB cluster, either provisioned or * serverless.

For more information, see * CreateDBCluster.

Valid for: Aurora DB clusters only

*/ inline bool EngineModeHasBeenSet() const { return m_engineModeHasBeenSet; } /** *

The DB engine mode of the DB cluster, either provisioned or * serverless.

For more information, see * CreateDBCluster.

Valid for: Aurora DB clusters only

*/ inline void SetEngineMode(const Aws::String& value) { m_engineModeHasBeenSet = true; m_engineMode = value; } /** *

The DB engine mode of the DB cluster, either provisioned or * serverless.

For more information, see * CreateDBCluster.

Valid for: Aurora DB clusters only

*/ inline void SetEngineMode(Aws::String&& value) { m_engineModeHasBeenSet = true; m_engineMode = std::move(value); } /** *

The DB engine mode of the DB cluster, either provisioned or * serverless.

For more information, see * CreateDBCluster.

Valid for: Aurora DB clusters only

*/ inline void SetEngineMode(const char* value) { m_engineModeHasBeenSet = true; m_engineMode.assign(value); } /** *

The DB engine mode of the DB cluster, either provisioned or * serverless.

For more information, see * CreateDBCluster.

Valid for: Aurora DB clusters only

*/ inline RestoreDBClusterFromSnapshotRequest& WithEngineMode(const Aws::String& value) { SetEngineMode(value); return *this;} /** *

The DB engine mode of the DB cluster, either provisioned or * serverless.

For more information, see * CreateDBCluster.

Valid for: Aurora DB clusters only

*/ inline RestoreDBClusterFromSnapshotRequest& WithEngineMode(Aws::String&& value) { SetEngineMode(std::move(value)); return *this;} /** *

The DB engine mode of the DB cluster, either provisioned or * serverless.

For more information, see * CreateDBCluster.

Valid for: Aurora DB clusters only

*/ inline RestoreDBClusterFromSnapshotRequest& WithEngineMode(const char* value) { SetEngineMode(value); return *this;} /** *

For DB clusters in serverless DB engine mode, the scaling * properties of the DB cluster.

Valid for: Aurora DB clusters only

*/ inline const ScalingConfiguration& GetScalingConfiguration() const{ return m_scalingConfiguration; } /** *

For DB clusters in serverless DB engine mode, the scaling * properties of the DB cluster.

Valid for: Aurora DB clusters only

*/ inline bool ScalingConfigurationHasBeenSet() const { return m_scalingConfigurationHasBeenSet; } /** *

For DB clusters in serverless DB engine mode, the scaling * properties of the DB cluster.

Valid for: Aurora DB clusters only

*/ inline void SetScalingConfiguration(const ScalingConfiguration& value) { m_scalingConfigurationHasBeenSet = true; m_scalingConfiguration = value; } /** *

For DB clusters in serverless DB engine mode, the scaling * properties of the DB cluster.

Valid for: Aurora DB clusters only

*/ inline void SetScalingConfiguration(ScalingConfiguration&& value) { m_scalingConfigurationHasBeenSet = true; m_scalingConfiguration = std::move(value); } /** *

For DB clusters in serverless DB engine mode, the scaling * properties of the DB cluster.

Valid for: Aurora DB clusters only

*/ inline RestoreDBClusterFromSnapshotRequest& WithScalingConfiguration(const ScalingConfiguration& value) { SetScalingConfiguration(value); return *this;} /** *

For DB clusters in serverless DB engine mode, the scaling * properties of the DB cluster.

Valid for: Aurora DB clusters only

*/ inline RestoreDBClusterFromSnapshotRequest& WithScalingConfiguration(ScalingConfiguration&& value) { SetScalingConfiguration(std::move(value)); return *this;} /** *

The name of the DB cluster parameter group to associate with this DB cluster. * If this argument is omitted, the default DB cluster parameter group for the * specified engine is used.

Constraints:

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

  • *

    Must be 1 to 255 letters, numbers, or hyphens.

  • First * character must be a letter.

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

Valid for: Aurora DB clusters and * Multi-AZ DB clusters

*/ inline const Aws::String& GetDBClusterParameterGroupName() const{ return m_dBClusterParameterGroupName; } /** *

The name of the DB cluster parameter group to associate with this DB cluster. * If this argument is omitted, the default DB cluster parameter group for the * specified engine is used.

Constraints:

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

  • *

    Must be 1 to 255 letters, numbers, or hyphens.

  • First * character must be a letter.

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

Valid for: Aurora DB clusters and * Multi-AZ DB clusters

*/ inline bool DBClusterParameterGroupNameHasBeenSet() const { return m_dBClusterParameterGroupNameHasBeenSet; } /** *

The name of the DB cluster parameter group to associate with this DB cluster. * If this argument is omitted, the default DB cluster parameter group for the * specified engine is used.

Constraints:

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

  • *

    Must be 1 to 255 letters, numbers, or hyphens.

  • First * character must be a letter.

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

Valid for: Aurora DB clusters and * Multi-AZ DB clusters

*/ inline void SetDBClusterParameterGroupName(const Aws::String& value) { m_dBClusterParameterGroupNameHasBeenSet = true; m_dBClusterParameterGroupName = value; } /** *

The name of the DB cluster parameter group to associate with this DB cluster. * If this argument is omitted, the default DB cluster parameter group for the * specified engine is used.

Constraints:

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

  • *

    Must be 1 to 255 letters, numbers, or hyphens.

  • First * character must be a letter.

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

Valid for: Aurora DB clusters and * Multi-AZ DB clusters

*/ inline void SetDBClusterParameterGroupName(Aws::String&& value) { m_dBClusterParameterGroupNameHasBeenSet = true; m_dBClusterParameterGroupName = std::move(value); } /** *

The name of the DB cluster parameter group to associate with this DB cluster. * If this argument is omitted, the default DB cluster parameter group for the * specified engine is used.

Constraints:

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

  • *

    Must be 1 to 255 letters, numbers, or hyphens.

  • First * character must be a letter.

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

Valid for: Aurora DB clusters and * Multi-AZ DB clusters

*/ inline void SetDBClusterParameterGroupName(const char* value) { m_dBClusterParameterGroupNameHasBeenSet = true; m_dBClusterParameterGroupName.assign(value); } /** *

The name of the DB cluster parameter group to associate with this DB cluster. * If this argument is omitted, the default DB cluster parameter group for the * specified engine is used.

Constraints:

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

  • *

    Must be 1 to 255 letters, numbers, or hyphens.

  • First * character must be a letter.

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

Valid for: Aurora DB clusters and * Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithDBClusterParameterGroupName(const Aws::String& value) { SetDBClusterParameterGroupName(value); return *this;} /** *

The name of the DB cluster parameter group to associate with this DB cluster. * If this argument is omitted, the default DB cluster parameter group for the * specified engine is used.

Constraints:

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

  • *

    Must be 1 to 255 letters, numbers, or hyphens.

  • First * character must be a letter.

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

Valid for: Aurora DB clusters and * Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithDBClusterParameterGroupName(Aws::String&& value) { SetDBClusterParameterGroupName(std::move(value)); return *this;} /** *

The name of the DB cluster parameter group to associate with this DB cluster. * If this argument is omitted, the default DB cluster parameter group for the * specified engine is used.

Constraints:

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

  • *

    Must be 1 to 255 letters, numbers, or hyphens.

  • First * character must be a letter.

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

Valid for: Aurora DB clusters and * Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithDBClusterParameterGroupName(const char* value) { SetDBClusterParameterGroupName(value); return *this;} /** *

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 isn't enabled.

Valid for: Aurora DB clusters * and Multi-AZ DB clusters

*/ inline bool GetDeletionProtection() const{ return m_deletionProtection; } /** *

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 isn't enabled.

Valid for: Aurora DB clusters * and Multi-AZ DB clusters

*/ inline bool DeletionProtectionHasBeenSet() const { return m_deletionProtectionHasBeenSet; } /** *

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 isn't enabled.

Valid for: Aurora DB clusters * and Multi-AZ DB clusters

*/ inline void SetDeletionProtection(bool value) { m_deletionProtectionHasBeenSet = true; m_deletionProtection = value; } /** *

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 isn't enabled.

Valid for: Aurora DB clusters * and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithDeletionProtection(bool value) { SetDeletionProtection(value); return *this;} /** *

A value that indicates whether to copy all tags from the restored DB cluster * to snapshots of the restored DB cluster. The default is not to copy them.

*

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline bool GetCopyTagsToSnapshot() const{ return m_copyTagsToSnapshot; } /** *

A value that indicates whether to copy all tags from the restored DB cluster * to snapshots of the restored DB cluster. The default is not to copy them.

*

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline bool CopyTagsToSnapshotHasBeenSet() const { return m_copyTagsToSnapshotHasBeenSet; } /** *

A value that indicates whether to copy all tags from the restored DB cluster * to snapshots of the restored DB cluster. The default is not to copy them.

*

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline void SetCopyTagsToSnapshot(bool value) { m_copyTagsToSnapshotHasBeenSet = true; m_copyTagsToSnapshot = value; } /** *

A value that indicates whether to copy all tags from the restored DB cluster * to snapshots of the restored DB cluster. The default is not to copy them.

*

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithCopyTagsToSnapshot(bool value) { SetCopyTagsToSnapshot(value); return *this;} /** *

Specify the Active Directory directory ID to restore the DB cluster in. The * domain must be created prior to this operation. Currently, only MySQL, Microsoft * SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active * Directory Domain.

For more information, see * Kerberos Authentication in the Amazon RDS User Guide.

Valid * for: Aurora DB clusters only

*/ inline const Aws::String& GetDomain() const{ return m_domain; } /** *

Specify the Active Directory directory ID to restore the DB cluster in. The * domain must be created prior to this operation. Currently, only MySQL, Microsoft * SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active * Directory Domain.

For more information, see * Kerberos Authentication in the Amazon RDS User Guide.

Valid * for: Aurora DB clusters only

*/ inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; } /** *

Specify the Active Directory directory ID to restore the DB cluster in. The * domain must be created prior to this operation. Currently, only MySQL, Microsoft * SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active * Directory Domain.

For more information, see * Kerberos Authentication in the Amazon RDS User Guide.

Valid * for: Aurora DB clusters only

*/ inline void SetDomain(const Aws::String& value) { m_domainHasBeenSet = true; m_domain = value; } /** *

Specify the Active Directory directory ID to restore the DB cluster in. The * domain must be created prior to this operation. Currently, only MySQL, Microsoft * SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active * Directory Domain.

For more information, see * Kerberos Authentication in the Amazon RDS User Guide.

Valid * for: Aurora DB clusters only

*/ inline void SetDomain(Aws::String&& value) { m_domainHasBeenSet = true; m_domain = std::move(value); } /** *

Specify the Active Directory directory ID to restore the DB cluster in. The * domain must be created prior to this operation. Currently, only MySQL, Microsoft * SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active * Directory Domain.

For more information, see * Kerberos Authentication in the Amazon RDS User Guide.

Valid * for: Aurora DB clusters only

*/ inline void SetDomain(const char* value) { m_domainHasBeenSet = true; m_domain.assign(value); } /** *

Specify the Active Directory directory ID to restore the DB cluster in. The * domain must be created prior to this operation. Currently, only MySQL, Microsoft * SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active * Directory Domain.

For more information, see * Kerberos Authentication in the Amazon RDS User Guide.

Valid * for: Aurora DB clusters only

*/ inline RestoreDBClusterFromSnapshotRequest& WithDomain(const Aws::String& value) { SetDomain(value); return *this;} /** *

Specify the Active Directory directory ID to restore the DB cluster in. The * domain must be created prior to this operation. Currently, only MySQL, Microsoft * SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active * Directory Domain.

For more information, see * Kerberos Authentication in the Amazon RDS User Guide.

Valid * for: Aurora DB clusters only

*/ inline RestoreDBClusterFromSnapshotRequest& WithDomain(Aws::String&& value) { SetDomain(std::move(value)); return *this;} /** *

Specify the Active Directory directory ID to restore the DB cluster in. The * domain must be created prior to this operation. Currently, only MySQL, Microsoft * SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active * Directory Domain.

For more information, see * Kerberos Authentication in the Amazon RDS User Guide.

Valid * for: Aurora DB clusters only

*/ inline RestoreDBClusterFromSnapshotRequest& WithDomain(const char* value) { SetDomain(value); return *this;} /** *

Specify the name of the IAM role to be used when making API calls to the * Directory Service.

Valid for: Aurora DB clusters only

*/ inline const Aws::String& GetDomainIAMRoleName() const{ return m_domainIAMRoleName; } /** *

Specify the name of the IAM role to be used when making API calls to the * Directory Service.

Valid for: Aurora DB clusters only

*/ inline bool DomainIAMRoleNameHasBeenSet() const { return m_domainIAMRoleNameHasBeenSet; } /** *

Specify the name of the IAM role to be used when making API calls to the * Directory Service.

Valid for: Aurora DB clusters only

*/ inline void SetDomainIAMRoleName(const Aws::String& value) { m_domainIAMRoleNameHasBeenSet = true; m_domainIAMRoleName = value; } /** *

Specify the name of the IAM role to be used when making API calls to the * Directory Service.

Valid for: Aurora DB clusters only

*/ inline void SetDomainIAMRoleName(Aws::String&& value) { m_domainIAMRoleNameHasBeenSet = true; m_domainIAMRoleName = std::move(value); } /** *

Specify the name of the IAM role to be used when making API calls to the * Directory Service.

Valid for: Aurora DB clusters only

*/ inline void SetDomainIAMRoleName(const char* value) { m_domainIAMRoleNameHasBeenSet = true; m_domainIAMRoleName.assign(value); } /** *

Specify the name of the IAM role to be used when making API calls to the * Directory Service.

Valid for: Aurora DB clusters only

*/ inline RestoreDBClusterFromSnapshotRequest& WithDomainIAMRoleName(const Aws::String& value) { SetDomainIAMRoleName(value); return *this;} /** *

Specify the name of the IAM role to be used when making API calls to the * Directory Service.

Valid for: Aurora DB clusters only

*/ inline RestoreDBClusterFromSnapshotRequest& WithDomainIAMRoleName(Aws::String&& value) { SetDomainIAMRoleName(std::move(value)); return *this;} /** *

Specify the name of the IAM role to be used when making API calls to the * Directory Service.

Valid for: Aurora DB clusters only

*/ inline RestoreDBClusterFromSnapshotRequest& WithDomainIAMRoleName(const char* value) { SetDomainIAMRoleName(value); return *this;} /** *

The compute and memory capacity of the each DB instance in the Multi-AZ DB * cluster, for example db.m6gd.xlarge. Not all DB instance classes are available * in all Amazon Web Services Regions, or for all database engines.

For the * full list of DB instance classes, and availability for your engine, see DB * Instance Class in the Amazon RDS User Guide.

Valid for: * Multi-AZ DB clusters only

*/ inline const Aws::String& GetDBClusterInstanceClass() const{ return m_dBClusterInstanceClass; } /** *

The compute and memory capacity of the each DB instance in the Multi-AZ DB * cluster, for example db.m6gd.xlarge. Not all DB instance classes are available * in all Amazon Web Services Regions, or for all database engines.

For the * full list of DB instance classes, and availability for your engine, see DB * Instance Class in the Amazon RDS User Guide.

Valid for: * Multi-AZ DB clusters only

*/ inline bool DBClusterInstanceClassHasBeenSet() const { return m_dBClusterInstanceClassHasBeenSet; } /** *

The compute and memory capacity of the each DB instance in the Multi-AZ DB * cluster, for example db.m6gd.xlarge. Not all DB instance classes are available * in all Amazon Web Services Regions, or for all database engines.

For the * full list of DB instance classes, and availability for your engine, see DB * Instance Class in the Amazon RDS User Guide.

Valid for: * Multi-AZ DB clusters only

*/ inline void SetDBClusterInstanceClass(const Aws::String& value) { m_dBClusterInstanceClassHasBeenSet = true; m_dBClusterInstanceClass = value; } /** *

The compute and memory capacity of the each DB instance in the Multi-AZ DB * cluster, for example db.m6gd.xlarge. Not all DB instance classes are available * in all Amazon Web Services Regions, or for all database engines.

For the * full list of DB instance classes, and availability for your engine, see DB * Instance Class in the Amazon RDS User Guide.

Valid for: * Multi-AZ DB clusters only

*/ inline void SetDBClusterInstanceClass(Aws::String&& value) { m_dBClusterInstanceClassHasBeenSet = true; m_dBClusterInstanceClass = std::move(value); } /** *

The compute and memory capacity of the each DB instance in the Multi-AZ DB * cluster, for example db.m6gd.xlarge. Not all DB instance classes are available * in all Amazon Web Services Regions, or for all database engines.

For the * full list of DB instance classes, and availability for your engine, see DB * Instance Class in the Amazon RDS User Guide.

Valid for: * Multi-AZ DB clusters only

*/ inline void SetDBClusterInstanceClass(const char* value) { m_dBClusterInstanceClassHasBeenSet = true; m_dBClusterInstanceClass.assign(value); } /** *

The compute and memory capacity of the each DB instance in the Multi-AZ DB * cluster, for example db.m6gd.xlarge. Not all DB instance classes are available * in all Amazon Web Services Regions, or for all database engines.

For the * full list of DB instance classes, and availability for your engine, see DB * Instance Class in the Amazon RDS User Guide.

Valid for: * Multi-AZ DB clusters only

*/ inline RestoreDBClusterFromSnapshotRequest& WithDBClusterInstanceClass(const Aws::String& value) { SetDBClusterInstanceClass(value); return *this;} /** *

The compute and memory capacity of the each DB instance in the Multi-AZ DB * cluster, for example db.m6gd.xlarge. Not all DB instance classes are available * in all Amazon Web Services Regions, or for all database engines.

For the * full list of DB instance classes, and availability for your engine, see DB * Instance Class in the Amazon RDS User Guide.

Valid for: * Multi-AZ DB clusters only

*/ inline RestoreDBClusterFromSnapshotRequest& WithDBClusterInstanceClass(Aws::String&& value) { SetDBClusterInstanceClass(std::move(value)); return *this;} /** *

The compute and memory capacity of the each DB instance in the Multi-AZ DB * cluster, for example db.m6gd.xlarge. Not all DB instance classes are available * in all Amazon Web Services Regions, or for all database engines.

For the * full list of DB instance classes, and availability for your engine, see DB * Instance Class in the Amazon RDS User Guide.

Valid for: * Multi-AZ DB clusters only

*/ inline RestoreDBClusterFromSnapshotRequest& WithDBClusterInstanceClass(const char* value) { SetDBClusterInstanceClass(value); return *this;} /** *

Specifies the storage type to be associated with the DB cluster.

When * specified for a Multi-AZ DB cluster, a value for the Iops parameter * is required.

Valid values: aurora, aurora-iopt1 * (Aurora DB clusters); io1 (Multi-AZ DB clusters)

Default: * aurora (Aurora DB clusters); io1 (Multi-AZ DB * clusters)

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline const Aws::String& GetStorageType() const{ return m_storageType; } /** *

Specifies the storage type to be associated with the DB cluster.

When * specified for a Multi-AZ DB cluster, a value for the Iops parameter * is required.

Valid values: aurora, aurora-iopt1 * (Aurora DB clusters); io1 (Multi-AZ DB clusters)

Default: * aurora (Aurora DB clusters); io1 (Multi-AZ DB * clusters)

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline bool StorageTypeHasBeenSet() const { return m_storageTypeHasBeenSet; } /** *

Specifies the storage type to be associated with the DB cluster.

When * specified for a Multi-AZ DB cluster, a value for the Iops parameter * is required.

Valid values: aurora, aurora-iopt1 * (Aurora DB clusters); io1 (Multi-AZ DB clusters)

Default: * aurora (Aurora DB clusters); io1 (Multi-AZ DB * clusters)

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline void SetStorageType(const Aws::String& value) { m_storageTypeHasBeenSet = true; m_storageType = value; } /** *

Specifies the storage type to be associated with the DB cluster.

When * specified for a Multi-AZ DB cluster, a value for the Iops parameter * is required.

Valid values: aurora, aurora-iopt1 * (Aurora DB clusters); io1 (Multi-AZ DB clusters)

Default: * aurora (Aurora DB clusters); io1 (Multi-AZ DB * clusters)

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline void SetStorageType(Aws::String&& value) { m_storageTypeHasBeenSet = true; m_storageType = std::move(value); } /** *

Specifies the storage type to be associated with the DB cluster.

When * specified for a Multi-AZ DB cluster, a value for the Iops parameter * is required.

Valid values: aurora, aurora-iopt1 * (Aurora DB clusters); io1 (Multi-AZ DB clusters)

Default: * aurora (Aurora DB clusters); io1 (Multi-AZ DB * clusters)

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline void SetStorageType(const char* value) { m_storageTypeHasBeenSet = true; m_storageType.assign(value); } /** *

Specifies the storage type to be associated with the DB cluster.

When * specified for a Multi-AZ DB cluster, a value for the Iops parameter * is required.

Valid values: aurora, aurora-iopt1 * (Aurora DB clusters); io1 (Multi-AZ DB clusters)

Default: * aurora (Aurora DB clusters); io1 (Multi-AZ DB * clusters)

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithStorageType(const Aws::String& value) { SetStorageType(value); return *this;} /** *

Specifies the storage type to be associated with the DB cluster.

When * specified for a Multi-AZ DB cluster, a value for the Iops parameter * is required.

Valid values: aurora, aurora-iopt1 * (Aurora DB clusters); io1 (Multi-AZ DB clusters)

Default: * aurora (Aurora DB clusters); io1 (Multi-AZ DB * clusters)

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithStorageType(Aws::String&& value) { SetStorageType(std::move(value)); return *this;} /** *

Specifies the storage type to be associated with the DB cluster.

When * specified for a Multi-AZ DB cluster, a value for the Iops parameter * is required.

Valid values: aurora, aurora-iopt1 * (Aurora DB clusters); io1 (Multi-AZ DB clusters)

Default: * aurora (Aurora DB clusters); io1 (Multi-AZ DB * clusters)

Valid for: Aurora DB clusters and Multi-AZ DB clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithStorageType(const char* value) { SetStorageType(value); return *this;} /** *

The amount of Provisioned IOPS (input/output operations per second) to be * initially allocated for each DB instance in the Multi-AZ DB cluster.

For * information about valid IOPS values, see Amazon * RDS Provisioned IOPS storage in the Amazon RDS User Guide.

*

Constraints: Must be a multiple between .5 and 50 of the storage amount for * the DB instance.

Valid for: Aurora DB clusters and Multi-AZ DB * clusters

*/ inline int GetIops() const{ return m_iops; } /** *

The amount of Provisioned IOPS (input/output operations per second) to be * initially allocated for each DB instance in the Multi-AZ DB cluster.

For * information about valid IOPS values, see Amazon * RDS Provisioned IOPS storage in the Amazon RDS User Guide.

*

Constraints: Must be a multiple between .5 and 50 of the storage amount for * the DB instance.

Valid for: Aurora DB clusters and Multi-AZ DB * clusters

*/ inline bool IopsHasBeenSet() const { return m_iopsHasBeenSet; } /** *

The amount of Provisioned IOPS (input/output operations per second) to be * initially allocated for each DB instance in the Multi-AZ DB cluster.

For * information about valid IOPS values, see Amazon * RDS Provisioned IOPS storage in the Amazon RDS User Guide.

*

Constraints: Must be a multiple between .5 and 50 of the storage amount for * the DB instance.

Valid for: Aurora DB clusters and Multi-AZ DB * clusters

*/ inline void SetIops(int value) { m_iopsHasBeenSet = true; m_iops = value; } /** *

The amount of Provisioned IOPS (input/output operations per second) to be * initially allocated for each DB instance in the Multi-AZ DB cluster.

For * information about valid IOPS values, see Amazon * RDS Provisioned IOPS storage in the Amazon RDS User Guide.

*

Constraints: Must be a multiple between .5 and 50 of the storage amount for * the DB instance.

Valid for: Aurora DB clusters and Multi-AZ DB * clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithIops(int value) { SetIops(value); return *this;} /** *

A value that indicates whether the DB cluster is publicly accessible.

*

When the DB cluster is publicly accessible, its Domain Name System (DNS) * endpoint resolves to the private IP address from within the DB cluster's virtual * private cloud (VPC). It resolves to the public IP address from outside of the DB * cluster's VPC. Access to the DB cluster is ultimately controlled by the security * group it uses. That public access is not permitted if the security group * assigned to the DB cluster doesn't permit it.

When the DB cluster isn't * publicly accessible, it is an internal DB cluster with a DNS name that resolves * to a private IP address.

Default: The default behavior varies depending * on whether DBSubnetGroupName is specified.

If * DBSubnetGroupName isn't specified, and * PubliclyAccessible isn't specified, the following applies:

    *
  • If the default VPC in the target Region doesn’t have an internet gateway * attached to it, the DB cluster is private.

  • If the default VPC * in the target Region has an internet gateway attached to it, the DB cluster is * public.

If DBSubnetGroupName is specified, and * PubliclyAccessible isn't specified, the following applies:

    *
  • If the subnets are part of a VPC that doesn’t have an internet gateway * attached to it, the DB cluster is private.

  • If the subnets are * part of a VPC that has an internet gateway attached to it, the DB cluster is * public.

Valid for: Aurora DB clusters and Multi-AZ DB * clusters

*/ inline bool GetPubliclyAccessible() const{ return m_publiclyAccessible; } /** *

A value that indicates whether the DB cluster is publicly accessible.

*

When the DB cluster is publicly accessible, its Domain Name System (DNS) * endpoint resolves to the private IP address from within the DB cluster's virtual * private cloud (VPC). It resolves to the public IP address from outside of the DB * cluster's VPC. Access to the DB cluster is ultimately controlled by the security * group it uses. That public access is not permitted if the security group * assigned to the DB cluster doesn't permit it.

When the DB cluster isn't * publicly accessible, it is an internal DB cluster with a DNS name that resolves * to a private IP address.

Default: The default behavior varies depending * on whether DBSubnetGroupName is specified.

If * DBSubnetGroupName isn't specified, and * PubliclyAccessible isn't specified, the following applies:

    *
  • If the default VPC in the target Region doesn’t have an internet gateway * attached to it, the DB cluster is private.

  • If the default VPC * in the target Region has an internet gateway attached to it, the DB cluster is * public.

If DBSubnetGroupName is specified, and * PubliclyAccessible isn't specified, the following applies:

    *
  • If the subnets are part of a VPC that doesn’t have an internet gateway * attached to it, the DB cluster is private.

  • If the subnets are * part of a VPC that has an internet gateway attached to it, the DB cluster is * public.

Valid for: Aurora DB clusters and Multi-AZ DB * clusters

*/ inline bool PubliclyAccessibleHasBeenSet() const { return m_publiclyAccessibleHasBeenSet; } /** *

A value that indicates whether the DB cluster is publicly accessible.

*

When the DB cluster is publicly accessible, its Domain Name System (DNS) * endpoint resolves to the private IP address from within the DB cluster's virtual * private cloud (VPC). It resolves to the public IP address from outside of the DB * cluster's VPC. Access to the DB cluster is ultimately controlled by the security * group it uses. That public access is not permitted if the security group * assigned to the DB cluster doesn't permit it.

When the DB cluster isn't * publicly accessible, it is an internal DB cluster with a DNS name that resolves * to a private IP address.

Default: The default behavior varies depending * on whether DBSubnetGroupName is specified.

If * DBSubnetGroupName isn't specified, and * PubliclyAccessible isn't specified, the following applies:

    *
  • If the default VPC in the target Region doesn’t have an internet gateway * attached to it, the DB cluster is private.

  • If the default VPC * in the target Region has an internet gateway attached to it, the DB cluster is * public.

If DBSubnetGroupName is specified, and * PubliclyAccessible isn't specified, the following applies:

    *
  • If the subnets are part of a VPC that doesn’t have an internet gateway * attached to it, the DB cluster is private.

  • If the subnets are * part of a VPC that has an internet gateway attached to it, the DB cluster is * public.

Valid for: Aurora DB clusters and Multi-AZ DB * clusters

*/ inline void SetPubliclyAccessible(bool value) { m_publiclyAccessibleHasBeenSet = true; m_publiclyAccessible = value; } /** *

A value that indicates whether the DB cluster is publicly accessible.

*

When the DB cluster is publicly accessible, its Domain Name System (DNS) * endpoint resolves to the private IP address from within the DB cluster's virtual * private cloud (VPC). It resolves to the public IP address from outside of the DB * cluster's VPC. Access to the DB cluster is ultimately controlled by the security * group it uses. That public access is not permitted if the security group * assigned to the DB cluster doesn't permit it.

When the DB cluster isn't * publicly accessible, it is an internal DB cluster with a DNS name that resolves * to a private IP address.

Default: The default behavior varies depending * on whether DBSubnetGroupName is specified.

If * DBSubnetGroupName isn't specified, and * PubliclyAccessible isn't specified, the following applies:

    *
  • If the default VPC in the target Region doesn’t have an internet gateway * attached to it, the DB cluster is private.

  • If the default VPC * in the target Region has an internet gateway attached to it, the DB cluster is * public.

If DBSubnetGroupName is specified, and * PubliclyAccessible isn't specified, the following applies:

    *
  • If the subnets are part of a VPC that doesn’t have an internet gateway * attached to it, the DB cluster is private.

  • If the subnets are * part of a VPC that has an internet gateway attached to it, the DB cluster is * public.

Valid for: Aurora DB clusters and Multi-AZ DB * clusters

*/ inline RestoreDBClusterFromSnapshotRequest& WithPubliclyAccessible(bool value) { SetPubliclyAccessible(value); return *this;} inline const ServerlessV2ScalingConfiguration& GetServerlessV2ScalingConfiguration() const{ return m_serverlessV2ScalingConfiguration; } inline bool ServerlessV2ScalingConfigurationHasBeenSet() const { return m_serverlessV2ScalingConfigurationHasBeenSet; } inline void SetServerlessV2ScalingConfiguration(const ServerlessV2ScalingConfiguration& value) { m_serverlessV2ScalingConfigurationHasBeenSet = true; m_serverlessV2ScalingConfiguration = value; } inline void SetServerlessV2ScalingConfiguration(ServerlessV2ScalingConfiguration&& value) { m_serverlessV2ScalingConfigurationHasBeenSet = true; m_serverlessV2ScalingConfiguration = std::move(value); } inline RestoreDBClusterFromSnapshotRequest& WithServerlessV2ScalingConfiguration(const ServerlessV2ScalingConfiguration& value) { SetServerlessV2ScalingConfiguration(value); return *this;} inline RestoreDBClusterFromSnapshotRequest& WithServerlessV2ScalingConfiguration(ServerlessV2ScalingConfiguration&& value) { SetServerlessV2ScalingConfiguration(std::move(value)); return *this;} /** *

The network type of the DB cluster.

Valid values:

  • * IPV4

  • DUAL

The * network type is determined by the DBSubnetGroup specified for the * DB cluster. A DBSubnetGroup can support only the IPv4 protocol or * the IPv4 and the IPv6 protocols (DUAL).

For more * information, see * Working with a DB instance in a VPC in the Amazon Aurora User Guide. *

Valid for: Aurora DB clusters only

*/ inline const Aws::String& GetNetworkType() const{ return m_networkType; } /** *

The network type of the DB cluster.

Valid values:

  • * IPV4

  • DUAL

The * network type is determined by the DBSubnetGroup specified for the * DB cluster. A DBSubnetGroup can support only the IPv4 protocol or * the IPv4 and the IPv6 protocols (DUAL).

For more * information, see * Working with a DB instance in a VPC in the Amazon Aurora User Guide. *

Valid for: Aurora DB clusters only

*/ inline bool NetworkTypeHasBeenSet() const { return m_networkTypeHasBeenSet; } /** *

The network type of the DB cluster.

Valid values:

  • * IPV4

  • DUAL

The * network type is determined by the DBSubnetGroup specified for the * DB cluster. A DBSubnetGroup can support only the IPv4 protocol or * the IPv4 and the IPv6 protocols (DUAL).

For more * information, see * Working with a DB instance in a VPC in the Amazon Aurora User Guide. *

Valid for: Aurora DB clusters only

*/ inline void SetNetworkType(const Aws::String& value) { m_networkTypeHasBeenSet = true; m_networkType = value; } /** *

The network type of the DB cluster.

Valid values:

  • * IPV4

  • DUAL

The * network type is determined by the DBSubnetGroup specified for the * DB cluster. A DBSubnetGroup can support only the IPv4 protocol or * the IPv4 and the IPv6 protocols (DUAL).

For more * information, see * Working with a DB instance in a VPC in the Amazon Aurora User Guide. *

Valid for: Aurora DB clusters only

*/ inline void SetNetworkType(Aws::String&& value) { m_networkTypeHasBeenSet = true; m_networkType = std::move(value); } /** *

The network type of the DB cluster.

Valid values:

  • * IPV4

  • DUAL

The * network type is determined by the DBSubnetGroup specified for the * DB cluster. A DBSubnetGroup can support only the IPv4 protocol or * the IPv4 and the IPv6 protocols (DUAL).

For more * information, see * Working with a DB instance in a VPC in the Amazon Aurora User Guide. *

Valid for: Aurora DB clusters only

*/ inline void SetNetworkType(const char* value) { m_networkTypeHasBeenSet = true; m_networkType.assign(value); } /** *

The network type of the DB cluster.

Valid values:

  • * IPV4

  • DUAL

The * network type is determined by the DBSubnetGroup specified for the * DB cluster. A DBSubnetGroup can support only the IPv4 protocol or * the IPv4 and the IPv6 protocols (DUAL).

For more * information, see * Working with a DB instance in a VPC in the Amazon Aurora User Guide. *

Valid for: Aurora DB clusters only

*/ inline RestoreDBClusterFromSnapshotRequest& WithNetworkType(const Aws::String& value) { SetNetworkType(value); return *this;} /** *

The network type of the DB cluster.

Valid values:

  • * IPV4

  • DUAL

The * network type is determined by the DBSubnetGroup specified for the * DB cluster. A DBSubnetGroup can support only the IPv4 protocol or * the IPv4 and the IPv6 protocols (DUAL).

For more * information, see * Working with a DB instance in a VPC in the Amazon Aurora User Guide. *

Valid for: Aurora DB clusters only

*/ inline RestoreDBClusterFromSnapshotRequest& WithNetworkType(Aws::String&& value) { SetNetworkType(std::move(value)); return *this;} /** *

The network type of the DB cluster.

Valid values:

  • * IPV4

  • DUAL

The * network type is determined by the DBSubnetGroup specified for the * DB cluster. A DBSubnetGroup can support only the IPv4 protocol or * the IPv4 and the IPv6 protocols (DUAL).

For more * information, see * Working with a DB instance in a VPC in the Amazon Aurora User Guide. *

Valid for: Aurora DB clusters only

*/ inline RestoreDBClusterFromSnapshotRequest& WithNetworkType(const char* value) { SetNetworkType(value); return *this;} private: Aws::Vector m_availabilityZones; bool m_availabilityZonesHasBeenSet = false; Aws::String m_dBClusterIdentifier; bool m_dBClusterIdentifierHasBeenSet = false; Aws::String m_snapshotIdentifier; bool m_snapshotIdentifierHasBeenSet = false; Aws::String m_engine; bool m_engineHasBeenSet = false; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet = false; int m_port; bool m_portHasBeenSet = false; Aws::String m_dBSubnetGroupName; bool m_dBSubnetGroupNameHasBeenSet = false; Aws::String m_databaseName; bool m_databaseNameHasBeenSet = false; Aws::String m_optionGroupName; bool m_optionGroupNameHasBeenSet = false; Aws::Vector m_vpcSecurityGroupIds; bool m_vpcSecurityGroupIdsHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet = false; bool m_enableIAMDatabaseAuthentication; bool m_enableIAMDatabaseAuthenticationHasBeenSet = false; long long m_backtrackWindow; bool m_backtrackWindowHasBeenSet = false; Aws::Vector m_enableCloudwatchLogsExports; bool m_enableCloudwatchLogsExportsHasBeenSet = false; Aws::String m_engineMode; bool m_engineModeHasBeenSet = false; ScalingConfiguration m_scalingConfiguration; bool m_scalingConfigurationHasBeenSet = false; Aws::String m_dBClusterParameterGroupName; bool m_dBClusterParameterGroupNameHasBeenSet = false; bool m_deletionProtection; bool m_deletionProtectionHasBeenSet = false; bool m_copyTagsToSnapshot; bool m_copyTagsToSnapshotHasBeenSet = false; Aws::String m_domain; bool m_domainHasBeenSet = false; Aws::String m_domainIAMRoleName; bool m_domainIAMRoleNameHasBeenSet = false; Aws::String m_dBClusterInstanceClass; bool m_dBClusterInstanceClassHasBeenSet = false; Aws::String m_storageType; bool m_storageTypeHasBeenSet = false; int m_iops; bool m_iopsHasBeenSet = false; bool m_publiclyAccessible; bool m_publiclyAccessibleHasBeenSet = false; ServerlessV2ScalingConfiguration m_serverlessV2ScalingConfiguration; bool m_serverlessV2ScalingConfigurationHasBeenSet = false; Aws::String m_networkType; bool m_networkTypeHasBeenSet = false; }; } // namespace Model } // namespace RDS } // namespace Aws