/** * 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 { /** */ class AWS_RDS_API CreateDBInstanceReadReplicaRequest : public RDSRequest { public: CreateDBInstanceReadReplicaRequest(); // 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 "CreateDBInstanceReadReplica"; } Aws::String SerializePayload() const override; protected: void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The DB instance identifier of the read replica. This identifier is the unique * key that identifies a DB instance. This parameter is stored as a lowercase * string.

*/ inline const Aws::String& GetDBInstanceIdentifier() const{ return m_dBInstanceIdentifier; } /** *

The DB instance identifier of the read replica. This identifier is the unique * key that identifies a DB instance. This parameter is stored as a lowercase * string.

*/ inline bool DBInstanceIdentifierHasBeenSet() const { return m_dBInstanceIdentifierHasBeenSet; } /** *

The DB instance identifier of the read replica. This identifier is the unique * key that identifies a DB instance. This parameter is stored as a lowercase * string.

*/ inline void SetDBInstanceIdentifier(const Aws::String& value) { m_dBInstanceIdentifierHasBeenSet = true; m_dBInstanceIdentifier = value; } /** *

The DB instance identifier of the read replica. This identifier is the unique * key that identifies a DB instance. This parameter is stored as a lowercase * string.

*/ inline void SetDBInstanceIdentifier(Aws::String&& value) { m_dBInstanceIdentifierHasBeenSet = true; m_dBInstanceIdentifier = std::move(value); } /** *

The DB instance identifier of the read replica. This identifier is the unique * key that identifies a DB instance. This parameter is stored as a lowercase * string.

*/ inline void SetDBInstanceIdentifier(const char* value) { m_dBInstanceIdentifierHasBeenSet = true; m_dBInstanceIdentifier.assign(value); } /** *

The DB instance identifier of the read replica. This identifier is the unique * key that identifies a DB instance. This parameter is stored as a lowercase * string.

*/ inline CreateDBInstanceReadReplicaRequest& WithDBInstanceIdentifier(const Aws::String& value) { SetDBInstanceIdentifier(value); return *this;} /** *

The DB instance identifier of the read replica. This identifier is the unique * key that identifies a DB instance. This parameter is stored as a lowercase * string.

*/ inline CreateDBInstanceReadReplicaRequest& WithDBInstanceIdentifier(Aws::String&& value) { SetDBInstanceIdentifier(std::move(value)); return *this;} /** *

The DB instance identifier of the read replica. This identifier is the unique * key that identifies a DB instance. This parameter is stored as a lowercase * string.

*/ inline CreateDBInstanceReadReplicaRequest& WithDBInstanceIdentifier(const char* value) { SetDBInstanceIdentifier(value); return *this;} /** *

The identifier of the DB instance that will act as the source for the read * replica. Each DB instance can have up to five read replicas.

*

Constraints:

  • Must be the identifier of an existing MySQL, * MariaDB, Oracle, PostgreSQL, or SQL Server DB instance.

  • Can * specify a DB instance that is a MySQL read replica only if the source is running * MySQL 5.6 or later.

  • For the limitations of Oracle read * replicas, see Read * Replica Limitations with Oracle in the Amazon RDS User Guide.

    *
  • For the limitations of SQL Server read replicas, see Read * Replica Limitations with Microsoft SQL Server in the Amazon RDS User * Guide.

  • Can specify a PostgreSQL DB instance only if the * source is running PostgreSQL 9.3.5 or later (9.4.7 and higher for cross-region * replication).

  • The specified DB instance must have automatic * backups enabled, that is, its backup retention period must be greater than * 0.

  • If the source DB instance is in the same AWS Region as the * read replica, specify a valid DB instance identifier.

  • If the * source DB instance is in a different AWS Region from the read replica, specify a * valid DB instance ARN. For more information, see Constructing * an ARN for Amazon RDS in the Amazon RDS User Guide. This doesn't * apply to SQL Server, which doesn't support cross-region replicas.

  • *
*/ inline const Aws::String& GetSourceDBInstanceIdentifier() const{ return m_sourceDBInstanceIdentifier; } /** *

The identifier of the DB instance that will act as the source for the read * replica. Each DB instance can have up to five read replicas.

*

Constraints:

  • Must be the identifier of an existing MySQL, * MariaDB, Oracle, PostgreSQL, or SQL Server DB instance.

  • Can * specify a DB instance that is a MySQL read replica only if the source is running * MySQL 5.6 or later.

  • For the limitations of Oracle read * replicas, see Read * Replica Limitations with Oracle in the Amazon RDS User Guide.

    *
  • For the limitations of SQL Server read replicas, see Read * Replica Limitations with Microsoft SQL Server in the Amazon RDS User * Guide.

  • Can specify a PostgreSQL DB instance only if the * source is running PostgreSQL 9.3.5 or later (9.4.7 and higher for cross-region * replication).

  • The specified DB instance must have automatic * backups enabled, that is, its backup retention period must be greater than * 0.

  • If the source DB instance is in the same AWS Region as the * read replica, specify a valid DB instance identifier.

  • If the * source DB instance is in a different AWS Region from the read replica, specify a * valid DB instance ARN. For more information, see Constructing * an ARN for Amazon RDS in the Amazon RDS User Guide. This doesn't * apply to SQL Server, which doesn't support cross-region replicas.

  • *
*/ inline bool SourceDBInstanceIdentifierHasBeenSet() const { return m_sourceDBInstanceIdentifierHasBeenSet; } /** *

The identifier of the DB instance that will act as the source for the read * replica. Each DB instance can have up to five read replicas.

*

Constraints:

  • Must be the identifier of an existing MySQL, * MariaDB, Oracle, PostgreSQL, or SQL Server DB instance.

  • Can * specify a DB instance that is a MySQL read replica only if the source is running * MySQL 5.6 or later.

  • For the limitations of Oracle read * replicas, see Read * Replica Limitations with Oracle in the Amazon RDS User Guide.

    *
  • For the limitations of SQL Server read replicas, see Read * Replica Limitations with Microsoft SQL Server in the Amazon RDS User * Guide.

  • Can specify a PostgreSQL DB instance only if the * source is running PostgreSQL 9.3.5 or later (9.4.7 and higher for cross-region * replication).

  • The specified DB instance must have automatic * backups enabled, that is, its backup retention period must be greater than * 0.

  • If the source DB instance is in the same AWS Region as the * read replica, specify a valid DB instance identifier.

  • If the * source DB instance is in a different AWS Region from the read replica, specify a * valid DB instance ARN. For more information, see Constructing * an ARN for Amazon RDS in the Amazon RDS User Guide. This doesn't * apply to SQL Server, which doesn't support cross-region replicas.

  • *
*/ inline void SetSourceDBInstanceIdentifier(const Aws::String& value) { m_sourceDBInstanceIdentifierHasBeenSet = true; m_sourceDBInstanceIdentifier = value; } /** *

The identifier of the DB instance that will act as the source for the read * replica. Each DB instance can have up to five read replicas.

*

Constraints:

  • Must be the identifier of an existing MySQL, * MariaDB, Oracle, PostgreSQL, or SQL Server DB instance.

  • Can * specify a DB instance that is a MySQL read replica only if the source is running * MySQL 5.6 or later.

  • For the limitations of Oracle read * replicas, see Read * Replica Limitations with Oracle in the Amazon RDS User Guide.

    *
  • For the limitations of SQL Server read replicas, see Read * Replica Limitations with Microsoft SQL Server in the Amazon RDS User * Guide.

  • Can specify a PostgreSQL DB instance only if the * source is running PostgreSQL 9.3.5 or later (9.4.7 and higher for cross-region * replication).

  • The specified DB instance must have automatic * backups enabled, that is, its backup retention period must be greater than * 0.

  • If the source DB instance is in the same AWS Region as the * read replica, specify a valid DB instance identifier.

  • If the * source DB instance is in a different AWS Region from the read replica, specify a * valid DB instance ARN. For more information, see Constructing * an ARN for Amazon RDS in the Amazon RDS User Guide. This doesn't * apply to SQL Server, which doesn't support cross-region replicas.

  • *
*/ inline void SetSourceDBInstanceIdentifier(Aws::String&& value) { m_sourceDBInstanceIdentifierHasBeenSet = true; m_sourceDBInstanceIdentifier = std::move(value); } /** *

The identifier of the DB instance that will act as the source for the read * replica. Each DB instance can have up to five read replicas.

*

Constraints:

  • Must be the identifier of an existing MySQL, * MariaDB, Oracle, PostgreSQL, or SQL Server DB instance.

  • Can * specify a DB instance that is a MySQL read replica only if the source is running * MySQL 5.6 or later.

  • For the limitations of Oracle read * replicas, see Read * Replica Limitations with Oracle in the Amazon RDS User Guide.

    *
  • For the limitations of SQL Server read replicas, see Read * Replica Limitations with Microsoft SQL Server in the Amazon RDS User * Guide.

  • Can specify a PostgreSQL DB instance only if the * source is running PostgreSQL 9.3.5 or later (9.4.7 and higher for cross-region * replication).

  • The specified DB instance must have automatic * backups enabled, that is, its backup retention period must be greater than * 0.

  • If the source DB instance is in the same AWS Region as the * read replica, specify a valid DB instance identifier.

  • If the * source DB instance is in a different AWS Region from the read replica, specify a * valid DB instance ARN. For more information, see Constructing * an ARN for Amazon RDS in the Amazon RDS User Guide. This doesn't * apply to SQL Server, which doesn't support cross-region replicas.

  • *
*/ inline void SetSourceDBInstanceIdentifier(const char* value) { m_sourceDBInstanceIdentifierHasBeenSet = true; m_sourceDBInstanceIdentifier.assign(value); } /** *

The identifier of the DB instance that will act as the source for the read * replica. Each DB instance can have up to five read replicas.

*

Constraints:

  • Must be the identifier of an existing MySQL, * MariaDB, Oracle, PostgreSQL, or SQL Server DB instance.

  • Can * specify a DB instance that is a MySQL read replica only if the source is running * MySQL 5.6 or later.

  • For the limitations of Oracle read * replicas, see Read * Replica Limitations with Oracle in the Amazon RDS User Guide.

    *
  • For the limitations of SQL Server read replicas, see Read * Replica Limitations with Microsoft SQL Server in the Amazon RDS User * Guide.

  • Can specify a PostgreSQL DB instance only if the * source is running PostgreSQL 9.3.5 or later (9.4.7 and higher for cross-region * replication).

  • The specified DB instance must have automatic * backups enabled, that is, its backup retention period must be greater than * 0.

  • If the source DB instance is in the same AWS Region as the * read replica, specify a valid DB instance identifier.

  • If the * source DB instance is in a different AWS Region from the read replica, specify a * valid DB instance ARN. For more information, see Constructing * an ARN for Amazon RDS in the Amazon RDS User Guide. This doesn't * apply to SQL Server, which doesn't support cross-region replicas.

  • *
*/ inline CreateDBInstanceReadReplicaRequest& WithSourceDBInstanceIdentifier(const Aws::String& value) { SetSourceDBInstanceIdentifier(value); return *this;} /** *

The identifier of the DB instance that will act as the source for the read * replica. Each DB instance can have up to five read replicas.

*

Constraints:

  • Must be the identifier of an existing MySQL, * MariaDB, Oracle, PostgreSQL, or SQL Server DB instance.

  • Can * specify a DB instance that is a MySQL read replica only if the source is running * MySQL 5.6 or later.

  • For the limitations of Oracle read * replicas, see Read * Replica Limitations with Oracle in the Amazon RDS User Guide.

    *
  • For the limitations of SQL Server read replicas, see Read * Replica Limitations with Microsoft SQL Server in the Amazon RDS User * Guide.

  • Can specify a PostgreSQL DB instance only if the * source is running PostgreSQL 9.3.5 or later (9.4.7 and higher for cross-region * replication).

  • The specified DB instance must have automatic * backups enabled, that is, its backup retention period must be greater than * 0.

  • If the source DB instance is in the same AWS Region as the * read replica, specify a valid DB instance identifier.

  • If the * source DB instance is in a different AWS Region from the read replica, specify a * valid DB instance ARN. For more information, see Constructing * an ARN for Amazon RDS in the Amazon RDS User Guide. This doesn't * apply to SQL Server, which doesn't support cross-region replicas.

  • *
*/ inline CreateDBInstanceReadReplicaRequest& WithSourceDBInstanceIdentifier(Aws::String&& value) { SetSourceDBInstanceIdentifier(std::move(value)); return *this;} /** *

The identifier of the DB instance that will act as the source for the read * replica. Each DB instance can have up to five read replicas.

*

Constraints:

  • Must be the identifier of an existing MySQL, * MariaDB, Oracle, PostgreSQL, or SQL Server DB instance.

  • Can * specify a DB instance that is a MySQL read replica only if the source is running * MySQL 5.6 or later.

  • For the limitations of Oracle read * replicas, see Read * Replica Limitations with Oracle in the Amazon RDS User Guide.

    *
  • For the limitations of SQL Server read replicas, see Read * Replica Limitations with Microsoft SQL Server in the Amazon RDS User * Guide.

  • Can specify a PostgreSQL DB instance only if the * source is running PostgreSQL 9.3.5 or later (9.4.7 and higher for cross-region * replication).

  • The specified DB instance must have automatic * backups enabled, that is, its backup retention period must be greater than * 0.

  • If the source DB instance is in the same AWS Region as the * read replica, specify a valid DB instance identifier.

  • If the * source DB instance is in a different AWS Region from the read replica, specify a * valid DB instance ARN. For more information, see Constructing * an ARN for Amazon RDS in the Amazon RDS User Guide. This doesn't * apply to SQL Server, which doesn't support cross-region replicas.

  • *
*/ inline CreateDBInstanceReadReplicaRequest& WithSourceDBInstanceIdentifier(const char* value) { SetSourceDBInstanceIdentifier(value); return *this;} /** *

The compute and memory capacity of the read replica, for example, * db.m4.large. Not all DB instance classes are available in all AWS * 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.

Default: * Inherits from the source DB instance.

*/ inline const Aws::String& GetDBInstanceClass() const{ return m_dBInstanceClass; } /** *

The compute and memory capacity of the read replica, for example, * db.m4.large. Not all DB instance classes are available in all AWS * 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.

Default: * Inherits from the source DB instance.

*/ inline bool DBInstanceClassHasBeenSet() const { return m_dBInstanceClassHasBeenSet; } /** *

The compute and memory capacity of the read replica, for example, * db.m4.large. Not all DB instance classes are available in all AWS * 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.

Default: * Inherits from the source DB instance.

*/ inline void SetDBInstanceClass(const Aws::String& value) { m_dBInstanceClassHasBeenSet = true; m_dBInstanceClass = value; } /** *

The compute and memory capacity of the read replica, for example, * db.m4.large. Not all DB instance classes are available in all AWS * 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.

Default: * Inherits from the source DB instance.

*/ inline void SetDBInstanceClass(Aws::String&& value) { m_dBInstanceClassHasBeenSet = true; m_dBInstanceClass = std::move(value); } /** *

The compute and memory capacity of the read replica, for example, * db.m4.large. Not all DB instance classes are available in all AWS * 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.

Default: * Inherits from the source DB instance.

*/ inline void SetDBInstanceClass(const char* value) { m_dBInstanceClassHasBeenSet = true; m_dBInstanceClass.assign(value); } /** *

The compute and memory capacity of the read replica, for example, * db.m4.large. Not all DB instance classes are available in all AWS * 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.

Default: * Inherits from the source DB instance.

*/ inline CreateDBInstanceReadReplicaRequest& WithDBInstanceClass(const Aws::String& value) { SetDBInstanceClass(value); return *this;} /** *

The compute and memory capacity of the read replica, for example, * db.m4.large. Not all DB instance classes are available in all AWS * 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.

Default: * Inherits from the source DB instance.

*/ inline CreateDBInstanceReadReplicaRequest& WithDBInstanceClass(Aws::String&& value) { SetDBInstanceClass(std::move(value)); return *this;} /** *

The compute and memory capacity of the read replica, for example, * db.m4.large. Not all DB instance classes are available in all AWS * 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.

Default: * Inherits from the source DB instance.

*/ inline CreateDBInstanceReadReplicaRequest& WithDBInstanceClass(const char* value) { SetDBInstanceClass(value); return *this;} /** *

The Availability Zone (AZ) where the read replica will be created.

*

Default: A random, system-chosen Availability Zone in the endpoint's AWS * Region.

Example: us-east-1d

*/ inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; } /** *

The Availability Zone (AZ) where the read replica will be created.

*

Default: A random, system-chosen Availability Zone in the endpoint's AWS * Region.

Example: us-east-1d

*/ inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } /** *

The Availability Zone (AZ) where the read replica will be created.

*

Default: A random, system-chosen Availability Zone in the endpoint's AWS * Region.

Example: us-east-1d

*/ inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; } /** *

The Availability Zone (AZ) where the read replica will be created.

*

Default: A random, system-chosen Availability Zone in the endpoint's AWS * Region.

Example: us-east-1d

*/ inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); } /** *

The Availability Zone (AZ) where the read replica will be created.

*

Default: A random, system-chosen Availability Zone in the endpoint's AWS * Region.

Example: us-east-1d

*/ inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); } /** *

The Availability Zone (AZ) where the read replica will be created.

*

Default: A random, system-chosen Availability Zone in the endpoint's AWS * Region.

Example: us-east-1d

*/ inline CreateDBInstanceReadReplicaRequest& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;} /** *

The Availability Zone (AZ) where the read replica will be created.

*

Default: A random, system-chosen Availability Zone in the endpoint's AWS * Region.

Example: us-east-1d

*/ inline CreateDBInstanceReadReplicaRequest& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;} /** *

The Availability Zone (AZ) where the read replica will be created.

*

Default: A random, system-chosen Availability Zone in the endpoint's AWS * Region.

Example: us-east-1d

*/ inline CreateDBInstanceReadReplicaRequest& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;} /** *

The port number that the DB instance uses for connections.

Default: * Inherits from the source DB instance

Valid Values: * 1150-65535

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

The port number that the DB instance uses for connections.

Default: * Inherits from the source DB instance

Valid Values: * 1150-65535

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

The port number that the DB instance uses for connections.

Default: * Inherits from the source DB instance

Valid Values: * 1150-65535

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

The port number that the DB instance uses for connections.

Default: * Inherits from the source DB instance

Valid Values: * 1150-65535

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

A value that indicates whether the read replica is in a Multi-AZ deployment. *

You can create a read replica as a Multi-AZ DB instance. RDS creates a * standby of your replica in another Availability Zone for failover support for * the replica. Creating your read replica as a Multi-AZ DB instance is independent * of whether the source database is a Multi-AZ DB instance.

*/ inline bool GetMultiAZ() const{ return m_multiAZ; } /** *

A value that indicates whether the read replica is in a Multi-AZ deployment. *

You can create a read replica as a Multi-AZ DB instance. RDS creates a * standby of your replica in another Availability Zone for failover support for * the replica. Creating your read replica as a Multi-AZ DB instance is independent * of whether the source database is a Multi-AZ DB instance.

*/ inline bool MultiAZHasBeenSet() const { return m_multiAZHasBeenSet; } /** *

A value that indicates whether the read replica is in a Multi-AZ deployment. *

You can create a read replica as a Multi-AZ DB instance. RDS creates a * standby of your replica in another Availability Zone for failover support for * the replica. Creating your read replica as a Multi-AZ DB instance is independent * of whether the source database is a Multi-AZ DB instance.

*/ inline void SetMultiAZ(bool value) { m_multiAZHasBeenSet = true; m_multiAZ = value; } /** *

A value that indicates whether the read replica is in a Multi-AZ deployment. *

You can create a read replica as a Multi-AZ DB instance. RDS creates a * standby of your replica in another Availability Zone for failover support for * the replica. Creating your read replica as a Multi-AZ DB instance is independent * of whether the source database is a Multi-AZ DB instance.

*/ inline CreateDBInstanceReadReplicaRequest& WithMultiAZ(bool value) { SetMultiAZ(value); return *this;} /** *

A value that indicates whether minor engine upgrades are applied * automatically to the read replica during the maintenance window.

Default: * Inherits from the source DB instance

*/ inline bool GetAutoMinorVersionUpgrade() const{ return m_autoMinorVersionUpgrade; } /** *

A value that indicates whether minor engine upgrades are applied * automatically to the read replica during the maintenance window.

Default: * Inherits from the source DB instance

*/ inline bool AutoMinorVersionUpgradeHasBeenSet() const { return m_autoMinorVersionUpgradeHasBeenSet; } /** *

A value that indicates whether minor engine upgrades are applied * automatically to the read replica during the maintenance window.

Default: * Inherits from the source DB instance

*/ inline void SetAutoMinorVersionUpgrade(bool value) { m_autoMinorVersionUpgradeHasBeenSet = true; m_autoMinorVersionUpgrade = value; } /** *

A value that indicates whether minor engine upgrades are applied * automatically to the read replica during the maintenance window.

Default: * Inherits from the source DB instance

*/ inline CreateDBInstanceReadReplicaRequest& WithAutoMinorVersionUpgrade(bool value) { SetAutoMinorVersionUpgrade(value); return *this;} /** *

The amount of Provisioned IOPS (input/output operations per second) to be * initially allocated for the DB instance.

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

The amount of Provisioned IOPS (input/output operations per second) to be * initially allocated for the DB instance.

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

The amount of Provisioned IOPS (input/output operations per second) to be * initially allocated for the DB instance.

*/ 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 the DB instance.

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

The option group the DB instance is associated with. If omitted, the option * group associated with the source instance is used.

For SQL Server, * you must use the option group associated with the source instance.

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

The option group the DB instance is associated with. If omitted, the option * group associated with the source instance is used.

For SQL Server, * you must use the option group associated with the source instance.

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

The option group the DB instance is associated with. If omitted, the option * group associated with the source instance is used.

For SQL Server, * you must use the option group associated with the source instance.

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

The option group the DB instance is associated with. If omitted, the option * group associated with the source instance is used.

For SQL Server, * you must use the option group associated with the source instance.

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

The option group the DB instance is associated with. If omitted, the option * group associated with the source instance is used.

For SQL Server, * you must use the option group associated with the source instance.

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

The option group the DB instance is associated with. If omitted, the option * group associated with the source instance is used.

For SQL Server, * you must use the option group associated with the source instance.

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

The option group the DB instance is associated with. If omitted, the option * group associated with the source instance is used.

For SQL Server, * you must use the option group associated with the source instance.

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

The option group the DB instance is associated with. If omitted, the option * group associated with the source instance is used.

For SQL Server, * you must use the option group associated with the source instance.

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

The name of the DB parameter group to associate with this DB instance.

*

If you do not specify a value for DBParameterGroupName, then * Amazon RDS uses the DBParameterGroup of source DB instance for a * same region read replica, or the default DBParameterGroup for the * specified DB engine for a cross region read replica.

Currently, * specifying a parameter group for this operation is only supported for Oracle DB * instances.

Constraints:

  • 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

*/ inline const Aws::String& GetDBParameterGroupName() const{ return m_dBParameterGroupName; } /** *

The name of the DB parameter group to associate with this DB instance.

*

If you do not specify a value for DBParameterGroupName, then * Amazon RDS uses the DBParameterGroup of source DB instance for a * same region read replica, or the default DBParameterGroup for the * specified DB engine for a cross region read replica.

Currently, * specifying a parameter group for this operation is only supported for Oracle DB * instances.

Constraints:

  • 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

*/ inline bool DBParameterGroupNameHasBeenSet() const { return m_dBParameterGroupNameHasBeenSet; } /** *

The name of the DB parameter group to associate with this DB instance.

*

If you do not specify a value for DBParameterGroupName, then * Amazon RDS uses the DBParameterGroup of source DB instance for a * same region read replica, or the default DBParameterGroup for the * specified DB engine for a cross region read replica.

Currently, * specifying a parameter group for this operation is only supported for Oracle DB * instances.

Constraints:

  • 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

*/ inline void SetDBParameterGroupName(const Aws::String& value) { m_dBParameterGroupNameHasBeenSet = true; m_dBParameterGroupName = value; } /** *

The name of the DB parameter group to associate with this DB instance.

*

If you do not specify a value for DBParameterGroupName, then * Amazon RDS uses the DBParameterGroup of source DB instance for a * same region read replica, or the default DBParameterGroup for the * specified DB engine for a cross region read replica.

Currently, * specifying a parameter group for this operation is only supported for Oracle DB * instances.

Constraints:

  • 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

*/ inline void SetDBParameterGroupName(Aws::String&& value) { m_dBParameterGroupNameHasBeenSet = true; m_dBParameterGroupName = std::move(value); } /** *

The name of the DB parameter group to associate with this DB instance.

*

If you do not specify a value for DBParameterGroupName, then * Amazon RDS uses the DBParameterGroup of source DB instance for a * same region read replica, or the default DBParameterGroup for the * specified DB engine for a cross region read replica.

Currently, * specifying a parameter group for this operation is only supported for Oracle DB * instances.

Constraints:

  • 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

*/ inline void SetDBParameterGroupName(const char* value) { m_dBParameterGroupNameHasBeenSet = true; m_dBParameterGroupName.assign(value); } /** *

The name of the DB parameter group to associate with this DB instance.

*

If you do not specify a value for DBParameterGroupName, then * Amazon RDS uses the DBParameterGroup of source DB instance for a * same region read replica, or the default DBParameterGroup for the * specified DB engine for a cross region read replica.

Currently, * specifying a parameter group for this operation is only supported for Oracle DB * instances.

Constraints:

  • 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

*/ inline CreateDBInstanceReadReplicaRequest& WithDBParameterGroupName(const Aws::String& value) { SetDBParameterGroupName(value); return *this;} /** *

The name of the DB parameter group to associate with this DB instance.

*

If you do not specify a value for DBParameterGroupName, then * Amazon RDS uses the DBParameterGroup of source DB instance for a * same region read replica, or the default DBParameterGroup for the * specified DB engine for a cross region read replica.

Currently, * specifying a parameter group for this operation is only supported for Oracle DB * instances.

Constraints:

  • 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

*/ inline CreateDBInstanceReadReplicaRequest& WithDBParameterGroupName(Aws::String&& value) { SetDBParameterGroupName(std::move(value)); return *this;} /** *

The name of the DB parameter group to associate with this DB instance.

*

If you do not specify a value for DBParameterGroupName, then * Amazon RDS uses the DBParameterGroup of source DB instance for a * same region read replica, or the default DBParameterGroup for the * specified DB engine for a cross region read replica.

Currently, * specifying a parameter group for this operation is only supported for Oracle DB * instances.

Constraints:

  • 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

*/ inline CreateDBInstanceReadReplicaRequest& WithDBParameterGroupName(const char* value) { SetDBParameterGroupName(value); return *this;} /** *

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

*

When the DB instance is publicly accessible, its DNS endpoint resolves to the * private IP address from within the DB instance's VPC, and to the public IP * address from outside of the DB instance's VPC. Access to the DB instance is * ultimately controlled by the security group it uses, and that public access is * not permitted if the security group assigned to the DB instance doesn't permit * it.

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

For more * information, see CreateDBInstance.

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

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

*

When the DB instance is publicly accessible, its DNS endpoint resolves to the * private IP address from within the DB instance's VPC, and to the public IP * address from outside of the DB instance's VPC. Access to the DB instance is * ultimately controlled by the security group it uses, and that public access is * not permitted if the security group assigned to the DB instance doesn't permit * it.

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

For more * information, see CreateDBInstance.

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

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

*

When the DB instance is publicly accessible, its DNS endpoint resolves to the * private IP address from within the DB instance's VPC, and to the public IP * address from outside of the DB instance's VPC. Access to the DB instance is * ultimately controlled by the security group it uses, and that public access is * not permitted if the security group assigned to the DB instance doesn't permit * it.

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

For more * information, see CreateDBInstance.

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

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

*

When the DB instance is publicly accessible, its DNS endpoint resolves to the * private IP address from within the DB instance's VPC, and to the public IP * address from outside of the DB instance's VPC. Access to the DB instance is * ultimately controlled by the security group it uses, and that public access is * not permitted if the security group assigned to the DB instance doesn't permit * it.

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

For more * information, see CreateDBInstance.

*/ inline CreateDBInstanceReadReplicaRequest& WithPubliclyAccessible(bool value) { SetPubliclyAccessible(value); return *this;} inline const Aws::Vector& GetTags() const{ return m_tags; } inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } inline CreateDBInstanceReadReplicaRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} inline CreateDBInstanceReadReplicaRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} inline CreateDBInstanceReadReplicaRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } inline CreateDBInstanceReadReplicaRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

Specifies a DB subnet group for the DB instance. The new DB instance is * created in the VPC associated with the DB subnet group. If no DB subnet group is * specified, then the new DB instance isn't created in a VPC.

*

Constraints:

  • Can only be specified if the source DB instance * identifier specifies a DB instance in another AWS Region.

  • If * supplied, must match the name of an existing DBSubnetGroup.

  • *

    The specified DB subnet group must be in the same AWS Region in which the * operation is running.

  • All read replicas in one AWS Region that * are created from the same source DB instance must either:>

    • *

      Specify DB subnet groups from the same VPC. All these read replicas are * created in the same VPC.

    • Not specify a DB subnet group. All * these read replicas are created outside of any VPC.

*

Example: mySubnetgroup

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

Specifies a DB subnet group for the DB instance. The new DB instance is * created in the VPC associated with the DB subnet group. If no DB subnet group is * specified, then the new DB instance isn't created in a VPC.

*

Constraints:

  • Can only be specified if the source DB instance * identifier specifies a DB instance in another AWS Region.

  • If * supplied, must match the name of an existing DBSubnetGroup.

  • *

    The specified DB subnet group must be in the same AWS Region in which the * operation is running.

  • All read replicas in one AWS Region that * are created from the same source DB instance must either:>

    • *

      Specify DB subnet groups from the same VPC. All these read replicas are * created in the same VPC.

    • Not specify a DB subnet group. All * these read replicas are created outside of any VPC.

*

Example: mySubnetgroup

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

Specifies a DB subnet group for the DB instance. The new DB instance is * created in the VPC associated with the DB subnet group. If no DB subnet group is * specified, then the new DB instance isn't created in a VPC.

*

Constraints:

  • Can only be specified if the source DB instance * identifier specifies a DB instance in another AWS Region.

  • If * supplied, must match the name of an existing DBSubnetGroup.

  • *

    The specified DB subnet group must be in the same AWS Region in which the * operation is running.

  • All read replicas in one AWS Region that * are created from the same source DB instance must either:>

    • *

      Specify DB subnet groups from the same VPC. All these read replicas are * created in the same VPC.

    • Not specify a DB subnet group. All * these read replicas are created outside of any VPC.

*

Example: mySubnetgroup

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

Specifies a DB subnet group for the DB instance. The new DB instance is * created in the VPC associated with the DB subnet group. If no DB subnet group is * specified, then the new DB instance isn't created in a VPC.

*

Constraints:

  • Can only be specified if the source DB instance * identifier specifies a DB instance in another AWS Region.

  • If * supplied, must match the name of an existing DBSubnetGroup.

  • *

    The specified DB subnet group must be in the same AWS Region in which the * operation is running.

  • All read replicas in one AWS Region that * are created from the same source DB instance must either:>

    • *

      Specify DB subnet groups from the same VPC. All these read replicas are * created in the same VPC.

    • Not specify a DB subnet group. All * these read replicas are created outside of any VPC.

*

Example: mySubnetgroup

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

Specifies a DB subnet group for the DB instance. The new DB instance is * created in the VPC associated with the DB subnet group. If no DB subnet group is * specified, then the new DB instance isn't created in a VPC.

*

Constraints:

  • Can only be specified if the source DB instance * identifier specifies a DB instance in another AWS Region.

  • If * supplied, must match the name of an existing DBSubnetGroup.

  • *

    The specified DB subnet group must be in the same AWS Region in which the * operation is running.

  • All read replicas in one AWS Region that * are created from the same source DB instance must either:>

    • *

      Specify DB subnet groups from the same VPC. All these read replicas are * created in the same VPC.

    • Not specify a DB subnet group. All * these read replicas are created outside of any VPC.

*

Example: mySubnetgroup

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

Specifies a DB subnet group for the DB instance. The new DB instance is * created in the VPC associated with the DB subnet group. If no DB subnet group is * specified, then the new DB instance isn't created in a VPC.

*

Constraints:

  • Can only be specified if the source DB instance * identifier specifies a DB instance in another AWS Region.

  • If * supplied, must match the name of an existing DBSubnetGroup.

  • *

    The specified DB subnet group must be in the same AWS Region in which the * operation is running.

  • All read replicas in one AWS Region that * are created from the same source DB instance must either:>

    • *

      Specify DB subnet groups from the same VPC. All these read replicas are * created in the same VPC.

    • Not specify a DB subnet group. All * these read replicas are created outside of any VPC.

*

Example: mySubnetgroup

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

Specifies a DB subnet group for the DB instance. The new DB instance is * created in the VPC associated with the DB subnet group. If no DB subnet group is * specified, then the new DB instance isn't created in a VPC.

*

Constraints:

  • Can only be specified if the source DB instance * identifier specifies a DB instance in another AWS Region.

  • If * supplied, must match the name of an existing DBSubnetGroup.

  • *

    The specified DB subnet group must be in the same AWS Region in which the * operation is running.

  • All read replicas in one AWS Region that * are created from the same source DB instance must either:>

    • *

      Specify DB subnet groups from the same VPC. All these read replicas are * created in the same VPC.

    • Not specify a DB subnet group. All * these read replicas are created outside of any VPC.

*

Example: mySubnetgroup

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

Specifies a DB subnet group for the DB instance. The new DB instance is * created in the VPC associated with the DB subnet group. If no DB subnet group is * specified, then the new DB instance isn't created in a VPC.

*

Constraints:

  • Can only be specified if the source DB instance * identifier specifies a DB instance in another AWS Region.

  • If * supplied, must match the name of an existing DBSubnetGroup.

  • *

    The specified DB subnet group must be in the same AWS Region in which the * operation is running.

  • All read replicas in one AWS Region that * are created from the same source DB instance must either:>

    • *

      Specify DB subnet groups from the same VPC. All these read replicas are * created in the same VPC.

    • Not specify a DB subnet group. All * these read replicas are created outside of any VPC.

*

Example: mySubnetgroup

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

A list of EC2 VPC security groups to associate with the read replica.

*

Default: The default EC2 VPC security group for the DB subnet group's VPC. *

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

A list of EC2 VPC security groups to associate with the read replica.

*

Default: The default EC2 VPC security group for the DB subnet group's VPC. *

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

A list of EC2 VPC security groups to associate with the read replica.

*

Default: The default EC2 VPC security group for the DB subnet group's VPC. *

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

A list of EC2 VPC security groups to associate with the read replica.

*

Default: The default EC2 VPC security group for the DB subnet group's VPC. *

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

A list of EC2 VPC security groups to associate with the read replica.

*

Default: The default EC2 VPC security group for the DB subnet group's VPC. *

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

A list of EC2 VPC security groups to associate with the read replica.

*

Default: The default EC2 VPC security group for the DB subnet group's VPC. *

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

A list of EC2 VPC security groups to associate with the read replica.

*

Default: The default EC2 VPC security group for the DB subnet group's VPC. *

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

A list of EC2 VPC security groups to associate with the read replica.

*

Default: The default EC2 VPC security group for the DB subnet group's VPC. *

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

A list of EC2 VPC security groups to associate with the read replica.

*

Default: The default EC2 VPC security group for the DB subnet group's VPC. *

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

Specifies the storage type to be associated with the read replica.

* Valid values: standard | gp2 | io1

If you specify * io1, you must also include a value for the Iops * parameter.

Default: io1 if the Iops parameter * is specified, otherwise gp2

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

Specifies the storage type to be associated with the read replica.

* Valid values: standard | gp2 | io1

If you specify * io1, you must also include a value for the Iops * parameter.

Default: io1 if the Iops parameter * is specified, otherwise gp2

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

Specifies the storage type to be associated with the read replica.

* Valid values: standard | gp2 | io1

If you specify * io1, you must also include a value for the Iops * parameter.

Default: io1 if the Iops parameter * is specified, otherwise gp2

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

Specifies the storage type to be associated with the read replica.

* Valid values: standard | gp2 | io1

If you specify * io1, you must also include a value for the Iops * parameter.

Default: io1 if the Iops parameter * is specified, otherwise gp2

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

Specifies the storage type to be associated with the read replica.

* Valid values: standard | gp2 | io1

If you specify * io1, you must also include a value for the Iops * parameter.

Default: io1 if the Iops parameter * is specified, otherwise gp2

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

Specifies the storage type to be associated with the read replica.

* Valid values: standard | gp2 | io1

If you specify * io1, you must also include a value for the Iops * parameter.

Default: io1 if the Iops parameter * is specified, otherwise gp2

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

Specifies the storage type to be associated with the read replica.

* Valid values: standard | gp2 | io1

If you specify * io1, you must also include a value for the Iops * parameter.

Default: io1 if the Iops parameter * is specified, otherwise gp2

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

Specifies the storage type to be associated with the read replica.

* Valid values: standard | gp2 | io1

If you specify * io1, you must also include a value for the Iops * parameter.

Default: io1 if the Iops parameter * is specified, otherwise gp2

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

A value that indicates whether to copy all tags from the read replica to * snapshots of the read replica. By default, tags are not copied.

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

A value that indicates whether to copy all tags from the read replica to * snapshots of the read replica. By default, tags are not copied.

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

A value that indicates whether to copy all tags from the read replica to * snapshots of the read replica. By default, tags are not copied.

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

A value that indicates whether to copy all tags from the read replica to * snapshots of the read replica. By default, tags are not copied.

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

The interval, in seconds, between points when Enhanced Monitoring metrics are * collected for the read replica. To disable collecting Enhanced Monitoring * metrics, specify 0. The default is 0.

If MonitoringRoleArn * is specified, then you must also set MonitoringInterval to a value * other than 0.

Valid Values: 0, 1, 5, 10, 15, 30, 60

*/ inline int GetMonitoringInterval() const{ return m_monitoringInterval; } /** *

The interval, in seconds, between points when Enhanced Monitoring metrics are * collected for the read replica. To disable collecting Enhanced Monitoring * metrics, specify 0. The default is 0.

If MonitoringRoleArn * is specified, then you must also set MonitoringInterval to a value * other than 0.

Valid Values: 0, 1, 5, 10, 15, 30, 60

*/ inline bool MonitoringIntervalHasBeenSet() const { return m_monitoringIntervalHasBeenSet; } /** *

The interval, in seconds, between points when Enhanced Monitoring metrics are * collected for the read replica. To disable collecting Enhanced Monitoring * metrics, specify 0. The default is 0.

If MonitoringRoleArn * is specified, then you must also set MonitoringInterval to a value * other than 0.

Valid Values: 0, 1, 5, 10, 15, 30, 60

*/ inline void SetMonitoringInterval(int value) { m_monitoringIntervalHasBeenSet = true; m_monitoringInterval = value; } /** *

The interval, in seconds, between points when Enhanced Monitoring metrics are * collected for the read replica. To disable collecting Enhanced Monitoring * metrics, specify 0. The default is 0.

If MonitoringRoleArn * is specified, then you must also set MonitoringInterval to a value * other than 0.

Valid Values: 0, 1, 5, 10, 15, 30, 60

*/ inline CreateDBInstanceReadReplicaRequest& WithMonitoringInterval(int value) { SetMonitoringInterval(value); return *this;} /** *

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics * to Amazon CloudWatch Logs. For example, * arn:aws:iam:123456789012:role/emaccess. For information on creating * a monitoring role, go to To * create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS * User Guide.

If MonitoringInterval is set to a value * other than 0, then you must supply a MonitoringRoleArn value.

*/ inline const Aws::String& GetMonitoringRoleArn() const{ return m_monitoringRoleArn; } /** *

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics * to Amazon CloudWatch Logs. For example, * arn:aws:iam:123456789012:role/emaccess. For information on creating * a monitoring role, go to To * create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS * User Guide.

If MonitoringInterval is set to a value * other than 0, then you must supply a MonitoringRoleArn value.

*/ inline bool MonitoringRoleArnHasBeenSet() const { return m_monitoringRoleArnHasBeenSet; } /** *

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics * to Amazon CloudWatch Logs. For example, * arn:aws:iam:123456789012:role/emaccess. For information on creating * a monitoring role, go to To * create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS * User Guide.

If MonitoringInterval is set to a value * other than 0, then you must supply a MonitoringRoleArn value.

*/ inline void SetMonitoringRoleArn(const Aws::String& value) { m_monitoringRoleArnHasBeenSet = true; m_monitoringRoleArn = value; } /** *

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics * to Amazon CloudWatch Logs. For example, * arn:aws:iam:123456789012:role/emaccess. For information on creating * a monitoring role, go to To * create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS * User Guide.

If MonitoringInterval is set to a value * other than 0, then you must supply a MonitoringRoleArn value.

*/ inline void SetMonitoringRoleArn(Aws::String&& value) { m_monitoringRoleArnHasBeenSet = true; m_monitoringRoleArn = std::move(value); } /** *

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics * to Amazon CloudWatch Logs. For example, * arn:aws:iam:123456789012:role/emaccess. For information on creating * a monitoring role, go to To * create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS * User Guide.

If MonitoringInterval is set to a value * other than 0, then you must supply a MonitoringRoleArn value.

*/ inline void SetMonitoringRoleArn(const char* value) { m_monitoringRoleArnHasBeenSet = true; m_monitoringRoleArn.assign(value); } /** *

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics * to Amazon CloudWatch Logs. For example, * arn:aws:iam:123456789012:role/emaccess. For information on creating * a monitoring role, go to To * create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS * User Guide.

If MonitoringInterval is set to a value * other than 0, then you must supply a MonitoringRoleArn value.

*/ inline CreateDBInstanceReadReplicaRequest& WithMonitoringRoleArn(const Aws::String& value) { SetMonitoringRoleArn(value); return *this;} /** *

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics * to Amazon CloudWatch Logs. For example, * arn:aws:iam:123456789012:role/emaccess. For information on creating * a monitoring role, go to To * create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS * User Guide.

If MonitoringInterval is set to a value * other than 0, then you must supply a MonitoringRoleArn value.

*/ inline CreateDBInstanceReadReplicaRequest& WithMonitoringRoleArn(Aws::String&& value) { SetMonitoringRoleArn(std::move(value)); return *this;} /** *

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics * to Amazon CloudWatch Logs. For example, * arn:aws:iam:123456789012:role/emaccess. For information on creating * a monitoring role, go to To * create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS * User Guide.

If MonitoringInterval is set to a value * other than 0, then you must supply a MonitoringRoleArn value.

*/ inline CreateDBInstanceReadReplicaRequest& WithMonitoringRoleArn(const char* value) { SetMonitoringRoleArn(value); return *this;} /** *

The AWS KMS key ID for an encrypted read replica. The KMS key ID is the * Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS * encryption key.

If you create an encrypted read replica in the same AWS * Region as the source DB instance, then you do not have to specify a value for * this parameter. The read replica is encrypted with the same KMS key as the * source DB instance.

If you create an encrypted read replica in a * different AWS Region, then you must specify a KMS key for the destination AWS * Region. KMS encryption keys are specific to the AWS Region that they are created * in, and you can't use encryption keys from one AWS Region in another AWS * Region.

You can't create an encrypted read replica from an unencrypted DB * instance.

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

The AWS KMS key ID for an encrypted read replica. The KMS key ID is the * Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS * encryption key.

If you create an encrypted read replica in the same AWS * Region as the source DB instance, then you do not have to specify a value for * this parameter. The read replica is encrypted with the same KMS key as the * source DB instance.

If you create an encrypted read replica in a * different AWS Region, then you must specify a KMS key for the destination AWS * Region. KMS encryption keys are specific to the AWS Region that they are created * in, and you can't use encryption keys from one AWS Region in another AWS * Region.

You can't create an encrypted read replica from an unencrypted DB * instance.

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

The AWS KMS key ID for an encrypted read replica. The KMS key ID is the * Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS * encryption key.

If you create an encrypted read replica in the same AWS * Region as the source DB instance, then you do not have to specify a value for * this parameter. The read replica is encrypted with the same KMS key as the * source DB instance.

If you create an encrypted read replica in a * different AWS Region, then you must specify a KMS key for the destination AWS * Region. KMS encryption keys are specific to the AWS Region that they are created * in, and you can't use encryption keys from one AWS Region in another AWS * Region.

You can't create an encrypted read replica from an unencrypted DB * instance.

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

The AWS KMS key ID for an encrypted read replica. The KMS key ID is the * Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS * encryption key.

If you create an encrypted read replica in the same AWS * Region as the source DB instance, then you do not have to specify a value for * this parameter. The read replica is encrypted with the same KMS key as the * source DB instance.

If you create an encrypted read replica in a * different AWS Region, then you must specify a KMS key for the destination AWS * Region. KMS encryption keys are specific to the AWS Region that they are created * in, and you can't use encryption keys from one AWS Region in another AWS * Region.

You can't create an encrypted read replica from an unencrypted DB * instance.

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

The AWS KMS key ID for an encrypted read replica. The KMS key ID is the * Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS * encryption key.

If you create an encrypted read replica in the same AWS * Region as the source DB instance, then you do not have to specify a value for * this parameter. The read replica is encrypted with the same KMS key as the * source DB instance.

If you create an encrypted read replica in a * different AWS Region, then you must specify a KMS key for the destination AWS * Region. KMS encryption keys are specific to the AWS Region that they are created * in, and you can't use encryption keys from one AWS Region in another AWS * Region.

You can't create an encrypted read replica from an unencrypted DB * instance.

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

The AWS KMS key ID for an encrypted read replica. The KMS key ID is the * Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS * encryption key.

If you create an encrypted read replica in the same AWS * Region as the source DB instance, then you do not have to specify a value for * this parameter. The read replica is encrypted with the same KMS key as the * source DB instance.

If you create an encrypted read replica in a * different AWS Region, then you must specify a KMS key for the destination AWS * Region. KMS encryption keys are specific to the AWS Region that they are created * in, and you can't use encryption keys from one AWS Region in another AWS * Region.

You can't create an encrypted read replica from an unencrypted DB * instance.

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

The AWS KMS key ID for an encrypted read replica. The KMS key ID is the * Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS * encryption key.

If you create an encrypted read replica in the same AWS * Region as the source DB instance, then you do not have to specify a value for * this parameter. The read replica is encrypted with the same KMS key as the * source DB instance.

If you create an encrypted read replica in a * different AWS Region, then you must specify a KMS key for the destination AWS * Region. KMS encryption keys are specific to the AWS Region that they are created * in, and you can't use encryption keys from one AWS Region in another AWS * Region.

You can't create an encrypted read replica from an unencrypted DB * instance.

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

The AWS KMS key ID for an encrypted read replica. The KMS key ID is the * Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS * encryption key.

If you create an encrypted read replica in the same AWS * Region as the source DB instance, then you do not have to specify a value for * this parameter. The read replica is encrypted with the same KMS key as the * source DB instance.

If you create an encrypted read replica in a * different AWS Region, then you must specify a KMS key for the destination AWS * Region. KMS encryption keys are specific to the AWS Region that they are created * in, and you can't use encryption keys from one AWS Region in another AWS * Region.

You can't create an encrypted read replica from an unencrypted DB * instance.

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

The URL that contains a Signature Version 4 signed request for the * CreateDBInstanceReadReplica API action in the source AWS Region * that contains the source DB instance.

You must specify this parameter * when you create an encrypted read replica from another AWS Region by using the * Amazon RDS API. Don't specify PreSignedUrl when you are creating an * encrypted read replica in the same AWS Region.

The presigned URL must be * a valid request for the CreateDBInstanceReadReplica API action that * can be executed in the source AWS Region that contains the encrypted source DB * instance. The presigned URL request must contain the following parameter values: *

  • DestinationRegion - The AWS Region that the * encrypted read replica is created in. This AWS Region is the same one where the * CreateDBInstanceReadReplica action is called that contains this * presigned URL.

    For example, if you create an encrypted DB instance in the * us-west-1 AWS Region, from a source DB instance in the us-east-2 AWS Region, * then you call the CreateDBInstanceReadReplica action in the * us-east-1 AWS Region and provide a presigned URL that contains a call to the * CreateDBInstanceReadReplica action in the us-west-2 AWS Region. For * this example, the DestinationRegion in the presigned URL must be * set to the us-east-1 AWS Region.

  • KmsKeyId - The * AWS KMS key identifier for the key to use to encrypt the read replica in the * destination AWS Region. This is the same identifier for both the * CreateDBInstanceReadReplica action that is called in the * destination AWS Region, and the action contained in the presigned URL.

    *
  • SourceDBInstanceIdentifier - The DB instance * identifier for the encrypted DB instance to be replicated. This identifier must * be in the Amazon Resource Name (ARN) format for the source AWS Region. For * example, if you are creating an encrypted read replica from a DB instance in the * us-west-2 AWS Region, then your SourceDBInstanceIdentifier looks * like the following example: * arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115. *

To learn how to generate a Signature Version 4 signed * request, see Authenticating * Requests: Using Query Parameters (AWS Signature Version 4) and Signature * Version 4 Signing Process.

If you are using an AWS SDK tool * or the AWS CLI, you can specify SourceRegion (or * --source-region for the AWS CLI) instead of specifying * PreSignedUrl manually. Specifying SourceRegion * autogenerates a presigned URL that is a valid request for the operation that can * be executed in the source AWS Region.

SourceRegion isn't * supported for SQL Server, because SQL Server on Amazon RDS doesn't support * cross-region read replicas.

*/ inline const Aws::String& GetPreSignedUrl() const{ return m_preSignedUrl; } /** *

The URL that contains a Signature Version 4 signed request for the * CreateDBInstanceReadReplica API action in the source AWS Region * that contains the source DB instance.

You must specify this parameter * when you create an encrypted read replica from another AWS Region by using the * Amazon RDS API. Don't specify PreSignedUrl when you are creating an * encrypted read replica in the same AWS Region.

The presigned URL must be * a valid request for the CreateDBInstanceReadReplica API action that * can be executed in the source AWS Region that contains the encrypted source DB * instance. The presigned URL request must contain the following parameter values: *

  • DestinationRegion - The AWS Region that the * encrypted read replica is created in. This AWS Region is the same one where the * CreateDBInstanceReadReplica action is called that contains this * presigned URL.

    For example, if you create an encrypted DB instance in the * us-west-1 AWS Region, from a source DB instance in the us-east-2 AWS Region, * then you call the CreateDBInstanceReadReplica action in the * us-east-1 AWS Region and provide a presigned URL that contains a call to the * CreateDBInstanceReadReplica action in the us-west-2 AWS Region. For * this example, the DestinationRegion in the presigned URL must be * set to the us-east-1 AWS Region.

  • KmsKeyId - The * AWS KMS key identifier for the key to use to encrypt the read replica in the * destination AWS Region. This is the same identifier for both the * CreateDBInstanceReadReplica action that is called in the * destination AWS Region, and the action contained in the presigned URL.

    *
  • SourceDBInstanceIdentifier - The DB instance * identifier for the encrypted DB instance to be replicated. This identifier must * be in the Amazon Resource Name (ARN) format for the source AWS Region. For * example, if you are creating an encrypted read replica from a DB instance in the * us-west-2 AWS Region, then your SourceDBInstanceIdentifier looks * like the following example: * arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115. *

To learn how to generate a Signature Version 4 signed * request, see Authenticating * Requests: Using Query Parameters (AWS Signature Version 4) and Signature * Version 4 Signing Process.

If you are using an AWS SDK tool * or the AWS CLI, you can specify SourceRegion (or * --source-region for the AWS CLI) instead of specifying * PreSignedUrl manually. Specifying SourceRegion * autogenerates a presigned URL that is a valid request for the operation that can * be executed in the source AWS Region.

SourceRegion isn't * supported for SQL Server, because SQL Server on Amazon RDS doesn't support * cross-region read replicas.

*/ inline bool PreSignedUrlHasBeenSet() const { return m_preSignedUrlHasBeenSet; } /** *

The URL that contains a Signature Version 4 signed request for the * CreateDBInstanceReadReplica API action in the source AWS Region * that contains the source DB instance.

You must specify this parameter * when you create an encrypted read replica from another AWS Region by using the * Amazon RDS API. Don't specify PreSignedUrl when you are creating an * encrypted read replica in the same AWS Region.

The presigned URL must be * a valid request for the CreateDBInstanceReadReplica API action that * can be executed in the source AWS Region that contains the encrypted source DB * instance. The presigned URL request must contain the following parameter values: *

  • DestinationRegion - The AWS Region that the * encrypted read replica is created in. This AWS Region is the same one where the * CreateDBInstanceReadReplica action is called that contains this * presigned URL.

    For example, if you create an encrypted DB instance in the * us-west-1 AWS Region, from a source DB instance in the us-east-2 AWS Region, * then you call the CreateDBInstanceReadReplica action in the * us-east-1 AWS Region and provide a presigned URL that contains a call to the * CreateDBInstanceReadReplica action in the us-west-2 AWS Region. For * this example, the DestinationRegion in the presigned URL must be * set to the us-east-1 AWS Region.

  • KmsKeyId - The * AWS KMS key identifier for the key to use to encrypt the read replica in the * destination AWS Region. This is the same identifier for both the * CreateDBInstanceReadReplica action that is called in the * destination AWS Region, and the action contained in the presigned URL.

    *
  • SourceDBInstanceIdentifier - The DB instance * identifier for the encrypted DB instance to be replicated. This identifier must * be in the Amazon Resource Name (ARN) format for the source AWS Region. For * example, if you are creating an encrypted read replica from a DB instance in the * us-west-2 AWS Region, then your SourceDBInstanceIdentifier looks * like the following example: * arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115. *

To learn how to generate a Signature Version 4 signed * request, see Authenticating * Requests: Using Query Parameters (AWS Signature Version 4) and Signature * Version 4 Signing Process.

If you are using an AWS SDK tool * or the AWS CLI, you can specify SourceRegion (or * --source-region for the AWS CLI) instead of specifying * PreSignedUrl manually. Specifying SourceRegion * autogenerates a presigned URL that is a valid request for the operation that can * be executed in the source AWS Region.

SourceRegion isn't * supported for SQL Server, because SQL Server on Amazon RDS doesn't support * cross-region read replicas.

*/ inline void SetPreSignedUrl(const Aws::String& value) { m_preSignedUrlHasBeenSet = true; m_preSignedUrl = value; } /** *

The URL that contains a Signature Version 4 signed request for the * CreateDBInstanceReadReplica API action in the source AWS Region * that contains the source DB instance.

You must specify this parameter * when you create an encrypted read replica from another AWS Region by using the * Amazon RDS API. Don't specify PreSignedUrl when you are creating an * encrypted read replica in the same AWS Region.

The presigned URL must be * a valid request for the CreateDBInstanceReadReplica API action that * can be executed in the source AWS Region that contains the encrypted source DB * instance. The presigned URL request must contain the following parameter values: *

  • DestinationRegion - The AWS Region that the * encrypted read replica is created in. This AWS Region is the same one where the * CreateDBInstanceReadReplica action is called that contains this * presigned URL.

    For example, if you create an encrypted DB instance in the * us-west-1 AWS Region, from a source DB instance in the us-east-2 AWS Region, * then you call the CreateDBInstanceReadReplica action in the * us-east-1 AWS Region and provide a presigned URL that contains a call to the * CreateDBInstanceReadReplica action in the us-west-2 AWS Region. For * this example, the DestinationRegion in the presigned URL must be * set to the us-east-1 AWS Region.

  • KmsKeyId - The * AWS KMS key identifier for the key to use to encrypt the read replica in the * destination AWS Region. This is the same identifier for both the * CreateDBInstanceReadReplica action that is called in the * destination AWS Region, and the action contained in the presigned URL.

    *
  • SourceDBInstanceIdentifier - The DB instance * identifier for the encrypted DB instance to be replicated. This identifier must * be in the Amazon Resource Name (ARN) format for the source AWS Region. For * example, if you are creating an encrypted read replica from a DB instance in the * us-west-2 AWS Region, then your SourceDBInstanceIdentifier looks * like the following example: * arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115. *

To learn how to generate a Signature Version 4 signed * request, see Authenticating * Requests: Using Query Parameters (AWS Signature Version 4) and Signature * Version 4 Signing Process.

If you are using an AWS SDK tool * or the AWS CLI, you can specify SourceRegion (or * --source-region for the AWS CLI) instead of specifying * PreSignedUrl manually. Specifying SourceRegion * autogenerates a presigned URL that is a valid request for the operation that can * be executed in the source AWS Region.

SourceRegion isn't * supported for SQL Server, because SQL Server on Amazon RDS doesn't support * cross-region read replicas.

*/ inline void SetPreSignedUrl(Aws::String&& value) { m_preSignedUrlHasBeenSet = true; m_preSignedUrl = std::move(value); } /** *

The URL that contains a Signature Version 4 signed request for the * CreateDBInstanceReadReplica API action in the source AWS Region * that contains the source DB instance.

You must specify this parameter * when you create an encrypted read replica from another AWS Region by using the * Amazon RDS API. Don't specify PreSignedUrl when you are creating an * encrypted read replica in the same AWS Region.

The presigned URL must be * a valid request for the CreateDBInstanceReadReplica API action that * can be executed in the source AWS Region that contains the encrypted source DB * instance. The presigned URL request must contain the following parameter values: *

  • DestinationRegion - The AWS Region that the * encrypted read replica is created in. This AWS Region is the same one where the * CreateDBInstanceReadReplica action is called that contains this * presigned URL.

    For example, if you create an encrypted DB instance in the * us-west-1 AWS Region, from a source DB instance in the us-east-2 AWS Region, * then you call the CreateDBInstanceReadReplica action in the * us-east-1 AWS Region and provide a presigned URL that contains a call to the * CreateDBInstanceReadReplica action in the us-west-2 AWS Region. For * this example, the DestinationRegion in the presigned URL must be * set to the us-east-1 AWS Region.

  • KmsKeyId - The * AWS KMS key identifier for the key to use to encrypt the read replica in the * destination AWS Region. This is the same identifier for both the * CreateDBInstanceReadReplica action that is called in the * destination AWS Region, and the action contained in the presigned URL.

    *
  • SourceDBInstanceIdentifier - The DB instance * identifier for the encrypted DB instance to be replicated. This identifier must * be in the Amazon Resource Name (ARN) format for the source AWS Region. For * example, if you are creating an encrypted read replica from a DB instance in the * us-west-2 AWS Region, then your SourceDBInstanceIdentifier looks * like the following example: * arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115. *

To learn how to generate a Signature Version 4 signed * request, see Authenticating * Requests: Using Query Parameters (AWS Signature Version 4) and Signature * Version 4 Signing Process.

If you are using an AWS SDK tool * or the AWS CLI, you can specify SourceRegion (or * --source-region for the AWS CLI) instead of specifying * PreSignedUrl manually. Specifying SourceRegion * autogenerates a presigned URL that is a valid request for the operation that can * be executed in the source AWS Region.

SourceRegion isn't * supported for SQL Server, because SQL Server on Amazon RDS doesn't support * cross-region read replicas.

*/ inline void SetPreSignedUrl(const char* value) { m_preSignedUrlHasBeenSet = true; m_preSignedUrl.assign(value); } /** *

The URL that contains a Signature Version 4 signed request for the * CreateDBInstanceReadReplica API action in the source AWS Region * that contains the source DB instance.

You must specify this parameter * when you create an encrypted read replica from another AWS Region by using the * Amazon RDS API. Don't specify PreSignedUrl when you are creating an * encrypted read replica in the same AWS Region.

The presigned URL must be * a valid request for the CreateDBInstanceReadReplica API action that * can be executed in the source AWS Region that contains the encrypted source DB * instance. The presigned URL request must contain the following parameter values: *

  • DestinationRegion - The AWS Region that the * encrypted read replica is created in. This AWS Region is the same one where the * CreateDBInstanceReadReplica action is called that contains this * presigned URL.

    For example, if you create an encrypted DB instance in the * us-west-1 AWS Region, from a source DB instance in the us-east-2 AWS Region, * then you call the CreateDBInstanceReadReplica action in the * us-east-1 AWS Region and provide a presigned URL that contains a call to the * CreateDBInstanceReadReplica action in the us-west-2 AWS Region. For * this example, the DestinationRegion in the presigned URL must be * set to the us-east-1 AWS Region.

  • KmsKeyId - The * AWS KMS key identifier for the key to use to encrypt the read replica in the * destination AWS Region. This is the same identifier for both the * CreateDBInstanceReadReplica action that is called in the * destination AWS Region, and the action contained in the presigned URL.

    *
  • SourceDBInstanceIdentifier - The DB instance * identifier for the encrypted DB instance to be replicated. This identifier must * be in the Amazon Resource Name (ARN) format for the source AWS Region. For * example, if you are creating an encrypted read replica from a DB instance in the * us-west-2 AWS Region, then your SourceDBInstanceIdentifier looks * like the following example: * arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115. *

To learn how to generate a Signature Version 4 signed * request, see Authenticating * Requests: Using Query Parameters (AWS Signature Version 4) and Signature * Version 4 Signing Process.

If you are using an AWS SDK tool * or the AWS CLI, you can specify SourceRegion (or * --source-region for the AWS CLI) instead of specifying * PreSignedUrl manually. Specifying SourceRegion * autogenerates a presigned URL that is a valid request for the operation that can * be executed in the source AWS Region.

SourceRegion isn't * supported for SQL Server, because SQL Server on Amazon RDS doesn't support * cross-region read replicas.

*/ inline CreateDBInstanceReadReplicaRequest& WithPreSignedUrl(const Aws::String& value) { SetPreSignedUrl(value); return *this;} /** *

The URL that contains a Signature Version 4 signed request for the * CreateDBInstanceReadReplica API action in the source AWS Region * that contains the source DB instance.

You must specify this parameter * when you create an encrypted read replica from another AWS Region by using the * Amazon RDS API. Don't specify PreSignedUrl when you are creating an * encrypted read replica in the same AWS Region.

The presigned URL must be * a valid request for the CreateDBInstanceReadReplica API action that * can be executed in the source AWS Region that contains the encrypted source DB * instance. The presigned URL request must contain the following parameter values: *

  • DestinationRegion - The AWS Region that the * encrypted read replica is created in. This AWS Region is the same one where the * CreateDBInstanceReadReplica action is called that contains this * presigned URL.

    For example, if you create an encrypted DB instance in the * us-west-1 AWS Region, from a source DB instance in the us-east-2 AWS Region, * then you call the CreateDBInstanceReadReplica action in the * us-east-1 AWS Region and provide a presigned URL that contains a call to the * CreateDBInstanceReadReplica action in the us-west-2 AWS Region. For * this example, the DestinationRegion in the presigned URL must be * set to the us-east-1 AWS Region.

  • KmsKeyId - The * AWS KMS key identifier for the key to use to encrypt the read replica in the * destination AWS Region. This is the same identifier for both the * CreateDBInstanceReadReplica action that is called in the * destination AWS Region, and the action contained in the presigned URL.

    *
  • SourceDBInstanceIdentifier - The DB instance * identifier for the encrypted DB instance to be replicated. This identifier must * be in the Amazon Resource Name (ARN) format for the source AWS Region. For * example, if you are creating an encrypted read replica from a DB instance in the * us-west-2 AWS Region, then your SourceDBInstanceIdentifier looks * like the following example: * arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115. *

To learn how to generate a Signature Version 4 signed * request, see Authenticating * Requests: Using Query Parameters (AWS Signature Version 4) and Signature * Version 4 Signing Process.

If you are using an AWS SDK tool * or the AWS CLI, you can specify SourceRegion (or * --source-region for the AWS CLI) instead of specifying * PreSignedUrl manually. Specifying SourceRegion * autogenerates a presigned URL that is a valid request for the operation that can * be executed in the source AWS Region.

SourceRegion isn't * supported for SQL Server, because SQL Server on Amazon RDS doesn't support * cross-region read replicas.

*/ inline CreateDBInstanceReadReplicaRequest& WithPreSignedUrl(Aws::String&& value) { SetPreSignedUrl(std::move(value)); return *this;} /** *

The URL that contains a Signature Version 4 signed request for the * CreateDBInstanceReadReplica API action in the source AWS Region * that contains the source DB instance.

You must specify this parameter * when you create an encrypted read replica from another AWS Region by using the * Amazon RDS API. Don't specify PreSignedUrl when you are creating an * encrypted read replica in the same AWS Region.

The presigned URL must be * a valid request for the CreateDBInstanceReadReplica API action that * can be executed in the source AWS Region that contains the encrypted source DB * instance. The presigned URL request must contain the following parameter values: *

  • DestinationRegion - The AWS Region that the * encrypted read replica is created in. This AWS Region is the same one where the * CreateDBInstanceReadReplica action is called that contains this * presigned URL.

    For example, if you create an encrypted DB instance in the * us-west-1 AWS Region, from a source DB instance in the us-east-2 AWS Region, * then you call the CreateDBInstanceReadReplica action in the * us-east-1 AWS Region and provide a presigned URL that contains a call to the * CreateDBInstanceReadReplica action in the us-west-2 AWS Region. For * this example, the DestinationRegion in the presigned URL must be * set to the us-east-1 AWS Region.

  • KmsKeyId - The * AWS KMS key identifier for the key to use to encrypt the read replica in the * destination AWS Region. This is the same identifier for both the * CreateDBInstanceReadReplica action that is called in the * destination AWS Region, and the action contained in the presigned URL.

    *
  • SourceDBInstanceIdentifier - The DB instance * identifier for the encrypted DB instance to be replicated. This identifier must * be in the Amazon Resource Name (ARN) format for the source AWS Region. For * example, if you are creating an encrypted read replica from a DB instance in the * us-west-2 AWS Region, then your SourceDBInstanceIdentifier looks * like the following example: * arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115. *

To learn how to generate a Signature Version 4 signed * request, see Authenticating * Requests: Using Query Parameters (AWS Signature Version 4) and Signature * Version 4 Signing Process.

If you are using an AWS SDK tool * or the AWS CLI, you can specify SourceRegion (or * --source-region for the AWS CLI) instead of specifying * PreSignedUrl manually. Specifying SourceRegion * autogenerates a presigned URL that is a valid request for the operation that can * be executed in the source AWS Region.

SourceRegion isn't * supported for SQL Server, because SQL Server on Amazon RDS doesn't support * cross-region read replicas.

*/ inline CreateDBInstanceReadReplicaRequest& WithPreSignedUrl(const char* value) { SetPreSignedUrl(value); return *this;} /** *

A value that indicates whether to enable mapping of AWS Identity and Access * Management (IAM) accounts to database accounts. By default, mapping is disabled. * For information about the supported DB engines, see CreateDBInstance.

*

For more information about IAM database authentication, see * IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS * User Guide.

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

A value that indicates whether to enable mapping of AWS Identity and Access * Management (IAM) accounts to database accounts. By default, mapping is disabled. * For information about the supported DB engines, see CreateDBInstance.

*

For more information about IAM database authentication, see * IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS * User Guide.

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

A value that indicates whether to enable mapping of AWS Identity and Access * Management (IAM) accounts to database accounts. By default, mapping is disabled. * For information about the supported DB engines, see CreateDBInstance.

*

For more information about IAM database authentication, see * IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS * User Guide.

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

A value that indicates whether to enable mapping of AWS Identity and Access * Management (IAM) accounts to database accounts. By default, mapping is disabled. * For information about the supported DB engines, see CreateDBInstance.

*

For more information about IAM database authentication, see * IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS * User Guide.

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

A value that indicates whether to enable Performance Insights for the read * replica.

For more information, see Using * Amazon Performance Insights in the Amazon RDS User Guide.

*/ inline bool GetEnablePerformanceInsights() const{ return m_enablePerformanceInsights; } /** *

A value that indicates whether to enable Performance Insights for the read * replica.

For more information, see Using * Amazon Performance Insights in the Amazon RDS User Guide.

*/ inline bool EnablePerformanceInsightsHasBeenSet() const { return m_enablePerformanceInsightsHasBeenSet; } /** *

A value that indicates whether to enable Performance Insights for the read * replica.

For more information, see Using * Amazon Performance Insights in the Amazon RDS User Guide.

*/ inline void SetEnablePerformanceInsights(bool value) { m_enablePerformanceInsightsHasBeenSet = true; m_enablePerformanceInsights = value; } /** *

A value that indicates whether to enable Performance Insights for the read * replica.

For more information, see Using * Amazon Performance Insights in the Amazon RDS User Guide.

*/ inline CreateDBInstanceReadReplicaRequest& WithEnablePerformanceInsights(bool value) { SetEnablePerformanceInsights(value); return *this;} /** *

The AWS KMS key identifier for encryption of Performance Insights data. The * KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key * alias for the KMS encryption key.

If you do not specify a value for * PerformanceInsightsKMSKeyId, then Amazon RDS uses your default * encryption key. AWS KMS creates the default encryption key for your AWS account. * Your AWS account has a different default encryption key for each AWS Region.

*/ inline const Aws::String& GetPerformanceInsightsKMSKeyId() const{ return m_performanceInsightsKMSKeyId; } /** *

The AWS KMS key identifier for encryption of Performance Insights data. The * KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key * alias for the KMS encryption key.

If you do not specify a value for * PerformanceInsightsKMSKeyId, then Amazon RDS uses your default * encryption key. AWS KMS creates the default encryption key for your AWS account. * Your AWS account has a different default encryption key for each AWS Region.

*/ inline bool PerformanceInsightsKMSKeyIdHasBeenSet() const { return m_performanceInsightsKMSKeyIdHasBeenSet; } /** *

The AWS KMS key identifier for encryption of Performance Insights data. The * KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key * alias for the KMS encryption key.

If you do not specify a value for * PerformanceInsightsKMSKeyId, then Amazon RDS uses your default * encryption key. AWS KMS creates the default encryption key for your AWS account. * Your AWS account has a different default encryption key for each AWS Region.

*/ inline void SetPerformanceInsightsKMSKeyId(const Aws::String& value) { m_performanceInsightsKMSKeyIdHasBeenSet = true; m_performanceInsightsKMSKeyId = value; } /** *

The AWS KMS key identifier for encryption of Performance Insights data. The * KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key * alias for the KMS encryption key.

If you do not specify a value for * PerformanceInsightsKMSKeyId, then Amazon RDS uses your default * encryption key. AWS KMS creates the default encryption key for your AWS account. * Your AWS account has a different default encryption key for each AWS Region.

*/ inline void SetPerformanceInsightsKMSKeyId(Aws::String&& value) { m_performanceInsightsKMSKeyIdHasBeenSet = true; m_performanceInsightsKMSKeyId = std::move(value); } /** *

The AWS KMS key identifier for encryption of Performance Insights data. The * KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key * alias for the KMS encryption key.

If you do not specify a value for * PerformanceInsightsKMSKeyId, then Amazon RDS uses your default * encryption key. AWS KMS creates the default encryption key for your AWS account. * Your AWS account has a different default encryption key for each AWS Region.

*/ inline void SetPerformanceInsightsKMSKeyId(const char* value) { m_performanceInsightsKMSKeyIdHasBeenSet = true; m_performanceInsightsKMSKeyId.assign(value); } /** *

The AWS KMS key identifier for encryption of Performance Insights data. The * KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key * alias for the KMS encryption key.

If you do not specify a value for * PerformanceInsightsKMSKeyId, then Amazon RDS uses your default * encryption key. AWS KMS creates the default encryption key for your AWS account. * Your AWS account has a different default encryption key for each AWS Region.

*/ inline CreateDBInstanceReadReplicaRequest& WithPerformanceInsightsKMSKeyId(const Aws::String& value) { SetPerformanceInsightsKMSKeyId(value); return *this;} /** *

The AWS KMS key identifier for encryption of Performance Insights data. The * KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key * alias for the KMS encryption key.

If you do not specify a value for * PerformanceInsightsKMSKeyId, then Amazon RDS uses your default * encryption key. AWS KMS creates the default encryption key for your AWS account. * Your AWS account has a different default encryption key for each AWS Region.

*/ inline CreateDBInstanceReadReplicaRequest& WithPerformanceInsightsKMSKeyId(Aws::String&& value) { SetPerformanceInsightsKMSKeyId(std::move(value)); return *this;} /** *

The AWS KMS key identifier for encryption of Performance Insights data. The * KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key * alias for the KMS encryption key.

If you do not specify a value for * PerformanceInsightsKMSKeyId, then Amazon RDS uses your default * encryption key. AWS KMS creates the default encryption key for your AWS account. * Your AWS account has a different default encryption key for each AWS Region.

*/ inline CreateDBInstanceReadReplicaRequest& WithPerformanceInsightsKMSKeyId(const char* value) { SetPerformanceInsightsKMSKeyId(value); return *this;} /** *

The amount of time, in days, to retain Performance Insights data. Valid * values are 7 or 731 (2 years).

*/ inline int GetPerformanceInsightsRetentionPeriod() const{ return m_performanceInsightsRetentionPeriod; } /** *

The amount of time, in days, to retain Performance Insights data. Valid * values are 7 or 731 (2 years).

*/ inline bool PerformanceInsightsRetentionPeriodHasBeenSet() const { return m_performanceInsightsRetentionPeriodHasBeenSet; } /** *

The amount of time, in days, to retain Performance Insights data. Valid * values are 7 or 731 (2 years).

*/ inline void SetPerformanceInsightsRetentionPeriod(int value) { m_performanceInsightsRetentionPeriodHasBeenSet = true; m_performanceInsightsRetentionPeriod = value; } /** *

The amount of time, in days, to retain Performance Insights data. Valid * values are 7 or 731 (2 years).

*/ inline CreateDBInstanceReadReplicaRequest& WithPerformanceInsightsRetentionPeriod(int value) { SetPerformanceInsightsRetentionPeriod(value); return *this;} /** *

The list of logs that the new DB instance is to export to CloudWatch Logs. * The values in the list depend on the DB engine being used. For more information, * see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

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

The list of logs that the new DB instance is to export to CloudWatch Logs. * The values in the list depend on the DB engine being used. For more information, * see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

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

The list of logs that the new DB instance is to export to CloudWatch Logs. * The values in the list depend on the DB engine being used. For more information, * see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

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

The list of logs that the new DB instance is to export to CloudWatch Logs. * The values in the list depend on the DB engine being used. For more information, * see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

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

The list of logs that the new DB instance is to export to CloudWatch Logs. * The values in the list depend on the DB engine being used. For more information, * see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

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

The list of logs that the new DB instance is to export to CloudWatch Logs. * The values in the list depend on the DB engine being used. For more information, * see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

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

The list of logs that the new DB instance is to export to CloudWatch Logs. * The values in the list depend on the DB engine being used. For more information, * see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

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

The list of logs that the new DB instance is to export to CloudWatch Logs. * The values in the list depend on the DB engine being used. For more information, * see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

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

The list of logs that the new DB instance is to export to CloudWatch Logs. * The values in the list depend on the DB engine being used. For more information, * see Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User * Guide.

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

The number of CPU cores and the number of threads per core for the DB * instance class of the DB instance.

*/ inline const Aws::Vector& GetProcessorFeatures() const{ return m_processorFeatures; } /** *

The number of CPU cores and the number of threads per core for the DB * instance class of the DB instance.

*/ inline bool ProcessorFeaturesHasBeenSet() const { return m_processorFeaturesHasBeenSet; } /** *

The number of CPU cores and the number of threads per core for the DB * instance class of the DB instance.

*/ inline void SetProcessorFeatures(const Aws::Vector& value) { m_processorFeaturesHasBeenSet = true; m_processorFeatures = value; } /** *

The number of CPU cores and the number of threads per core for the DB * instance class of the DB instance.

*/ inline void SetProcessorFeatures(Aws::Vector&& value) { m_processorFeaturesHasBeenSet = true; m_processorFeatures = std::move(value); } /** *

The number of CPU cores and the number of threads per core for the DB * instance class of the DB instance.

*/ inline CreateDBInstanceReadReplicaRequest& WithProcessorFeatures(const Aws::Vector& value) { SetProcessorFeatures(value); return *this;} /** *

The number of CPU cores and the number of threads per core for the DB * instance class of the DB instance.

*/ inline CreateDBInstanceReadReplicaRequest& WithProcessorFeatures(Aws::Vector&& value) { SetProcessorFeatures(std::move(value)); return *this;} /** *

The number of CPU cores and the number of threads per core for the DB * instance class of the DB instance.

*/ inline CreateDBInstanceReadReplicaRequest& AddProcessorFeatures(const ProcessorFeature& value) { m_processorFeaturesHasBeenSet = true; m_processorFeatures.push_back(value); return *this; } /** *

The number of CPU cores and the number of threads per core for the DB * instance class of the DB instance.

*/ inline CreateDBInstanceReadReplicaRequest& AddProcessorFeatures(ProcessorFeature&& value) { m_processorFeaturesHasBeenSet = true; m_processorFeatures.push_back(std::move(value)); return *this; } /** *

A value that indicates whether the DB instance class of the DB instance uses * its default processor features.

*/ inline bool GetUseDefaultProcessorFeatures() const{ return m_useDefaultProcessorFeatures; } /** *

A value that indicates whether the DB instance class of the DB instance uses * its default processor features.

*/ inline bool UseDefaultProcessorFeaturesHasBeenSet() const { return m_useDefaultProcessorFeaturesHasBeenSet; } /** *

A value that indicates whether the DB instance class of the DB instance uses * its default processor features.

*/ inline void SetUseDefaultProcessorFeatures(bool value) { m_useDefaultProcessorFeaturesHasBeenSet = true; m_useDefaultProcessorFeatures = value; } /** *

A value that indicates whether the DB instance class of the DB instance uses * its default processor features.

*/ inline CreateDBInstanceReadReplicaRequest& WithUseDefaultProcessorFeatures(bool value) { SetUseDefaultProcessorFeatures(value); return *this;} /** *

A value that indicates whether the DB instance has deletion protection * enabled. The database can't be deleted when deletion protection is enabled. By * default, deletion protection is disabled. For more information, see * Deleting a DB Instance.

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

A value that indicates whether the DB instance has deletion protection * enabled. The database can't be deleted when deletion protection is enabled. By * default, deletion protection is disabled. For more information, see * Deleting a DB Instance.

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

A value that indicates whether the DB instance has deletion protection * enabled. The database can't be deleted when deletion protection is enabled. By * default, deletion protection is disabled. For more information, see * Deleting a DB Instance.

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

A value that indicates whether the DB instance has deletion protection * enabled. The database can't be deleted when deletion protection is enabled. By * default, deletion protection is disabled. For more information, see * Deleting a DB Instance.

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

The Active Directory directory ID to create the DB instance in. 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.

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

The Active Directory directory ID to create the DB instance in. 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.

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

The Active Directory directory ID to create the DB instance in. 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.

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

The Active Directory directory ID to create the DB instance in. 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.

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

The Active Directory directory ID to create the DB instance in. 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.

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

The Active Directory directory ID to create the DB instance in. 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.

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

The Active Directory directory ID to create the DB instance in. 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.

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

The Active Directory directory ID to create the DB instance in. 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.

*/ inline CreateDBInstanceReadReplicaRequest& 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.

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

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

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

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

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

*/ inline CreateDBInstanceReadReplicaRequest& 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.

*/ inline CreateDBInstanceReadReplicaRequest& 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.

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

The open mode of the replica database: mounted or read-only.

*

This parameter is only supported for Oracle DB instances.

*

Mounted DB replicas are included in Oracle Enterprise Edition. The main use * case for mounted replicas is cross-Region disaster recovery. The primary * database doesn't use Active Data Guard to transmit information to the mounted * replica. Because it doesn't accept user connections, a mounted replica can't * serve a read-only workload.

You can create a combination of mounted and * read-only DB replicas for the same primary DB instance. For more information, * see Working * with Oracle Read Replicas for Amazon RDS in the Amazon RDS User * Guide.

*/ inline const ReplicaMode& GetReplicaMode() const{ return m_replicaMode; } /** *

The open mode of the replica database: mounted or read-only.

*

This parameter is only supported for Oracle DB instances.

*

Mounted DB replicas are included in Oracle Enterprise Edition. The main use * case for mounted replicas is cross-Region disaster recovery. The primary * database doesn't use Active Data Guard to transmit information to the mounted * replica. Because it doesn't accept user connections, a mounted replica can't * serve a read-only workload.

You can create a combination of mounted and * read-only DB replicas for the same primary DB instance. For more information, * see Working * with Oracle Read Replicas for Amazon RDS in the Amazon RDS User * Guide.

*/ inline bool ReplicaModeHasBeenSet() const { return m_replicaModeHasBeenSet; } /** *

The open mode of the replica database: mounted or read-only.

*

This parameter is only supported for Oracle DB instances.

*

Mounted DB replicas are included in Oracle Enterprise Edition. The main use * case for mounted replicas is cross-Region disaster recovery. The primary * database doesn't use Active Data Guard to transmit information to the mounted * replica. Because it doesn't accept user connections, a mounted replica can't * serve a read-only workload.

You can create a combination of mounted and * read-only DB replicas for the same primary DB instance. For more information, * see Working * with Oracle Read Replicas for Amazon RDS in the Amazon RDS User * Guide.

*/ inline void SetReplicaMode(const ReplicaMode& value) { m_replicaModeHasBeenSet = true; m_replicaMode = value; } /** *

The open mode of the replica database: mounted or read-only.

*

This parameter is only supported for Oracle DB instances.

*

Mounted DB replicas are included in Oracle Enterprise Edition. The main use * case for mounted replicas is cross-Region disaster recovery. The primary * database doesn't use Active Data Guard to transmit information to the mounted * replica. Because it doesn't accept user connections, a mounted replica can't * serve a read-only workload.

You can create a combination of mounted and * read-only DB replicas for the same primary DB instance. For more information, * see Working * with Oracle Read Replicas for Amazon RDS in the Amazon RDS User * Guide.

*/ inline void SetReplicaMode(ReplicaMode&& value) { m_replicaModeHasBeenSet = true; m_replicaMode = std::move(value); } /** *

The open mode of the replica database: mounted or read-only.

*

This parameter is only supported for Oracle DB instances.

*

Mounted DB replicas are included in Oracle Enterprise Edition. The main use * case for mounted replicas is cross-Region disaster recovery. The primary * database doesn't use Active Data Guard to transmit information to the mounted * replica. Because it doesn't accept user connections, a mounted replica can't * serve a read-only workload.

You can create a combination of mounted and * read-only DB replicas for the same primary DB instance. For more information, * see Working * with Oracle Read Replicas for Amazon RDS in the Amazon RDS User * Guide.

*/ inline CreateDBInstanceReadReplicaRequest& WithReplicaMode(const ReplicaMode& value) { SetReplicaMode(value); return *this;} /** *

The open mode of the replica database: mounted or read-only.

*

This parameter is only supported for Oracle DB instances.

*

Mounted DB replicas are included in Oracle Enterprise Edition. The main use * case for mounted replicas is cross-Region disaster recovery. The primary * database doesn't use Active Data Guard to transmit information to the mounted * replica. Because it doesn't accept user connections, a mounted replica can't * serve a read-only workload.

You can create a combination of mounted and * read-only DB replicas for the same primary DB instance. For more information, * see Working * with Oracle Read Replicas for Amazon RDS in the Amazon RDS User * Guide.

*/ inline CreateDBInstanceReadReplicaRequest& WithReplicaMode(ReplicaMode&& value) { SetReplicaMode(std::move(value)); return *this;} private: Aws::String m_dBInstanceIdentifier; bool m_dBInstanceIdentifierHasBeenSet; Aws::String m_sourceDBInstanceIdentifier; bool m_sourceDBInstanceIdentifierHasBeenSet; Aws::String m_dBInstanceClass; bool m_dBInstanceClassHasBeenSet; Aws::String m_availabilityZone; bool m_availabilityZoneHasBeenSet; int m_port; bool m_portHasBeenSet; bool m_multiAZ; bool m_multiAZHasBeenSet; bool m_autoMinorVersionUpgrade; bool m_autoMinorVersionUpgradeHasBeenSet; int m_iops; bool m_iopsHasBeenSet; Aws::String m_optionGroupName; bool m_optionGroupNameHasBeenSet; Aws::String m_dBParameterGroupName; bool m_dBParameterGroupNameHasBeenSet; bool m_publiclyAccessible; bool m_publiclyAccessibleHasBeenSet; Aws::Vector m_tags; bool m_tagsHasBeenSet; Aws::String m_dBSubnetGroupName; bool m_dBSubnetGroupNameHasBeenSet; Aws::Vector m_vpcSecurityGroupIds; bool m_vpcSecurityGroupIdsHasBeenSet; Aws::String m_storageType; bool m_storageTypeHasBeenSet; bool m_copyTagsToSnapshot; bool m_copyTagsToSnapshotHasBeenSet; int m_monitoringInterval; bool m_monitoringIntervalHasBeenSet; Aws::String m_monitoringRoleArn; bool m_monitoringRoleArnHasBeenSet; Aws::String m_kmsKeyId; bool m_kmsKeyIdHasBeenSet; Aws::String m_preSignedUrl; bool m_preSignedUrlHasBeenSet; bool m_enableIAMDatabaseAuthentication; bool m_enableIAMDatabaseAuthenticationHasBeenSet; bool m_enablePerformanceInsights; bool m_enablePerformanceInsightsHasBeenSet; Aws::String m_performanceInsightsKMSKeyId; bool m_performanceInsightsKMSKeyIdHasBeenSet; int m_performanceInsightsRetentionPeriod; bool m_performanceInsightsRetentionPeriodHasBeenSet; Aws::Vector m_enableCloudwatchLogsExports; bool m_enableCloudwatchLogsExportsHasBeenSet; Aws::Vector m_processorFeatures; bool m_processorFeaturesHasBeenSet; bool m_useDefaultProcessorFeatures; bool m_useDefaultProcessorFeaturesHasBeenSet; bool m_deletionProtection; bool m_deletionProtectionHasBeenSet; Aws::String m_domain; bool m_domainHasBeenSet; Aws::String m_domainIAMRoleName; bool m_domainIAMRoleNameHasBeenSet; ReplicaMode m_replicaMode; bool m_replicaModeHasBeenSet; }; } // namespace Model } // namespace RDS } // namespace Aws