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

See Also:

AWS * API Reference

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

The DB instance identifier. This value is stored as a lowercase string.

*

Constraints:

  • Must match the identifier of an existing * DBInstance.

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

The DB instance identifier. This value is stored as a lowercase string.

*

Constraints:

  • Must match the identifier of an existing * DBInstance.

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

The DB instance identifier. This value is stored as a lowercase string.

*

Constraints:

  • Must match the identifier of an existing * DBInstance.

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

The DB instance identifier. This value is stored as a lowercase string.

*

Constraints:

  • Must match the identifier of an existing * DBInstance.

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

The DB instance identifier. This value is stored as a lowercase string.

*

Constraints:

  • Must match the identifier of an existing * DBInstance.

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

The DB instance identifier. This value is stored as a lowercase string.

*

Constraints:

  • Must match the identifier of an existing * DBInstance.

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

The DB instance identifier. This value is stored as a lowercase string.

*

Constraints:

  • Must match the identifier of an existing * DBInstance.

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

The DB instance identifier. This value is stored as a lowercase string.

*

Constraints:

  • Must match the identifier of an existing * DBInstance.

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

The new amount of storage (in gibibytes) to allocate for the DB instance. *

For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied must be * at least 10% greater than the current value. Values that are not at least 10% * greater than the existing value are rounded up so that they are 10% greater than * the current value.

For the valid values for allocated storage for each * engine, see CreateDBInstance.

*/ inline int GetAllocatedStorage() const{ return m_allocatedStorage; } /** *

The new amount of storage (in gibibytes) to allocate for the DB instance. *

For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied must be * at least 10% greater than the current value. Values that are not at least 10% * greater than the existing value are rounded up so that they are 10% greater than * the current value.

For the valid values for allocated storage for each * engine, see CreateDBInstance.

*/ inline bool AllocatedStorageHasBeenSet() const { return m_allocatedStorageHasBeenSet; } /** *

The new amount of storage (in gibibytes) to allocate for the DB instance. *

For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied must be * at least 10% greater than the current value. Values that are not at least 10% * greater than the existing value are rounded up so that they are 10% greater than * the current value.

For the valid values for allocated storage for each * engine, see CreateDBInstance.

*/ inline void SetAllocatedStorage(int value) { m_allocatedStorageHasBeenSet = true; m_allocatedStorage = value; } /** *

The new amount of storage (in gibibytes) to allocate for the DB instance. *

For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied must be * at least 10% greater than the current value. Values that are not at least 10% * greater than the existing value are rounded up so that they are 10% greater than * the current value.

For the valid values for allocated storage for each * engine, see CreateDBInstance.

*/ inline ModifyDBInstanceRequest& WithAllocatedStorage(int value) { SetAllocatedStorage(value); return *this;} /** *

The new compute and memory capacity of the DB instance, 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.

If you modify * the DB instance class, an outage occurs during the change. The change is applied * during the next maintenance window, unless ApplyImmediately is * enabled for this request.

Default: Uses existing setting

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

The new compute and memory capacity of the DB instance, 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.

If you modify * the DB instance class, an outage occurs during the change. The change is applied * during the next maintenance window, unless ApplyImmediately is * enabled for this request.

Default: Uses existing setting

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

The new compute and memory capacity of the DB instance, 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.

If you modify * the DB instance class, an outage occurs during the change. The change is applied * during the next maintenance window, unless ApplyImmediately is * enabled for this request.

Default: Uses existing setting

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

The new compute and memory capacity of the DB instance, 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.

If you modify * the DB instance class, an outage occurs during the change. The change is applied * during the next maintenance window, unless ApplyImmediately is * enabled for this request.

Default: Uses existing setting

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

The new compute and memory capacity of the DB instance, 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.

If you modify * the DB instance class, an outage occurs during the change. The change is applied * during the next maintenance window, unless ApplyImmediately is * enabled for this request.

Default: Uses existing setting

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

The new compute and memory capacity of the DB instance, 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.

If you modify * the DB instance class, an outage occurs during the change. The change is applied * during the next maintenance window, unless ApplyImmediately is * enabled for this request.

Default: Uses existing setting

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

The new compute and memory capacity of the DB instance, 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.

If you modify * the DB instance class, an outage occurs during the change. The change is applied * during the next maintenance window, unless ApplyImmediately is * enabled for this request.

Default: Uses existing setting

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

The new compute and memory capacity of the DB instance, 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.

If you modify * the DB instance class, an outage occurs during the change. The change is applied * during the next maintenance window, unless ApplyImmediately is * enabled for this request.

Default: Uses existing setting

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

The new DB subnet group for the DB instance. You can use this parameter to * move your DB instance to a different VPC. If your DB instance isn't in a VPC, * you can also use this parameter to move your DB instance into a VPC. For more * information, see Updating * the VPC for a DB Instance in the Amazon RDS User Guide.

*

Changing the subnet group causes an outage during the change. The change is * applied during the next maintenance window, unless you enable * ApplyImmediately.

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

Example: mySubnetGroup *

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

The new DB subnet group for the DB instance. You can use this parameter to * move your DB instance to a different VPC. If your DB instance isn't in a VPC, * you can also use this parameter to move your DB instance into a VPC. For more * information, see Updating * the VPC for a DB Instance in the Amazon RDS User Guide.

*

Changing the subnet group causes an outage during the change. The change is * applied during the next maintenance window, unless you enable * ApplyImmediately.

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

Example: mySubnetGroup *

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

The new DB subnet group for the DB instance. You can use this parameter to * move your DB instance to a different VPC. If your DB instance isn't in a VPC, * you can also use this parameter to move your DB instance into a VPC. For more * information, see Updating * the VPC for a DB Instance in the Amazon RDS User Guide.

*

Changing the subnet group causes an outage during the change. The change is * applied during the next maintenance window, unless you enable * ApplyImmediately.

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

Example: mySubnetGroup *

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

The new DB subnet group for the DB instance. You can use this parameter to * move your DB instance to a different VPC. If your DB instance isn't in a VPC, * you can also use this parameter to move your DB instance into a VPC. For more * information, see Updating * the VPC for a DB Instance in the Amazon RDS User Guide.

*

Changing the subnet group causes an outage during the change. The change is * applied during the next maintenance window, unless you enable * ApplyImmediately.

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

Example: mySubnetGroup *

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

The new DB subnet group for the DB instance. You can use this parameter to * move your DB instance to a different VPC. If your DB instance isn't in a VPC, * you can also use this parameter to move your DB instance into a VPC. For more * information, see Updating * the VPC for a DB Instance in the Amazon RDS User Guide.

*

Changing the subnet group causes an outage during the change. The change is * applied during the next maintenance window, unless you enable * ApplyImmediately.

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

Example: mySubnetGroup *

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

The new DB subnet group for the DB instance. You can use this parameter to * move your DB instance to a different VPC. If your DB instance isn't in a VPC, * you can also use this parameter to move your DB instance into a VPC. For more * information, see Updating * the VPC for a DB Instance in the Amazon RDS User Guide.

*

Changing the subnet group causes an outage during the change. The change is * applied during the next maintenance window, unless you enable * ApplyImmediately.

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

Example: mySubnetGroup *

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

The new DB subnet group for the DB instance. You can use this parameter to * move your DB instance to a different VPC. If your DB instance isn't in a VPC, * you can also use this parameter to move your DB instance into a VPC. For more * information, see Updating * the VPC for a DB Instance in the Amazon RDS User Guide.

*

Changing the subnet group causes an outage during the change. The change is * applied during the next maintenance window, unless you enable * ApplyImmediately.

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

Example: mySubnetGroup *

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

The new DB subnet group for the DB instance. You can use this parameter to * move your DB instance to a different VPC. If your DB instance isn't in a VPC, * you can also use this parameter to move your DB instance into a VPC. For more * information, see Updating * the VPC for a DB Instance in the Amazon RDS User Guide.

*

Changing the subnet group causes an outage during the change. The change is * applied during the next maintenance window, unless you enable * ApplyImmediately.

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

Example: mySubnetGroup *

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

A list of DB security groups to authorize on this DB instance. Changing this * setting doesn't result in an outage and the change is asynchronously applied as * soon as possible.

Constraints:

  • If supplied, must match * existing DBSecurityGroups.

*/ inline const Aws::Vector& GetDBSecurityGroups() const{ return m_dBSecurityGroups; } /** *

A list of DB security groups to authorize on this DB instance. Changing this * setting doesn't result in an outage and the change is asynchronously applied as * soon as possible.

Constraints:

  • If supplied, must match * existing DBSecurityGroups.

*/ inline bool DBSecurityGroupsHasBeenSet() const { return m_dBSecurityGroupsHasBeenSet; } /** *

A list of DB security groups to authorize on this DB instance. Changing this * setting doesn't result in an outage and the change is asynchronously applied as * soon as possible.

Constraints:

  • If supplied, must match * existing DBSecurityGroups.

*/ inline void SetDBSecurityGroups(const Aws::Vector& value) { m_dBSecurityGroupsHasBeenSet = true; m_dBSecurityGroups = value; } /** *

A list of DB security groups to authorize on this DB instance. Changing this * setting doesn't result in an outage and the change is asynchronously applied as * soon as possible.

Constraints:

  • If supplied, must match * existing DBSecurityGroups.

*/ inline void SetDBSecurityGroups(Aws::Vector&& value) { m_dBSecurityGroupsHasBeenSet = true; m_dBSecurityGroups = std::move(value); } /** *

A list of DB security groups to authorize on this DB instance. Changing this * setting doesn't result in an outage and the change is asynchronously applied as * soon as possible.

Constraints:

  • If supplied, must match * existing DBSecurityGroups.

*/ inline ModifyDBInstanceRequest& WithDBSecurityGroups(const Aws::Vector& value) { SetDBSecurityGroups(value); return *this;} /** *

A list of DB security groups to authorize on this DB instance. Changing this * setting doesn't result in an outage and the change is asynchronously applied as * soon as possible.

Constraints:

  • If supplied, must match * existing DBSecurityGroups.

*/ inline ModifyDBInstanceRequest& WithDBSecurityGroups(Aws::Vector&& value) { SetDBSecurityGroups(std::move(value)); return *this;} /** *

A list of DB security groups to authorize on this DB instance. Changing this * setting doesn't result in an outage and the change is asynchronously applied as * soon as possible.

Constraints:

  • If supplied, must match * existing DBSecurityGroups.

*/ inline ModifyDBInstanceRequest& AddDBSecurityGroups(const Aws::String& value) { m_dBSecurityGroupsHasBeenSet = true; m_dBSecurityGroups.push_back(value); return *this; } /** *

A list of DB security groups to authorize on this DB instance. Changing this * setting doesn't result in an outage and the change is asynchronously applied as * soon as possible.

Constraints:

  • If supplied, must match * existing DBSecurityGroups.

*/ inline ModifyDBInstanceRequest& AddDBSecurityGroups(Aws::String&& value) { m_dBSecurityGroupsHasBeenSet = true; m_dBSecurityGroups.push_back(std::move(value)); return *this; } /** *

A list of DB security groups to authorize on this DB instance. Changing this * setting doesn't result in an outage and the change is asynchronously applied as * soon as possible.

Constraints:

  • If supplied, must match * existing DBSecurityGroups.

*/ inline ModifyDBInstanceRequest& AddDBSecurityGroups(const char* value) { m_dBSecurityGroupsHasBeenSet = true; m_dBSecurityGroups.push_back(value); return *this; } /** *

A list of EC2 VPC security groups to authorize on this DB instance. This * change is asynchronously applied as soon as possible.

Amazon * Aurora

Not applicable. The associated list of EC2 VPC security * groups is managed by the DB cluster. For more information, see * ModifyDBCluster.

Constraints:

  • If supplied, * must match existing VpcSecurityGroupIds.

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

A list of EC2 VPC security groups to authorize on this DB instance. This * change is asynchronously applied as soon as possible.

Amazon * Aurora

Not applicable. The associated list of EC2 VPC security * groups is managed by the DB cluster. For more information, see * ModifyDBCluster.

Constraints:

  • If supplied, * must match existing VpcSecurityGroupIds.

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

A list of EC2 VPC security groups to authorize on this DB instance. This * change is asynchronously applied as soon as possible.

Amazon * Aurora

Not applicable. The associated list of EC2 VPC security * groups is managed by the DB cluster. For more information, see * ModifyDBCluster.

Constraints:

  • If supplied, * must match existing VpcSecurityGroupIds.

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

A list of EC2 VPC security groups to authorize on this DB instance. This * change is asynchronously applied as soon as possible.

Amazon * Aurora

Not applicable. The associated list of EC2 VPC security * groups is managed by the DB cluster. For more information, see * ModifyDBCluster.

Constraints:

  • If supplied, * must match existing VpcSecurityGroupIds.

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

A list of EC2 VPC security groups to authorize on this DB instance. This * change is asynchronously applied as soon as possible.

Amazon * Aurora

Not applicable. The associated list of EC2 VPC security * groups is managed by the DB cluster. For more information, see * ModifyDBCluster.

Constraints:

  • If supplied, * must match existing VpcSecurityGroupIds.

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

A list of EC2 VPC security groups to authorize on this DB instance. This * change is asynchronously applied as soon as possible.

Amazon * Aurora

Not applicable. The associated list of EC2 VPC security * groups is managed by the DB cluster. For more information, see * ModifyDBCluster.

Constraints:

  • If supplied, * must match existing VpcSecurityGroupIds.

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

A list of EC2 VPC security groups to authorize on this DB instance. This * change is asynchronously applied as soon as possible.

Amazon * Aurora

Not applicable. The associated list of EC2 VPC security * groups is managed by the DB cluster. For more information, see * ModifyDBCluster.

Constraints:

  • If supplied, * must match existing VpcSecurityGroupIds.

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

A list of EC2 VPC security groups to authorize on this DB instance. This * change is asynchronously applied as soon as possible.

Amazon * Aurora

Not applicable. The associated list of EC2 VPC security * groups is managed by the DB cluster. For more information, see * ModifyDBCluster.

Constraints:

  • If supplied, * must match existing VpcSecurityGroupIds.

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

A list of EC2 VPC security groups to authorize on this DB instance. This * change is asynchronously applied as soon as possible.

Amazon * Aurora

Not applicable. The associated list of EC2 VPC security * groups is managed by the DB cluster. For more information, see * ModifyDBCluster.

Constraints:

  • If supplied, * must match existing VpcSecurityGroupIds.

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

A value that indicates whether the modifications in this request and any * pending modifications are asynchronously applied as soon as possible, regardless * of the PreferredMaintenanceWindow setting for the DB instance. By * default, this parameter is disabled.

If this parameter is disabled, * changes to the DB instance are applied during the next maintenance window. Some * parameter changes can cause an outage and are applied on the next call to * RebootDBInstance, or the next failure reboot. Review the table of * parameters in Modifying * a DB Instance in the Amazon RDS User Guide. to see the impact of * enabling or disabling ApplyImmediately for each modified parameter * and to determine when the changes are applied.

*/ inline bool GetApplyImmediately() const{ return m_applyImmediately; } /** *

A value that indicates whether the modifications in this request and any * pending modifications are asynchronously applied as soon as possible, regardless * of the PreferredMaintenanceWindow setting for the DB instance. By * default, this parameter is disabled.

If this parameter is disabled, * changes to the DB instance are applied during the next maintenance window. Some * parameter changes can cause an outage and are applied on the next call to * RebootDBInstance, or the next failure reboot. Review the table of * parameters in Modifying * a DB Instance in the Amazon RDS User Guide. to see the impact of * enabling or disabling ApplyImmediately for each modified parameter * and to determine when the changes are applied.

*/ inline bool ApplyImmediatelyHasBeenSet() const { return m_applyImmediatelyHasBeenSet; } /** *

A value that indicates whether the modifications in this request and any * pending modifications are asynchronously applied as soon as possible, regardless * of the PreferredMaintenanceWindow setting for the DB instance. By * default, this parameter is disabled.

If this parameter is disabled, * changes to the DB instance are applied during the next maintenance window. Some * parameter changes can cause an outage and are applied on the next call to * RebootDBInstance, or the next failure reboot. Review the table of * parameters in Modifying * a DB Instance in the Amazon RDS User Guide. to see the impact of * enabling or disabling ApplyImmediately for each modified parameter * and to determine when the changes are applied.

*/ inline void SetApplyImmediately(bool value) { m_applyImmediatelyHasBeenSet = true; m_applyImmediately = value; } /** *

A value that indicates whether the modifications in this request and any * pending modifications are asynchronously applied as soon as possible, regardless * of the PreferredMaintenanceWindow setting for the DB instance. By * default, this parameter is disabled.

If this parameter is disabled, * changes to the DB instance are applied during the next maintenance window. Some * parameter changes can cause an outage and are applied on the next call to * RebootDBInstance, or the next failure reboot. Review the table of * parameters in Modifying * a DB Instance in the Amazon RDS User Guide. to see the impact of * enabling or disabling ApplyImmediately for each modified parameter * and to determine when the changes are applied.

*/ inline ModifyDBInstanceRequest& WithApplyImmediately(bool value) { SetApplyImmediately(value); return *this;} /** *

The new password for the master user. The password can include any printable * ASCII character except "/", """, or "@".

Changing this parameter doesn't * result in an outage and the change is asynchronously applied as soon as * possible. Between the time of the request and the completion of the request, the * MasterUserPassword element exists in the * PendingModifiedValues element of the operation response.

* Amazon Aurora

Not applicable. The password for the master user is * managed by the DB cluster. For more information, see * ModifyDBCluster.

Default: Uses existing setting

* MariaDB

Constraints: Must contain from 8 to 41 characters.

*

Microsoft SQL Server

Constraints: Must contain from 8 to 128 * characters.

MySQL

Constraints: Must contain from 8 to 41 * characters.

Oracle

Constraints: Must contain from 8 to 30 * characters.

PostgreSQL

Constraints: Must contain from 8 * to 128 characters.

Amazon RDS API actions never return the * password, so this action provides a way to regain access to a primary instance * user if the password is lost. This includes restoring privileges that might have * been accidentally revoked.

*/ inline const Aws::String& GetMasterUserPassword() const{ return m_masterUserPassword; } /** *

The new password for the master user. The password can include any printable * ASCII character except "/", """, or "@".

Changing this parameter doesn't * result in an outage and the change is asynchronously applied as soon as * possible. Between the time of the request and the completion of the request, the * MasterUserPassword element exists in the * PendingModifiedValues element of the operation response.

* Amazon Aurora

Not applicable. The password for the master user is * managed by the DB cluster. For more information, see * ModifyDBCluster.

Default: Uses existing setting

* MariaDB

Constraints: Must contain from 8 to 41 characters.

*

Microsoft SQL Server

Constraints: Must contain from 8 to 128 * characters.

MySQL

Constraints: Must contain from 8 to 41 * characters.

Oracle

Constraints: Must contain from 8 to 30 * characters.

PostgreSQL

Constraints: Must contain from 8 * to 128 characters.

Amazon RDS API actions never return the * password, so this action provides a way to regain access to a primary instance * user if the password is lost. This includes restoring privileges that might have * been accidentally revoked.

*/ inline bool MasterUserPasswordHasBeenSet() const { return m_masterUserPasswordHasBeenSet; } /** *

The new password for the master user. The password can include any printable * ASCII character except "/", """, or "@".

Changing this parameter doesn't * result in an outage and the change is asynchronously applied as soon as * possible. Between the time of the request and the completion of the request, the * MasterUserPassword element exists in the * PendingModifiedValues element of the operation response.

* Amazon Aurora

Not applicable. The password for the master user is * managed by the DB cluster. For more information, see * ModifyDBCluster.

Default: Uses existing setting

* MariaDB

Constraints: Must contain from 8 to 41 characters.

*

Microsoft SQL Server

Constraints: Must contain from 8 to 128 * characters.

MySQL

Constraints: Must contain from 8 to 41 * characters.

Oracle

Constraints: Must contain from 8 to 30 * characters.

PostgreSQL

Constraints: Must contain from 8 * to 128 characters.

Amazon RDS API actions never return the * password, so this action provides a way to regain access to a primary instance * user if the password is lost. This includes restoring privileges that might have * been accidentally revoked.

*/ inline void SetMasterUserPassword(const Aws::String& value) { m_masterUserPasswordHasBeenSet = true; m_masterUserPassword = value; } /** *

The new password for the master user. The password can include any printable * ASCII character except "/", """, or "@".

Changing this parameter doesn't * result in an outage and the change is asynchronously applied as soon as * possible. Between the time of the request and the completion of the request, the * MasterUserPassword element exists in the * PendingModifiedValues element of the operation response.

* Amazon Aurora

Not applicable. The password for the master user is * managed by the DB cluster. For more information, see * ModifyDBCluster.

Default: Uses existing setting

* MariaDB

Constraints: Must contain from 8 to 41 characters.

*

Microsoft SQL Server

Constraints: Must contain from 8 to 128 * characters.

MySQL

Constraints: Must contain from 8 to 41 * characters.

Oracle

Constraints: Must contain from 8 to 30 * characters.

PostgreSQL

Constraints: Must contain from 8 * to 128 characters.

Amazon RDS API actions never return the * password, so this action provides a way to regain access to a primary instance * user if the password is lost. This includes restoring privileges that might have * been accidentally revoked.

*/ inline void SetMasterUserPassword(Aws::String&& value) { m_masterUserPasswordHasBeenSet = true; m_masterUserPassword = std::move(value); } /** *

The new password for the master user. The password can include any printable * ASCII character except "/", """, or "@".

Changing this parameter doesn't * result in an outage and the change is asynchronously applied as soon as * possible. Between the time of the request and the completion of the request, the * MasterUserPassword element exists in the * PendingModifiedValues element of the operation response.

* Amazon Aurora

Not applicable. The password for the master user is * managed by the DB cluster. For more information, see * ModifyDBCluster.

Default: Uses existing setting

* MariaDB

Constraints: Must contain from 8 to 41 characters.

*

Microsoft SQL Server

Constraints: Must contain from 8 to 128 * characters.

MySQL

Constraints: Must contain from 8 to 41 * characters.

Oracle

Constraints: Must contain from 8 to 30 * characters.

PostgreSQL

Constraints: Must contain from 8 * to 128 characters.

Amazon RDS API actions never return the * password, so this action provides a way to regain access to a primary instance * user if the password is lost. This includes restoring privileges that might have * been accidentally revoked.

*/ inline void SetMasterUserPassword(const char* value) { m_masterUserPasswordHasBeenSet = true; m_masterUserPassword.assign(value); } /** *

The new password for the master user. The password can include any printable * ASCII character except "/", """, or "@".

Changing this parameter doesn't * result in an outage and the change is asynchronously applied as soon as * possible. Between the time of the request and the completion of the request, the * MasterUserPassword element exists in the * PendingModifiedValues element of the operation response.

* Amazon Aurora

Not applicable. The password for the master user is * managed by the DB cluster. For more information, see * ModifyDBCluster.

Default: Uses existing setting

* MariaDB

Constraints: Must contain from 8 to 41 characters.

*

Microsoft SQL Server

Constraints: Must contain from 8 to 128 * characters.

MySQL

Constraints: Must contain from 8 to 41 * characters.

Oracle

Constraints: Must contain from 8 to 30 * characters.

PostgreSQL

Constraints: Must contain from 8 * to 128 characters.

Amazon RDS API actions never return the * password, so this action provides a way to regain access to a primary instance * user if the password is lost. This includes restoring privileges that might have * been accidentally revoked.

*/ inline ModifyDBInstanceRequest& WithMasterUserPassword(const Aws::String& value) { SetMasterUserPassword(value); return *this;} /** *

The new password for the master user. The password can include any printable * ASCII character except "/", """, or "@".

Changing this parameter doesn't * result in an outage and the change is asynchronously applied as soon as * possible. Between the time of the request and the completion of the request, the * MasterUserPassword element exists in the * PendingModifiedValues element of the operation response.

* Amazon Aurora

Not applicable. The password for the master user is * managed by the DB cluster. For more information, see * ModifyDBCluster.

Default: Uses existing setting

* MariaDB

Constraints: Must contain from 8 to 41 characters.

*

Microsoft SQL Server

Constraints: Must contain from 8 to 128 * characters.

MySQL

Constraints: Must contain from 8 to 41 * characters.

Oracle

Constraints: Must contain from 8 to 30 * characters.

PostgreSQL

Constraints: Must contain from 8 * to 128 characters.

Amazon RDS API actions never return the * password, so this action provides a way to regain access to a primary instance * user if the password is lost. This includes restoring privileges that might have * been accidentally revoked.

*/ inline ModifyDBInstanceRequest& WithMasterUserPassword(Aws::String&& value) { SetMasterUserPassword(std::move(value)); return *this;} /** *

The new password for the master user. The password can include any printable * ASCII character except "/", """, or "@".

Changing this parameter doesn't * result in an outage and the change is asynchronously applied as soon as * possible. Between the time of the request and the completion of the request, the * MasterUserPassword element exists in the * PendingModifiedValues element of the operation response.

* Amazon Aurora

Not applicable. The password for the master user is * managed by the DB cluster. For more information, see * ModifyDBCluster.

Default: Uses existing setting

* MariaDB

Constraints: Must contain from 8 to 41 characters.

*

Microsoft SQL Server

Constraints: Must contain from 8 to 128 * characters.

MySQL

Constraints: Must contain from 8 to 41 * characters.

Oracle

Constraints: Must contain from 8 to 30 * characters.

PostgreSQL

Constraints: Must contain from 8 * to 128 characters.

Amazon RDS API actions never return the * password, so this action provides a way to regain access to a primary instance * user if the password is lost. This includes restoring privileges that might have * been accidentally revoked.

*/ inline ModifyDBInstanceRequest& WithMasterUserPassword(const char* value) { SetMasterUserPassword(value); return *this;} /** *

The name of the DB parameter group to apply to the DB instance. Changing this * setting doesn't result in an outage. The parameter group name itself is changed * immediately, but the actual parameter changes are not applied until you reboot * the instance without failover. In this case, the DB instance isn't rebooted * automatically and the parameter changes isn't applied during the next * maintenance window.

Default: Uses existing setting

Constraints: * The DB parameter group must be in the same DB parameter group family as this DB * instance.

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

The name of the DB parameter group to apply to the DB instance. Changing this * setting doesn't result in an outage. The parameter group name itself is changed * immediately, but the actual parameter changes are not applied until you reboot * the instance without failover. In this case, the DB instance isn't rebooted * automatically and the parameter changes isn't applied during the next * maintenance window.

Default: Uses existing setting

Constraints: * The DB parameter group must be in the same DB parameter group family as this DB * instance.

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

The name of the DB parameter group to apply to the DB instance. Changing this * setting doesn't result in an outage. The parameter group name itself is changed * immediately, but the actual parameter changes are not applied until you reboot * the instance without failover. In this case, the DB instance isn't rebooted * automatically and the parameter changes isn't applied during the next * maintenance window.

Default: Uses existing setting

Constraints: * The DB parameter group must be in the same DB parameter group family as this DB * instance.

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

The name of the DB parameter group to apply to the DB instance. Changing this * setting doesn't result in an outage. The parameter group name itself is changed * immediately, but the actual parameter changes are not applied until you reboot * the instance without failover. In this case, the DB instance isn't rebooted * automatically and the parameter changes isn't applied during the next * maintenance window.

Default: Uses existing setting

Constraints: * The DB parameter group must be in the same DB parameter group family as this DB * instance.

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

The name of the DB parameter group to apply to the DB instance. Changing this * setting doesn't result in an outage. The parameter group name itself is changed * immediately, but the actual parameter changes are not applied until you reboot * the instance without failover. In this case, the DB instance isn't rebooted * automatically and the parameter changes isn't applied during the next * maintenance window.

Default: Uses existing setting

Constraints: * The DB parameter group must be in the same DB parameter group family as this DB * instance.

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

The name of the DB parameter group to apply to the DB instance. Changing this * setting doesn't result in an outage. The parameter group name itself is changed * immediately, but the actual parameter changes are not applied until you reboot * the instance without failover. In this case, the DB instance isn't rebooted * automatically and the parameter changes isn't applied during the next * maintenance window.

Default: Uses existing setting

Constraints: * The DB parameter group must be in the same DB parameter group family as this DB * instance.

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

The name of the DB parameter group to apply to the DB instance. Changing this * setting doesn't result in an outage. The parameter group name itself is changed * immediately, but the actual parameter changes are not applied until you reboot * the instance without failover. In this case, the DB instance isn't rebooted * automatically and the parameter changes isn't applied during the next * maintenance window.

Default: Uses existing setting

Constraints: * The DB parameter group must be in the same DB parameter group family as this DB * instance.

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

The name of the DB parameter group to apply to the DB instance. Changing this * setting doesn't result in an outage. The parameter group name itself is changed * immediately, but the actual parameter changes are not applied until you reboot * the instance without failover. In this case, the DB instance isn't rebooted * automatically and the parameter changes isn't applied during the next * maintenance window.

Default: Uses existing setting

Constraints: * The DB parameter group must be in the same DB parameter group family as this DB * instance.

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

The number of days to retain automated backups. Setting this parameter to a * positive number enables backups. Setting this parameter to 0 disables automated * backups.

Changing this parameter can result in an outage if you change * from 0 to a non-zero value or from a non-zero value to 0. These changes are * applied during the next maintenance window unless the * ApplyImmediately parameter is enabled for this request. If you * change the parameter from one non-zero value to another non-zero value, the * change is asynchronously applied as soon as possible.

Amazon * Aurora

Not applicable. The retention period for automated backups is * managed by the DB cluster. For more information, see * ModifyDBCluster.

Default: Uses existing setting

*

Constraints:

  • Must be a value from 0 to 35

  • *

    Can be specified for a MySQL read replica only if the source is running MySQL * 5.6 or later

  • Can be specified for a PostgreSQL read replica * only if the source is running PostgreSQL 9.3.5

  • Can't be set to * 0 if the DB instance is a source to read replicas

*/ inline int GetBackupRetentionPeriod() const{ return m_backupRetentionPeriod; } /** *

The number of days to retain automated backups. Setting this parameter to a * positive number enables backups. Setting this parameter to 0 disables automated * backups.

Changing this parameter can result in an outage if you change * from 0 to a non-zero value or from a non-zero value to 0. These changes are * applied during the next maintenance window unless the * ApplyImmediately parameter is enabled for this request. If you * change the parameter from one non-zero value to another non-zero value, the * change is asynchronously applied as soon as possible.

Amazon * Aurora

Not applicable. The retention period for automated backups is * managed by the DB cluster. For more information, see * ModifyDBCluster.

Default: Uses existing setting

*

Constraints:

  • Must be a value from 0 to 35

  • *

    Can be specified for a MySQL read replica only if the source is running MySQL * 5.6 or later

  • Can be specified for a PostgreSQL read replica * only if the source is running PostgreSQL 9.3.5

  • Can't be set to * 0 if the DB instance is a source to read replicas

*/ inline bool BackupRetentionPeriodHasBeenSet() const { return m_backupRetentionPeriodHasBeenSet; } /** *

The number of days to retain automated backups. Setting this parameter to a * positive number enables backups. Setting this parameter to 0 disables automated * backups.

Changing this parameter can result in an outage if you change * from 0 to a non-zero value or from a non-zero value to 0. These changes are * applied during the next maintenance window unless the * ApplyImmediately parameter is enabled for this request. If you * change the parameter from one non-zero value to another non-zero value, the * change is asynchronously applied as soon as possible.

Amazon * Aurora

Not applicable. The retention period for automated backups is * managed by the DB cluster. For more information, see * ModifyDBCluster.

Default: Uses existing setting

*

Constraints:

  • Must be a value from 0 to 35

  • *

    Can be specified for a MySQL read replica only if the source is running MySQL * 5.6 or later

  • Can be specified for a PostgreSQL read replica * only if the source is running PostgreSQL 9.3.5

  • Can't be set to * 0 if the DB instance is a source to read replicas

*/ inline void SetBackupRetentionPeriod(int value) { m_backupRetentionPeriodHasBeenSet = true; m_backupRetentionPeriod = value; } /** *

The number of days to retain automated backups. Setting this parameter to a * positive number enables backups. Setting this parameter to 0 disables automated * backups.

Changing this parameter can result in an outage if you change * from 0 to a non-zero value or from a non-zero value to 0. These changes are * applied during the next maintenance window unless the * ApplyImmediately parameter is enabled for this request. If you * change the parameter from one non-zero value to another non-zero value, the * change is asynchronously applied as soon as possible.

Amazon * Aurora

Not applicable. The retention period for automated backups is * managed by the DB cluster. For more information, see * ModifyDBCluster.

Default: Uses existing setting

*

Constraints:

  • Must be a value from 0 to 35

  • *

    Can be specified for a MySQL read replica only if the source is running MySQL * 5.6 or later

  • Can be specified for a PostgreSQL read replica * only if the source is running PostgreSQL 9.3.5

  • Can't be set to * 0 if the DB instance is a source to read replicas

*/ inline ModifyDBInstanceRequest& WithBackupRetentionPeriod(int value) { SetBackupRetentionPeriod(value); return *this;} /** *

The daily time range during which automated backups are created if automated * backups are enabled, as determined by the BackupRetentionPeriod * parameter. Changing this parameter doesn't result in an outage and the change is * asynchronously applied as soon as possible.

Amazon Aurora

*

Not applicable. The daily time range for creating automated backups is * managed by the DB cluster. For more information, see * ModifyDBCluster.

Constraints:

  • Must be in * the format hh24:mi-hh24:mi

  • Must be in Universal Time * Coordinated (UTC)

  • Must not conflict with the preferred * maintenance window

  • Must be at least 30 minutes

*/ inline const Aws::String& GetPreferredBackupWindow() const{ return m_preferredBackupWindow; } /** *

The daily time range during which automated backups are created if automated * backups are enabled, as determined by the BackupRetentionPeriod * parameter. Changing this parameter doesn't result in an outage and the change is * asynchronously applied as soon as possible.

Amazon Aurora

*

Not applicable. The daily time range for creating automated backups is * managed by the DB cluster. For more information, see * ModifyDBCluster.

Constraints:

  • Must be in * the format hh24:mi-hh24:mi

  • Must be in Universal Time * Coordinated (UTC)

  • Must not conflict with the preferred * maintenance window

  • Must be at least 30 minutes

*/ inline bool PreferredBackupWindowHasBeenSet() const { return m_preferredBackupWindowHasBeenSet; } /** *

The daily time range during which automated backups are created if automated * backups are enabled, as determined by the BackupRetentionPeriod * parameter. Changing this parameter doesn't result in an outage and the change is * asynchronously applied as soon as possible.

Amazon Aurora

*

Not applicable. The daily time range for creating automated backups is * managed by the DB cluster. For more information, see * ModifyDBCluster.

Constraints:

  • Must be in * the format hh24:mi-hh24:mi

  • Must be in Universal Time * Coordinated (UTC)

  • Must not conflict with the preferred * maintenance window

  • Must be at least 30 minutes

*/ inline void SetPreferredBackupWindow(const Aws::String& value) { m_preferredBackupWindowHasBeenSet = true; m_preferredBackupWindow = value; } /** *

The daily time range during which automated backups are created if automated * backups are enabled, as determined by the BackupRetentionPeriod * parameter. Changing this parameter doesn't result in an outage and the change is * asynchronously applied as soon as possible.

Amazon Aurora

*

Not applicable. The daily time range for creating automated backups is * managed by the DB cluster. For more information, see * ModifyDBCluster.

Constraints:

  • Must be in * the format hh24:mi-hh24:mi

  • Must be in Universal Time * Coordinated (UTC)

  • Must not conflict with the preferred * maintenance window

  • Must be at least 30 minutes

*/ inline void SetPreferredBackupWindow(Aws::String&& value) { m_preferredBackupWindowHasBeenSet = true; m_preferredBackupWindow = std::move(value); } /** *

The daily time range during which automated backups are created if automated * backups are enabled, as determined by the BackupRetentionPeriod * parameter. Changing this parameter doesn't result in an outage and the change is * asynchronously applied as soon as possible.

Amazon Aurora

*

Not applicable. The daily time range for creating automated backups is * managed by the DB cluster. For more information, see * ModifyDBCluster.

Constraints:

  • Must be in * the format hh24:mi-hh24:mi

  • Must be in Universal Time * Coordinated (UTC)

  • Must not conflict with the preferred * maintenance window

  • Must be at least 30 minutes

*/ inline void SetPreferredBackupWindow(const char* value) { m_preferredBackupWindowHasBeenSet = true; m_preferredBackupWindow.assign(value); } /** *

The daily time range during which automated backups are created if automated * backups are enabled, as determined by the BackupRetentionPeriod * parameter. Changing this parameter doesn't result in an outage and the change is * asynchronously applied as soon as possible.

Amazon Aurora

*

Not applicable. The daily time range for creating automated backups is * managed by the DB cluster. For more information, see * ModifyDBCluster.

Constraints:

  • Must be in * the format hh24:mi-hh24:mi

  • Must be in Universal Time * Coordinated (UTC)

  • Must not conflict with the preferred * maintenance window

  • Must be at least 30 minutes

*/ inline ModifyDBInstanceRequest& WithPreferredBackupWindow(const Aws::String& value) { SetPreferredBackupWindow(value); return *this;} /** *

The daily time range during which automated backups are created if automated * backups are enabled, as determined by the BackupRetentionPeriod * parameter. Changing this parameter doesn't result in an outage and the change is * asynchronously applied as soon as possible.

Amazon Aurora

*

Not applicable. The daily time range for creating automated backups is * managed by the DB cluster. For more information, see * ModifyDBCluster.

Constraints:

  • Must be in * the format hh24:mi-hh24:mi

  • Must be in Universal Time * Coordinated (UTC)

  • Must not conflict with the preferred * maintenance window

  • Must be at least 30 minutes

*/ inline ModifyDBInstanceRequest& WithPreferredBackupWindow(Aws::String&& value) { SetPreferredBackupWindow(std::move(value)); return *this;} /** *

The daily time range during which automated backups are created if automated * backups are enabled, as determined by the BackupRetentionPeriod * parameter. Changing this parameter doesn't result in an outage and the change is * asynchronously applied as soon as possible.

Amazon Aurora

*

Not applicable. The daily time range for creating automated backups is * managed by the DB cluster. For more information, see * ModifyDBCluster.

Constraints:

  • Must be in * the format hh24:mi-hh24:mi

  • Must be in Universal Time * Coordinated (UTC)

  • Must not conflict with the preferred * maintenance window

  • Must be at least 30 minutes

*/ inline ModifyDBInstanceRequest& WithPreferredBackupWindow(const char* value) { SetPreferredBackupWindow(value); return *this;} /** *

The weekly time range (in UTC) during which system maintenance can occur, * which might result in an outage. Changing this parameter doesn't result in an * outage, except in the following situation, and the change is asynchronously * applied as soon as possible. If there are pending actions that cause a reboot, * and the maintenance window is changed to include the current time, then changing * this parameter will cause a reboot of the DB instance. If moving this window to * the current time, there must be at least 30 minutes between the current time and * end of the window to ensure pending changes are applied.

Default: Uses * existing setting

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

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

Constraints: Must be at least 30 * minutes

*/ inline const Aws::String& GetPreferredMaintenanceWindow() const{ return m_preferredMaintenanceWindow; } /** *

The weekly time range (in UTC) during which system maintenance can occur, * which might result in an outage. Changing this parameter doesn't result in an * outage, except in the following situation, and the change is asynchronously * applied as soon as possible. If there are pending actions that cause a reboot, * and the maintenance window is changed to include the current time, then changing * this parameter will cause a reboot of the DB instance. If moving this window to * the current time, there must be at least 30 minutes between the current time and * end of the window to ensure pending changes are applied.

Default: Uses * existing setting

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

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

Constraints: Must be at least 30 * minutes

*/ inline bool PreferredMaintenanceWindowHasBeenSet() const { return m_preferredMaintenanceWindowHasBeenSet; } /** *

The weekly time range (in UTC) during which system maintenance can occur, * which might result in an outage. Changing this parameter doesn't result in an * outage, except in the following situation, and the change is asynchronously * applied as soon as possible. If there are pending actions that cause a reboot, * and the maintenance window is changed to include the current time, then changing * this parameter will cause a reboot of the DB instance. If moving this window to * the current time, there must be at least 30 minutes between the current time and * end of the window to ensure pending changes are applied.

Default: Uses * existing setting

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

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

Constraints: Must be at least 30 * minutes

*/ inline void SetPreferredMaintenanceWindow(const Aws::String& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = value; } /** *

The weekly time range (in UTC) during which system maintenance can occur, * which might result in an outage. Changing this parameter doesn't result in an * outage, except in the following situation, and the change is asynchronously * applied as soon as possible. If there are pending actions that cause a reboot, * and the maintenance window is changed to include the current time, then changing * this parameter will cause a reboot of the DB instance. If moving this window to * the current time, there must be at least 30 minutes between the current time and * end of the window to ensure pending changes are applied.

Default: Uses * existing setting

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

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

Constraints: Must be at least 30 * minutes

*/ inline void SetPreferredMaintenanceWindow(Aws::String&& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = std::move(value); } /** *

The weekly time range (in UTC) during which system maintenance can occur, * which might result in an outage. Changing this parameter doesn't result in an * outage, except in the following situation, and the change is asynchronously * applied as soon as possible. If there are pending actions that cause a reboot, * and the maintenance window is changed to include the current time, then changing * this parameter will cause a reboot of the DB instance. If moving this window to * the current time, there must be at least 30 minutes between the current time and * end of the window to ensure pending changes are applied.

Default: Uses * existing setting

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

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

Constraints: Must be at least 30 * minutes

*/ inline void SetPreferredMaintenanceWindow(const char* value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow.assign(value); } /** *

The weekly time range (in UTC) during which system maintenance can occur, * which might result in an outage. Changing this parameter doesn't result in an * outage, except in the following situation, and the change is asynchronously * applied as soon as possible. If there are pending actions that cause a reboot, * and the maintenance window is changed to include the current time, then changing * this parameter will cause a reboot of the DB instance. If moving this window to * the current time, there must be at least 30 minutes between the current time and * end of the window to ensure pending changes are applied.

Default: Uses * existing setting

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

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

Constraints: Must be at least 30 * minutes

*/ inline ModifyDBInstanceRequest& WithPreferredMaintenanceWindow(const Aws::String& value) { SetPreferredMaintenanceWindow(value); return *this;} /** *

The weekly time range (in UTC) during which system maintenance can occur, * which might result in an outage. Changing this parameter doesn't result in an * outage, except in the following situation, and the change is asynchronously * applied as soon as possible. If there are pending actions that cause a reboot, * and the maintenance window is changed to include the current time, then changing * this parameter will cause a reboot of the DB instance. If moving this window to * the current time, there must be at least 30 minutes between the current time and * end of the window to ensure pending changes are applied.

Default: Uses * existing setting

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

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

Constraints: Must be at least 30 * minutes

*/ inline ModifyDBInstanceRequest& WithPreferredMaintenanceWindow(Aws::String&& value) { SetPreferredMaintenanceWindow(std::move(value)); return *this;} /** *

The weekly time range (in UTC) during which system maintenance can occur, * which might result in an outage. Changing this parameter doesn't result in an * outage, except in the following situation, and the change is asynchronously * applied as soon as possible. If there are pending actions that cause a reboot, * and the maintenance window is changed to include the current time, then changing * this parameter will cause a reboot of the DB instance. If moving this window to * the current time, there must be at least 30 minutes between the current time and * end of the window to ensure pending changes are applied.

Default: Uses * existing setting

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

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

Constraints: Must be at least 30 * minutes

*/ inline ModifyDBInstanceRequest& WithPreferredMaintenanceWindow(const char* value) { SetPreferredMaintenanceWindow(value); return *this;} /** *

A value that indicates whether the DB instance is a Multi-AZ deployment. * Changing this parameter doesn't result in an outage and the change is applied * during the next maintenance window unless the ApplyImmediately * parameter is enabled for this request.

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

A value that indicates whether the DB instance is a Multi-AZ deployment. * Changing this parameter doesn't result in an outage and the change is applied * during the next maintenance window unless the ApplyImmediately * parameter is enabled for this request.

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

A value that indicates whether the DB instance is a Multi-AZ deployment. * Changing this parameter doesn't result in an outage and the change is applied * during the next maintenance window unless the ApplyImmediately * parameter is enabled for this request.

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

A value that indicates whether the DB instance is a Multi-AZ deployment. * Changing this parameter doesn't result in an outage and the change is applied * during the next maintenance window unless the ApplyImmediately * parameter is enabled for this request.

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

The version number of the database engine to upgrade to. Changing this * parameter results in an outage and the change is applied during the next * maintenance window unless the ApplyImmediately parameter is eanbled * for this request.

For major version upgrades, if a nondefault DB * parameter group is currently in use, a new DB parameter group in the DB * parameter group family for the new engine version must be specified. The new DB * parameter group can be the default for that DB parameter group family.

*

For information about valid engine versions, see * CreateDBInstance, or call * DescribeDBEngineVersions.

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

The version number of the database engine to upgrade to. Changing this * parameter results in an outage and the change is applied during the next * maintenance window unless the ApplyImmediately parameter is eanbled * for this request.

For major version upgrades, if a nondefault DB * parameter group is currently in use, a new DB parameter group in the DB * parameter group family for the new engine version must be specified. The new DB * parameter group can be the default for that DB parameter group family.

*

For information about valid engine versions, see * CreateDBInstance, or call * DescribeDBEngineVersions.

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

The version number of the database engine to upgrade to. Changing this * parameter results in an outage and the change is applied during the next * maintenance window unless the ApplyImmediately parameter is eanbled * for this request.

For major version upgrades, if a nondefault DB * parameter group is currently in use, a new DB parameter group in the DB * parameter group family for the new engine version must be specified. The new DB * parameter group can be the default for that DB parameter group family.

*

For information about valid engine versions, see * CreateDBInstance, or call * DescribeDBEngineVersions.

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

The version number of the database engine to upgrade to. Changing this * parameter results in an outage and the change is applied during the next * maintenance window unless the ApplyImmediately parameter is eanbled * for this request.

For major version upgrades, if a nondefault DB * parameter group is currently in use, a new DB parameter group in the DB * parameter group family for the new engine version must be specified. The new DB * parameter group can be the default for that DB parameter group family.

*

For information about valid engine versions, see * CreateDBInstance, or call * DescribeDBEngineVersions.

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

The version number of the database engine to upgrade to. Changing this * parameter results in an outage and the change is applied during the next * maintenance window unless the ApplyImmediately parameter is eanbled * for this request.

For major version upgrades, if a nondefault DB * parameter group is currently in use, a new DB parameter group in the DB * parameter group family for the new engine version must be specified. The new DB * parameter group can be the default for that DB parameter group family.

*

For information about valid engine versions, see * CreateDBInstance, or call * DescribeDBEngineVersions.

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

The version number of the database engine to upgrade to. Changing this * parameter results in an outage and the change is applied during the next * maintenance window unless the ApplyImmediately parameter is eanbled * for this request.

For major version upgrades, if a nondefault DB * parameter group is currently in use, a new DB parameter group in the DB * parameter group family for the new engine version must be specified. The new DB * parameter group can be the default for that DB parameter group family.

*

For information about valid engine versions, see * CreateDBInstance, or call * DescribeDBEngineVersions.

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

The version number of the database engine to upgrade to. Changing this * parameter results in an outage and the change is applied during the next * maintenance window unless the ApplyImmediately parameter is eanbled * for this request.

For major version upgrades, if a nondefault DB * parameter group is currently in use, a new DB parameter group in the DB * parameter group family for the new engine version must be specified. The new DB * parameter group can be the default for that DB parameter group family.

*

For information about valid engine versions, see * CreateDBInstance, or call * DescribeDBEngineVersions.

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

The version number of the database engine to upgrade to. Changing this * parameter results in an outage and the change is applied during the next * maintenance window unless the ApplyImmediately parameter is eanbled * for this request.

For major version upgrades, if a nondefault DB * parameter group is currently in use, a new DB parameter group in the DB * parameter group family for the new engine version must be specified. The new DB * parameter group can be the default for that DB parameter group family.

*

For information about valid engine versions, see * CreateDBInstance, or call * DescribeDBEngineVersions.

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

A value that indicates whether major version upgrades are allowed. Changing * this parameter doesn't result in an outage and the change is asynchronously * applied as soon as possible.

Constraints: Major version upgrades must be * allowed when specifying a value for the EngineVersion parameter that is a * different major version than the DB instance's current version.

*/ inline bool GetAllowMajorVersionUpgrade() const{ return m_allowMajorVersionUpgrade; } /** *

A value that indicates whether major version upgrades are allowed. Changing * this parameter doesn't result in an outage and the change is asynchronously * applied as soon as possible.

Constraints: Major version upgrades must be * allowed when specifying a value for the EngineVersion parameter that is a * different major version than the DB instance's current version.

*/ inline bool AllowMajorVersionUpgradeHasBeenSet() const { return m_allowMajorVersionUpgradeHasBeenSet; } /** *

A value that indicates whether major version upgrades are allowed. Changing * this parameter doesn't result in an outage and the change is asynchronously * applied as soon as possible.

Constraints: Major version upgrades must be * allowed when specifying a value for the EngineVersion parameter that is a * different major version than the DB instance's current version.

*/ inline void SetAllowMajorVersionUpgrade(bool value) { m_allowMajorVersionUpgradeHasBeenSet = true; m_allowMajorVersionUpgrade = value; } /** *

A value that indicates whether major version upgrades are allowed. Changing * this parameter doesn't result in an outage and the change is asynchronously * applied as soon as possible.

Constraints: Major version upgrades must be * allowed when specifying a value for the EngineVersion parameter that is a * different major version than the DB instance's current version.

*/ inline ModifyDBInstanceRequest& WithAllowMajorVersionUpgrade(bool value) { SetAllowMajorVersionUpgrade(value); return *this;} /** *

A value that indicates whether minor version upgrades are applied * automatically to the DB instance during the maintenance window. Changing this * parameter doesn't result in an outage except in the following case and the * change is asynchronously applied as soon as possible. An outage results if this * parameter is enabled during the maintenance window, and a newer minor version is * available, and RDS has enabled auto patching for that engine version.

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

A value that indicates whether minor version upgrades are applied * automatically to the DB instance during the maintenance window. Changing this * parameter doesn't result in an outage except in the following case and the * change is asynchronously applied as soon as possible. An outage results if this * parameter is enabled during the maintenance window, and a newer minor version is * available, and RDS has enabled auto patching for that engine version.

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

A value that indicates whether minor version upgrades are applied * automatically to the DB instance during the maintenance window. Changing this * parameter doesn't result in an outage except in the following case and the * change is asynchronously applied as soon as possible. An outage results if this * parameter is enabled during the maintenance window, and a newer minor version is * available, and RDS has enabled auto patching for that engine version.

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

A value that indicates whether minor version upgrades are applied * automatically to the DB instance during the maintenance window. Changing this * parameter doesn't result in an outage except in the following case and the * change is asynchronously applied as soon as possible. An outage results if this * parameter is enabled during the maintenance window, and a newer minor version is * available, and RDS has enabled auto patching for that engine version.

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

The license model for the DB instance.

Valid values: * license-included | bring-your-own-license | * general-public-license

*/ inline const Aws::String& GetLicenseModel() const{ return m_licenseModel; } /** *

The license model for the DB instance.

Valid values: * license-included | bring-your-own-license | * general-public-license

*/ inline bool LicenseModelHasBeenSet() const { return m_licenseModelHasBeenSet; } /** *

The license model for the DB instance.

Valid values: * license-included | bring-your-own-license | * general-public-license

*/ inline void SetLicenseModel(const Aws::String& value) { m_licenseModelHasBeenSet = true; m_licenseModel = value; } /** *

The license model for the DB instance.

Valid values: * license-included | bring-your-own-license | * general-public-license

*/ inline void SetLicenseModel(Aws::String&& value) { m_licenseModelHasBeenSet = true; m_licenseModel = std::move(value); } /** *

The license model for the DB instance.

Valid values: * license-included | bring-your-own-license | * general-public-license

*/ inline void SetLicenseModel(const char* value) { m_licenseModelHasBeenSet = true; m_licenseModel.assign(value); } /** *

The license model for the DB instance.

Valid values: * license-included | bring-your-own-license | * general-public-license

*/ inline ModifyDBInstanceRequest& WithLicenseModel(const Aws::String& value) { SetLicenseModel(value); return *this;} /** *

The license model for the DB instance.

Valid values: * license-included | bring-your-own-license | * general-public-license

*/ inline ModifyDBInstanceRequest& WithLicenseModel(Aws::String&& value) { SetLicenseModel(std::move(value)); return *this;} /** *

The license model for the DB instance.

Valid values: * license-included | bring-your-own-license | * general-public-license

*/ inline ModifyDBInstanceRequest& WithLicenseModel(const char* value) { SetLicenseModel(value); return *this;} /** *

The new Provisioned IOPS (I/O operations per second) value for the RDS * instance.

Changing this setting doesn't result in an outage and the * change is applied during the next maintenance window unless the * ApplyImmediately parameter is enabled for this request. If you are * migrating from Provisioned IOPS to standard storage, set this value to 0. The DB * instance will require a reboot for the change in storage type to take effect. *

If you choose to migrate your DB instance from using standard storage to * using Provisioned IOPS, or from using Provisioned IOPS to using standard * storage, the process can take time. The duration of the migration depends on * several factors such as database load, storage size, storage type (standard or * Provisioned IOPS), amount of IOPS provisioned (if any), and the number of prior * scale storage operations. Typical migration times are under 24 hours, but the * process can take up to several days in some cases. During the migration, the DB * instance is available for use, but might experience performance degradation. * While the migration takes place, nightly backups for the instance are suspended. * No other Amazon RDS operations can take place for the instance, including * modifying the instance, rebooting the instance, deleting the instance, creating * a read replica for the instance, and creating a DB snapshot of the instance. *

Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL, the value * supplied must be at least 10% greater than the current value. Values that are * not at least 10% greater than the existing value are rounded up so that they are * 10% greater than the current value.

Default: Uses existing setting

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

The new Provisioned IOPS (I/O operations per second) value for the RDS * instance.

Changing this setting doesn't result in an outage and the * change is applied during the next maintenance window unless the * ApplyImmediately parameter is enabled for this request. If you are * migrating from Provisioned IOPS to standard storage, set this value to 0. The DB * instance will require a reboot for the change in storage type to take effect. *

If you choose to migrate your DB instance from using standard storage to * using Provisioned IOPS, or from using Provisioned IOPS to using standard * storage, the process can take time. The duration of the migration depends on * several factors such as database load, storage size, storage type (standard or * Provisioned IOPS), amount of IOPS provisioned (if any), and the number of prior * scale storage operations. Typical migration times are under 24 hours, but the * process can take up to several days in some cases. During the migration, the DB * instance is available for use, but might experience performance degradation. * While the migration takes place, nightly backups for the instance are suspended. * No other Amazon RDS operations can take place for the instance, including * modifying the instance, rebooting the instance, deleting the instance, creating * a read replica for the instance, and creating a DB snapshot of the instance. *

Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL, the value * supplied must be at least 10% greater than the current value. Values that are * not at least 10% greater than the existing value are rounded up so that they are * 10% greater than the current value.

Default: Uses existing setting

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

The new Provisioned IOPS (I/O operations per second) value for the RDS * instance.

Changing this setting doesn't result in an outage and the * change is applied during the next maintenance window unless the * ApplyImmediately parameter is enabled for this request. If you are * migrating from Provisioned IOPS to standard storage, set this value to 0. The DB * instance will require a reboot for the change in storage type to take effect. *

If you choose to migrate your DB instance from using standard storage to * using Provisioned IOPS, or from using Provisioned IOPS to using standard * storage, the process can take time. The duration of the migration depends on * several factors such as database load, storage size, storage type (standard or * Provisioned IOPS), amount of IOPS provisioned (if any), and the number of prior * scale storage operations. Typical migration times are under 24 hours, but the * process can take up to several days in some cases. During the migration, the DB * instance is available for use, but might experience performance degradation. * While the migration takes place, nightly backups for the instance are suspended. * No other Amazon RDS operations can take place for the instance, including * modifying the instance, rebooting the instance, deleting the instance, creating * a read replica for the instance, and creating a DB snapshot of the instance. *

Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL, the value * supplied must be at least 10% greater than the current value. Values that are * not at least 10% greater than the existing value are rounded up so that they are * 10% greater than the current value.

Default: Uses existing setting

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

The new Provisioned IOPS (I/O operations per second) value for the RDS * instance.

Changing this setting doesn't result in an outage and the * change is applied during the next maintenance window unless the * ApplyImmediately parameter is enabled for this request. If you are * migrating from Provisioned IOPS to standard storage, set this value to 0. The DB * instance will require a reboot for the change in storage type to take effect. *

If you choose to migrate your DB instance from using standard storage to * using Provisioned IOPS, or from using Provisioned IOPS to using standard * storage, the process can take time. The duration of the migration depends on * several factors such as database load, storage size, storage type (standard or * Provisioned IOPS), amount of IOPS provisioned (if any), and the number of prior * scale storage operations. Typical migration times are under 24 hours, but the * process can take up to several days in some cases. During the migration, the DB * instance is available for use, but might experience performance degradation. * While the migration takes place, nightly backups for the instance are suspended. * No other Amazon RDS operations can take place for the instance, including * modifying the instance, rebooting the instance, deleting the instance, creating * a read replica for the instance, and creating a DB snapshot of the instance. *

Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL, the value * supplied must be at least 10% greater than the current value. Values that are * not at least 10% greater than the existing value are rounded up so that they are * 10% greater than the current value.

Default: Uses existing setting

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

Indicates that the DB instance should be associated with the specified * option group. Changing this parameter doesn't result in an outage except in the * following case and the change is applied during the next maintenance window * unless the ApplyImmediately parameter is enabled for this request. * If the parameter change results in an option group that enables OEM, this change * can cause a brief (sub-second) period during which new connections are rejected * but existing connections are not interrupted.

Permanent options, such as * the TDE option for Oracle Advanced Security TDE, can't be removed from an option * group, and that option group can't be removed from a DB instance once it is * associated with a DB instance

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

Indicates that the DB instance should be associated with the specified * option group. Changing this parameter doesn't result in an outage except in the * following case and the change is applied during the next maintenance window * unless the ApplyImmediately parameter is enabled for this request. * If the parameter change results in an option group that enables OEM, this change * can cause a brief (sub-second) period during which new connections are rejected * but existing connections are not interrupted.

Permanent options, such as * the TDE option for Oracle Advanced Security TDE, can't be removed from an option * group, and that option group can't be removed from a DB instance once it is * associated with a DB instance

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

Indicates that the DB instance should be associated with the specified * option group. Changing this parameter doesn't result in an outage except in the * following case and the change is applied during the next maintenance window * unless the ApplyImmediately parameter is enabled for this request. * If the parameter change results in an option group that enables OEM, this change * can cause a brief (sub-second) period during which new connections are rejected * but existing connections are not interrupted.

Permanent options, such as * the TDE option for Oracle Advanced Security TDE, can't be removed from an option * group, and that option group can't be removed from a DB instance once it is * associated with a DB instance

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

Indicates that the DB instance should be associated with the specified * option group. Changing this parameter doesn't result in an outage except in the * following case and the change is applied during the next maintenance window * unless the ApplyImmediately parameter is enabled for this request. * If the parameter change results in an option group that enables OEM, this change * can cause a brief (sub-second) period during which new connections are rejected * but existing connections are not interrupted.

Permanent options, such as * the TDE option for Oracle Advanced Security TDE, can't be removed from an option * group, and that option group can't be removed from a DB instance once it is * associated with a DB instance

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

Indicates that the DB instance should be associated with the specified * option group. Changing this parameter doesn't result in an outage except in the * following case and the change is applied during the next maintenance window * unless the ApplyImmediately parameter is enabled for this request. * If the parameter change results in an option group that enables OEM, this change * can cause a brief (sub-second) period during which new connections are rejected * but existing connections are not interrupted.

Permanent options, such as * the TDE option for Oracle Advanced Security TDE, can't be removed from an option * group, and that option group can't be removed from a DB instance once it is * associated with a DB instance

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

Indicates that the DB instance should be associated with the specified * option group. Changing this parameter doesn't result in an outage except in the * following case and the change is applied during the next maintenance window * unless the ApplyImmediately parameter is enabled for this request. * If the parameter change results in an option group that enables OEM, this change * can cause a brief (sub-second) period during which new connections are rejected * but existing connections are not interrupted.

Permanent options, such as * the TDE option for Oracle Advanced Security TDE, can't be removed from an option * group, and that option group can't be removed from a DB instance once it is * associated with a DB instance

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

Indicates that the DB instance should be associated with the specified * option group. Changing this parameter doesn't result in an outage except in the * following case and the change is applied during the next maintenance window * unless the ApplyImmediately parameter is enabled for this request. * If the parameter change results in an option group that enables OEM, this change * can cause a brief (sub-second) period during which new connections are rejected * but existing connections are not interrupted.

Permanent options, such as * the TDE option for Oracle Advanced Security TDE, can't be removed from an option * group, and that option group can't be removed from a DB instance once it is * associated with a DB instance

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

Indicates that the DB instance should be associated with the specified * option group. Changing this parameter doesn't result in an outage except in the * following case and the change is applied during the next maintenance window * unless the ApplyImmediately parameter is enabled for this request. * If the parameter change results in an option group that enables OEM, this change * can cause a brief (sub-second) period during which new connections are rejected * but existing connections are not interrupted.

Permanent options, such as * the TDE option for Oracle Advanced Security TDE, can't be removed from an option * group, and that option group can't be removed from a DB instance once it is * associated with a DB instance

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

The new DB instance identifier for the DB instance when renaming a DB * instance. When you change the DB instance identifier, an instance reboot occurs * immediately if you enable ApplyImmediately, or will occur during * the next maintenance window if you disable Apply Immediately. This value is * stored as a lowercase string.

Constraints:

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

  • The first character * must be a letter.

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

Example: mydbinstance

*/ inline const Aws::String& GetNewDBInstanceIdentifier() const{ return m_newDBInstanceIdentifier; } /** *

The new DB instance identifier for the DB instance when renaming a DB * instance. When you change the DB instance identifier, an instance reboot occurs * immediately if you enable ApplyImmediately, or will occur during * the next maintenance window if you disable Apply Immediately. This value is * stored as a lowercase string.

Constraints:

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

  • The first character * must be a letter.

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

Example: mydbinstance

*/ inline bool NewDBInstanceIdentifierHasBeenSet() const { return m_newDBInstanceIdentifierHasBeenSet; } /** *

The new DB instance identifier for the DB instance when renaming a DB * instance. When you change the DB instance identifier, an instance reboot occurs * immediately if you enable ApplyImmediately, or will occur during * the next maintenance window if you disable Apply Immediately. This value is * stored as a lowercase string.

Constraints:

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

  • The first character * must be a letter.

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

Example: mydbinstance

*/ inline void SetNewDBInstanceIdentifier(const Aws::String& value) { m_newDBInstanceIdentifierHasBeenSet = true; m_newDBInstanceIdentifier = value; } /** *

The new DB instance identifier for the DB instance when renaming a DB * instance. When you change the DB instance identifier, an instance reboot occurs * immediately if you enable ApplyImmediately, or will occur during * the next maintenance window if you disable Apply Immediately. This value is * stored as a lowercase string.

Constraints:

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

  • The first character * must be a letter.

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

Example: mydbinstance

*/ inline void SetNewDBInstanceIdentifier(Aws::String&& value) { m_newDBInstanceIdentifierHasBeenSet = true; m_newDBInstanceIdentifier = std::move(value); } /** *

The new DB instance identifier for the DB instance when renaming a DB * instance. When you change the DB instance identifier, an instance reboot occurs * immediately if you enable ApplyImmediately, or will occur during * the next maintenance window if you disable Apply Immediately. This value is * stored as a lowercase string.

Constraints:

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

  • The first character * must be a letter.

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

Example: mydbinstance

*/ inline void SetNewDBInstanceIdentifier(const char* value) { m_newDBInstanceIdentifierHasBeenSet = true; m_newDBInstanceIdentifier.assign(value); } /** *

The new DB instance identifier for the DB instance when renaming a DB * instance. When you change the DB instance identifier, an instance reboot occurs * immediately if you enable ApplyImmediately, or will occur during * the next maintenance window if you disable Apply Immediately. This value is * stored as a lowercase string.

Constraints:

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

  • The first character * must be a letter.

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

Example: mydbinstance

*/ inline ModifyDBInstanceRequest& WithNewDBInstanceIdentifier(const Aws::String& value) { SetNewDBInstanceIdentifier(value); return *this;} /** *

The new DB instance identifier for the DB instance when renaming a DB * instance. When you change the DB instance identifier, an instance reboot occurs * immediately if you enable ApplyImmediately, or will occur during * the next maintenance window if you disable Apply Immediately. This value is * stored as a lowercase string.

Constraints:

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

  • The first character * must be a letter.

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

Example: mydbinstance

*/ inline ModifyDBInstanceRequest& WithNewDBInstanceIdentifier(Aws::String&& value) { SetNewDBInstanceIdentifier(std::move(value)); return *this;} /** *

The new DB instance identifier for the DB instance when renaming a DB * instance. When you change the DB instance identifier, an instance reboot occurs * immediately if you enable ApplyImmediately, or will occur during * the next maintenance window if you disable Apply Immediately. This value is * stored as a lowercase string.

Constraints:

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

  • The first character * must be a letter.

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

Example: mydbinstance

*/ inline ModifyDBInstanceRequest& WithNewDBInstanceIdentifier(const char* value) { SetNewDBInstanceIdentifier(value); return *this;} /** *

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

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

If you choose to migrate your DB * instance from using standard storage to using Provisioned IOPS, or from using * Provisioned IOPS to using standard storage, the process can take time. The * duration of the migration depends on several factors such as database load, * storage size, storage type (standard or Provisioned IOPS), amount of IOPS * provisioned (if any), and the number of prior scale storage operations. Typical * migration times are under 24 hours, but the process can take up to several days * in some cases. During the migration, the DB instance is available for use, but * might experience performance degradation. While the migration takes place, * nightly backups for the instance are suspended. No other Amazon RDS operations * can take place for the instance, including modifying the instance, rebooting the * instance, deleting the instance, creating a read replica for the instance, and * creating a DB snapshot of the instance.

Valid values: standard | * gp2 | io1

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 DB instance.

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

If you choose to migrate your DB * instance from using standard storage to using Provisioned IOPS, or from using * Provisioned IOPS to using standard storage, the process can take time. The * duration of the migration depends on several factors such as database load, * storage size, storage type (standard or Provisioned IOPS), amount of IOPS * provisioned (if any), and the number of prior scale storage operations. Typical * migration times are under 24 hours, but the process can take up to several days * in some cases. During the migration, the DB instance is available for use, but * might experience performance degradation. While the migration takes place, * nightly backups for the instance are suspended. No other Amazon RDS operations * can take place for the instance, including modifying the instance, rebooting the * instance, deleting the instance, creating a read replica for the instance, and * creating a DB snapshot of the instance.

Valid values: standard | * gp2 | io1

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 DB instance.

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

If you choose to migrate your DB * instance from using standard storage to using Provisioned IOPS, or from using * Provisioned IOPS to using standard storage, the process can take time. The * duration of the migration depends on several factors such as database load, * storage size, storage type (standard or Provisioned IOPS), amount of IOPS * provisioned (if any), and the number of prior scale storage operations. Typical * migration times are under 24 hours, but the process can take up to several days * in some cases. During the migration, the DB instance is available for use, but * might experience performance degradation. While the migration takes place, * nightly backups for the instance are suspended. No other Amazon RDS operations * can take place for the instance, including modifying the instance, rebooting the * instance, deleting the instance, creating a read replica for the instance, and * creating a DB snapshot of the instance.

Valid values: standard | * gp2 | io1

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 DB instance.

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

If you choose to migrate your DB * instance from using standard storage to using Provisioned IOPS, or from using * Provisioned IOPS to using standard storage, the process can take time. The * duration of the migration depends on several factors such as database load, * storage size, storage type (standard or Provisioned IOPS), amount of IOPS * provisioned (if any), and the number of prior scale storage operations. Typical * migration times are under 24 hours, but the process can take up to several days * in some cases. During the migration, the DB instance is available for use, but * might experience performance degradation. While the migration takes place, * nightly backups for the instance are suspended. No other Amazon RDS operations * can take place for the instance, including modifying the instance, rebooting the * instance, deleting the instance, creating a read replica for the instance, and * creating a DB snapshot of the instance.

Valid values: standard | * gp2 | io1

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 DB instance.

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

If you choose to migrate your DB * instance from using standard storage to using Provisioned IOPS, or from using * Provisioned IOPS to using standard storage, the process can take time. The * duration of the migration depends on several factors such as database load, * storage size, storage type (standard or Provisioned IOPS), amount of IOPS * provisioned (if any), and the number of prior scale storage operations. Typical * migration times are under 24 hours, but the process can take up to several days * in some cases. During the migration, the DB instance is available for use, but * might experience performance degradation. While the migration takes place, * nightly backups for the instance are suspended. No other Amazon RDS operations * can take place for the instance, including modifying the instance, rebooting the * instance, deleting the instance, creating a read replica for the instance, and * creating a DB snapshot of the instance.

Valid values: standard | * gp2 | io1

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 DB instance.

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

If you choose to migrate your DB * instance from using standard storage to using Provisioned IOPS, or from using * Provisioned IOPS to using standard storage, the process can take time. The * duration of the migration depends on several factors such as database load, * storage size, storage type (standard or Provisioned IOPS), amount of IOPS * provisioned (if any), and the number of prior scale storage operations. Typical * migration times are under 24 hours, but the process can take up to several days * in some cases. During the migration, the DB instance is available for use, but * might experience performance degradation. While the migration takes place, * nightly backups for the instance are suspended. No other Amazon RDS operations * can take place for the instance, including modifying the instance, rebooting the * instance, deleting the instance, creating a read replica for the instance, and * creating a DB snapshot of the instance.

Valid values: standard | * gp2 | io1

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

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

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

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

If you choose to migrate your DB * instance from using standard storage to using Provisioned IOPS, or from using * Provisioned IOPS to using standard storage, the process can take time. The * duration of the migration depends on several factors such as database load, * storage size, storage type (standard or Provisioned IOPS), amount of IOPS * provisioned (if any), and the number of prior scale storage operations. Typical * migration times are under 24 hours, but the process can take up to several days * in some cases. During the migration, the DB instance is available for use, but * might experience performance degradation. While the migration takes place, * nightly backups for the instance are suspended. No other Amazon RDS operations * can take place for the instance, including modifying the instance, rebooting the * instance, deleting the instance, creating a read replica for the instance, and * creating a DB snapshot of the instance.

Valid values: standard | * gp2 | io1

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

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

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

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

If you choose to migrate your DB * instance from using standard storage to using Provisioned IOPS, or from using * Provisioned IOPS to using standard storage, the process can take time. The * duration of the migration depends on several factors such as database load, * storage size, storage type (standard or Provisioned IOPS), amount of IOPS * provisioned (if any), and the number of prior scale storage operations. Typical * migration times are under 24 hours, but the process can take up to several days * in some cases. During the migration, the DB instance is available for use, but * might experience performance degradation. While the migration takes place, * nightly backups for the instance are suspended. No other Amazon RDS operations * can take place for the instance, including modifying the instance, rebooting the * instance, deleting the instance, creating a read replica for the instance, and * creating a DB snapshot of the instance.

Valid values: standard | * gp2 | io1

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

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

The ARN from the key store with which to associate the instance for TDE * encryption.

*/ inline const Aws::String& GetTdeCredentialArn() const{ return m_tdeCredentialArn; } /** *

The ARN from the key store with which to associate the instance for TDE * encryption.

*/ inline bool TdeCredentialArnHasBeenSet() const { return m_tdeCredentialArnHasBeenSet; } /** *

The ARN from the key store with which to associate the instance for TDE * encryption.

*/ inline void SetTdeCredentialArn(const Aws::String& value) { m_tdeCredentialArnHasBeenSet = true; m_tdeCredentialArn = value; } /** *

The ARN from the key store with which to associate the instance for TDE * encryption.

*/ inline void SetTdeCredentialArn(Aws::String&& value) { m_tdeCredentialArnHasBeenSet = true; m_tdeCredentialArn = std::move(value); } /** *

The ARN from the key store with which to associate the instance for TDE * encryption.

*/ inline void SetTdeCredentialArn(const char* value) { m_tdeCredentialArnHasBeenSet = true; m_tdeCredentialArn.assign(value); } /** *

The ARN from the key store with which to associate the instance for TDE * encryption.

*/ inline ModifyDBInstanceRequest& WithTdeCredentialArn(const Aws::String& value) { SetTdeCredentialArn(value); return *this;} /** *

The ARN from the key store with which to associate the instance for TDE * encryption.

*/ inline ModifyDBInstanceRequest& WithTdeCredentialArn(Aws::String&& value) { SetTdeCredentialArn(std::move(value)); return *this;} /** *

The ARN from the key store with which to associate the instance for TDE * encryption.

*/ inline ModifyDBInstanceRequest& WithTdeCredentialArn(const char* value) { SetTdeCredentialArn(value); return *this;} /** *

The password for the given ARN from the key store in order to access the * device.

*/ inline const Aws::String& GetTdeCredentialPassword() const{ return m_tdeCredentialPassword; } /** *

The password for the given ARN from the key store in order to access the * device.

*/ inline bool TdeCredentialPasswordHasBeenSet() const { return m_tdeCredentialPasswordHasBeenSet; } /** *

The password for the given ARN from the key store in order to access the * device.

*/ inline void SetTdeCredentialPassword(const Aws::String& value) { m_tdeCredentialPasswordHasBeenSet = true; m_tdeCredentialPassword = value; } /** *

The password for the given ARN from the key store in order to access the * device.

*/ inline void SetTdeCredentialPassword(Aws::String&& value) { m_tdeCredentialPasswordHasBeenSet = true; m_tdeCredentialPassword = std::move(value); } /** *

The password for the given ARN from the key store in order to access the * device.

*/ inline void SetTdeCredentialPassword(const char* value) { m_tdeCredentialPasswordHasBeenSet = true; m_tdeCredentialPassword.assign(value); } /** *

The password for the given ARN from the key store in order to access the * device.

*/ inline ModifyDBInstanceRequest& WithTdeCredentialPassword(const Aws::String& value) { SetTdeCredentialPassword(value); return *this;} /** *

The password for the given ARN from the key store in order to access the * device.

*/ inline ModifyDBInstanceRequest& WithTdeCredentialPassword(Aws::String&& value) { SetTdeCredentialPassword(std::move(value)); return *this;} /** *

The password for the given ARN from the key store in order to access the * device.

*/ inline ModifyDBInstanceRequest& WithTdeCredentialPassword(const char* value) { SetTdeCredentialPassword(value); return *this;} /** *

Indicates the certificate that needs to be associated with the instance.

*/ inline const Aws::String& GetCACertificateIdentifier() const{ return m_cACertificateIdentifier; } /** *

Indicates the certificate that needs to be associated with the instance.

*/ inline bool CACertificateIdentifierHasBeenSet() const { return m_cACertificateIdentifierHasBeenSet; } /** *

Indicates the certificate that needs to be associated with the instance.

*/ inline void SetCACertificateIdentifier(const Aws::String& value) { m_cACertificateIdentifierHasBeenSet = true; m_cACertificateIdentifier = value; } /** *

Indicates the certificate that needs to be associated with the instance.

*/ inline void SetCACertificateIdentifier(Aws::String&& value) { m_cACertificateIdentifierHasBeenSet = true; m_cACertificateIdentifier = std::move(value); } /** *

Indicates the certificate that needs to be associated with the instance.

*/ inline void SetCACertificateIdentifier(const char* value) { m_cACertificateIdentifierHasBeenSet = true; m_cACertificateIdentifier.assign(value); } /** *

Indicates the certificate that needs to be associated with the instance.

*/ inline ModifyDBInstanceRequest& WithCACertificateIdentifier(const Aws::String& value) { SetCACertificateIdentifier(value); return *this;} /** *

Indicates the certificate that needs to be associated with the instance.

*/ inline ModifyDBInstanceRequest& WithCACertificateIdentifier(Aws::String&& value) { SetCACertificateIdentifier(std::move(value)); return *this;} /** *

Indicates the certificate that needs to be associated with the instance.

*/ inline ModifyDBInstanceRequest& WithCACertificateIdentifier(const char* value) { SetCACertificateIdentifier(value); return *this;} /** *

The Active Directory directory ID to move the DB instance to. Specify * none to remove the instance from its current domain. The domain * must be created prior to this operation. Currently, only MySQL, Microsoft SQL * Server, Oracle, and PostgreSQL DB instances can be created in an Active * Directory Domain.

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

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

The Active Directory directory ID to move the DB instance to. Specify * none to remove the instance from its current domain. The domain * must be created prior to this operation. Currently, only MySQL, Microsoft SQL * Server, Oracle, and PostgreSQL DB instances can be created in an Active * Directory Domain.

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

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

The Active Directory directory ID to move the DB instance to. Specify * none to remove the instance from its current domain. The domain * must be created prior to this operation. Currently, only MySQL, Microsoft SQL * Server, Oracle, and PostgreSQL DB instances can be created in an Active * Directory Domain.

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

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

The Active Directory directory ID to move the DB instance to. Specify * none to remove the instance from its current domain. The domain * must be created prior to this operation. Currently, only MySQL, Microsoft SQL * Server, Oracle, and PostgreSQL DB instances can be created in an Active * Directory Domain.

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

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

The Active Directory directory ID to move the DB instance to. Specify * none to remove the instance from its current domain. The domain * must be created prior to this operation. Currently, only MySQL, Microsoft SQL * Server, Oracle, and PostgreSQL DB instances can be created in an Active * Directory Domain.

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

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

The Active Directory directory ID to move the DB instance to. Specify * none to remove the instance from its current domain. The domain * must be created prior to this operation. Currently, only MySQL, Microsoft SQL * Server, Oracle, and PostgreSQL DB instances can be created in an Active * Directory Domain.

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

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

The Active Directory directory ID to move the DB instance to. Specify * none to remove the instance from its current domain. The domain * must be created prior to this operation. Currently, only MySQL, Microsoft SQL * Server, Oracle, and PostgreSQL DB instances can be created in an Active * Directory Domain.

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

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

The Active Directory directory ID to move the DB instance to. Specify * none to remove the instance from its current domain. The domain * must be created prior to this operation. Currently, only MySQL, Microsoft SQL * Server, Oracle, and PostgreSQL DB instances can be created in an Active * Directory Domain.

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

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

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

Amazon * Aurora

Not applicable. Copying tags to snapshots is managed by the * DB cluster. Setting this value for an Aurora DB instance has no effect on the DB * cluster setting. For more information, see ModifyDBCluster.

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

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

Amazon * Aurora

Not applicable. Copying tags to snapshots is managed by the * DB cluster. Setting this value for an Aurora DB instance has no effect on the DB * cluster setting. For more information, see ModifyDBCluster.

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

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

Amazon * Aurora

Not applicable. Copying tags to snapshots is managed by the * DB cluster. Setting this value for an Aurora DB instance has no effect on the DB * cluster setting. For more information, see ModifyDBCluster.

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

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

Amazon * Aurora

Not applicable. Copying tags to snapshots is managed by the * DB cluster. Setting this value for an Aurora DB instance has no effect on the DB * cluster setting. For more information, see ModifyDBCluster.

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

The interval, in seconds, between points when Enhanced Monitoring metrics are * collected for the DB instance. 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 DB instance. 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 DB instance. 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 DB instance. 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 ModifyDBInstanceRequest& WithMonitoringInterval(int value) { SetMonitoringInterval(value); return *this;} /** *

The port number on which the database accepts connections.

The value * of the DBPortNumber parameter must not match any of the port values * specified for options in the option group for the DB instance.

Your * database will restart when you change the DBPortNumber value * regardless of the value of the ApplyImmediately parameter.

* MySQL

Default: 3306

Valid values: * 1150-65535

MariaDB

Default: * 3306

Valid values: 1150-65535

* PostgreSQL

Default: 5432

Valid values: * 1150-65535

Type: Integer

Oracle

* Default: 1521

Valid values: 1150-65535

*

SQL Server

Default: 1433

Valid values: * 1150-65535 except 1234, 1434, * 3260, 3343, 3389, 47001, and * 49152-49156.

Amazon Aurora

Default: * 3306

Valid values: 1150-65535

*/ inline int GetDBPortNumber() const{ return m_dBPortNumber; } /** *

The port number on which the database accepts connections.

The value * of the DBPortNumber parameter must not match any of the port values * specified for options in the option group for the DB instance.

Your * database will restart when you change the DBPortNumber value * regardless of the value of the ApplyImmediately parameter.

* MySQL

Default: 3306

Valid values: * 1150-65535

MariaDB

Default: * 3306

Valid values: 1150-65535

* PostgreSQL

Default: 5432

Valid values: * 1150-65535

Type: Integer

Oracle

* Default: 1521

Valid values: 1150-65535

*

SQL Server

Default: 1433

Valid values: * 1150-65535 except 1234, 1434, * 3260, 3343, 3389, 47001, and * 49152-49156.

Amazon Aurora

Default: * 3306

Valid values: 1150-65535

*/ inline bool DBPortNumberHasBeenSet() const { return m_dBPortNumberHasBeenSet; } /** *

The port number on which the database accepts connections.

The value * of the DBPortNumber parameter must not match any of the port values * specified for options in the option group for the DB instance.

Your * database will restart when you change the DBPortNumber value * regardless of the value of the ApplyImmediately parameter.

* MySQL

Default: 3306

Valid values: * 1150-65535

MariaDB

Default: * 3306

Valid values: 1150-65535

* PostgreSQL

Default: 5432

Valid values: * 1150-65535

Type: Integer

Oracle

* Default: 1521

Valid values: 1150-65535

*

SQL Server

Default: 1433

Valid values: * 1150-65535 except 1234, 1434, * 3260, 3343, 3389, 47001, and * 49152-49156.

Amazon Aurora

Default: * 3306

Valid values: 1150-65535

*/ inline void SetDBPortNumber(int value) { m_dBPortNumberHasBeenSet = true; m_dBPortNumber = value; } /** *

The port number on which the database accepts connections.

The value * of the DBPortNumber parameter must not match any of the port values * specified for options in the option group for the DB instance.

Your * database will restart when you change the DBPortNumber value * regardless of the value of the ApplyImmediately parameter.

* MySQL

Default: 3306

Valid values: * 1150-65535

MariaDB

Default: * 3306

Valid values: 1150-65535

* PostgreSQL

Default: 5432

Valid values: * 1150-65535

Type: Integer

Oracle

* Default: 1521

Valid values: 1150-65535

*

SQL Server

Default: 1433

Valid values: * 1150-65535 except 1234, 1434, * 3260, 3343, 3389, 47001, and * 49152-49156.

Amazon Aurora

Default: * 3306

Valid values: 1150-65535

*/ inline ModifyDBInstanceRequest& WithDBPortNumber(int value) { SetDBPortNumber(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.

* PubliclyAccessible only applies to DB instances in a VPC. The DB * instance must be part of a public subnet and PubliclyAccessible * must be enabled for it to be publicly accessible.

Changes to the * PubliclyAccessible parameter are applied immediately regardless of * the value of the ApplyImmediately parameter.

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

* PubliclyAccessible only applies to DB instances in a VPC. The DB * instance must be part of a public subnet and PubliclyAccessible * must be enabled for it to be publicly accessible.

Changes to the * PubliclyAccessible parameter are applied immediately regardless of * the value of the ApplyImmediately parameter.

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

* PubliclyAccessible only applies to DB instances in a VPC. The DB * instance must be part of a public subnet and PubliclyAccessible * must be enabled for it to be publicly accessible.

Changes to the * PubliclyAccessible parameter are applied immediately regardless of * the value of the ApplyImmediately parameter.

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

* PubliclyAccessible only applies to DB instances in a VPC. The DB * instance must be part of a public subnet and PubliclyAccessible * must be enabled for it to be publicly accessible.

Changes to the * PubliclyAccessible parameter are applied immediately regardless of * the value of the ApplyImmediately parameter.

*/ inline ModifyDBInstanceRequest& WithPubliclyAccessible(bool value) { SetPubliclyAccessible(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 ModifyDBInstanceRequest& 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 ModifyDBInstanceRequest& 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 ModifyDBInstanceRequest& WithMonitoringRoleArn(const char* value) { SetMonitoringRoleArn(value); return *this;} /** *

The name of the IAM role to use when making API calls to the Directory * Service.

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

The name of the IAM role to use when making API calls to the Directory * Service.

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

The name of the IAM role to use when making API calls to the Directory * Service.

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

The name of the IAM role to use when making API calls to the Directory * Service.

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

The name of the IAM role to use when making API calls to the Directory * Service.

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

The name of the IAM role to use when making API calls to the Directory * Service.

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

The name of the IAM role to use when making API calls to the Directory * Service.

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

The name of the IAM role to use when making API calls to the Directory * Service.

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

A value that specifies the order in which an Aurora Replica is promoted to * the primary instance after a failure of the existing primary instance. For more * information, see * Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User * Guide.

Default: 1

Valid Values: 0 - 15

*/ inline int GetPromotionTier() const{ return m_promotionTier; } /** *

A value that specifies the order in which an Aurora Replica is promoted to * the primary instance after a failure of the existing primary instance. For more * information, see * Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User * Guide.

Default: 1

Valid Values: 0 - 15

*/ inline bool PromotionTierHasBeenSet() const { return m_promotionTierHasBeenSet; } /** *

A value that specifies the order in which an Aurora Replica is promoted to * the primary instance after a failure of the existing primary instance. For more * information, see * Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User * Guide.

Default: 1

Valid Values: 0 - 15

*/ inline void SetPromotionTier(int value) { m_promotionTierHasBeenSet = true; m_promotionTier = value; } /** *

A value that specifies the order in which an Aurora Replica is promoted to * the primary instance after a failure of the existing primary instance. For more * information, see * Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User * Guide.

Default: 1

Valid Values: 0 - 15

*/ inline ModifyDBInstanceRequest& WithPromotionTier(int value) { SetPromotionTier(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 ModifyDBInstanceRequest& WithEnableIAMDatabaseAuthentication(bool value) { SetEnableIAMDatabaseAuthentication(value); return *this;} /** *

A value that indicates whether to enable Performance Insights for the DB * instance.

For more information, see Using * Amazon Performance Insights in the Amazon Relational Database Service * User Guide.

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

A value that indicates whether to enable Performance Insights for the DB * instance.

For more information, see Using * Amazon Performance Insights in the Amazon Relational Database Service * User Guide.

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

A value that indicates whether to enable Performance Insights for the DB * instance.

For more information, see Using * Amazon Performance Insights in the Amazon Relational Database Service * User Guide.

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

A value that indicates whether to enable Performance Insights for the DB * instance.

For more information, see Using * Amazon Performance Insights in the Amazon Relational Database Service * User Guide.

*/ inline ModifyDBInstanceRequest& 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 ModifyDBInstanceRequest& 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 ModifyDBInstanceRequest& 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 ModifyDBInstanceRequest& 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 ModifyDBInstanceRequest& WithPerformanceInsightsRetentionPeriod(int value) { SetPerformanceInsightsRetentionPeriod(value); return *this;} /** *

The configuration setting for the log types to be enabled for export to * CloudWatch Logs for a specific DB instance.

A change to the * CloudwatchLogsExportConfiguration parameter is always applied to * the DB instance immediately. Therefore, the ApplyImmediately * parameter has no effect.

*/ inline const CloudwatchLogsExportConfiguration& GetCloudwatchLogsExportConfiguration() const{ return m_cloudwatchLogsExportConfiguration; } /** *

The configuration setting for the log types to be enabled for export to * CloudWatch Logs for a specific DB instance.

A change to the * CloudwatchLogsExportConfiguration parameter is always applied to * the DB instance immediately. Therefore, the ApplyImmediately * parameter has no effect.

*/ inline bool CloudwatchLogsExportConfigurationHasBeenSet() const { return m_cloudwatchLogsExportConfigurationHasBeenSet; } /** *

The configuration setting for the log types to be enabled for export to * CloudWatch Logs for a specific DB instance.

A change to the * CloudwatchLogsExportConfiguration parameter is always applied to * the DB instance immediately. Therefore, the ApplyImmediately * parameter has no effect.

*/ inline void SetCloudwatchLogsExportConfiguration(const CloudwatchLogsExportConfiguration& value) { m_cloudwatchLogsExportConfigurationHasBeenSet = true; m_cloudwatchLogsExportConfiguration = value; } /** *

The configuration setting for the log types to be enabled for export to * CloudWatch Logs for a specific DB instance.

A change to the * CloudwatchLogsExportConfiguration parameter is always applied to * the DB instance immediately. Therefore, the ApplyImmediately * parameter has no effect.

*/ inline void SetCloudwatchLogsExportConfiguration(CloudwatchLogsExportConfiguration&& value) { m_cloudwatchLogsExportConfigurationHasBeenSet = true; m_cloudwatchLogsExportConfiguration = std::move(value); } /** *

The configuration setting for the log types to be enabled for export to * CloudWatch Logs for a specific DB instance.

A change to the * CloudwatchLogsExportConfiguration parameter is always applied to * the DB instance immediately. Therefore, the ApplyImmediately * parameter has no effect.

*/ inline ModifyDBInstanceRequest& WithCloudwatchLogsExportConfiguration(const CloudwatchLogsExportConfiguration& value) { SetCloudwatchLogsExportConfiguration(value); return *this;} /** *

The configuration setting for the log types to be enabled for export to * CloudWatch Logs for a specific DB instance.

A change to the * CloudwatchLogsExportConfiguration parameter is always applied to * the DB instance immediately. Therefore, the ApplyImmediately * parameter has no effect.

*/ inline ModifyDBInstanceRequest& WithCloudwatchLogsExportConfiguration(CloudwatchLogsExportConfiguration&& value) { SetCloudwatchLogsExportConfiguration(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 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 ModifyDBInstanceRequest& 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 ModifyDBInstanceRequest& 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 ModifyDBInstanceRequest& 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 ModifyDBInstanceRequest& 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 ModifyDBInstanceRequest& 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 ModifyDBInstanceRequest& WithDeletionProtection(bool value) { SetDeletionProtection(value); return *this;} /** *

The upper limit to which Amazon RDS can automatically scale the storage of * the DB instance.

*/ inline int GetMaxAllocatedStorage() const{ return m_maxAllocatedStorage; } /** *

The upper limit to which Amazon RDS can automatically scale the storage of * the DB instance.

*/ inline bool MaxAllocatedStorageHasBeenSet() const { return m_maxAllocatedStorageHasBeenSet; } /** *

The upper limit to which Amazon RDS can automatically scale the storage of * the DB instance.

*/ inline void SetMaxAllocatedStorage(int value) { m_maxAllocatedStorageHasBeenSet = true; m_maxAllocatedStorage = value; } /** *

The upper limit to which Amazon RDS can automatically scale the storage of * the DB instance.

*/ inline ModifyDBInstanceRequest& WithMaxAllocatedStorage(int value) { SetMaxAllocatedStorage(value); return *this;} /** *

A value that indicates whether the DB instance is restarted when you rotate * your SSL/TLS certificate.

By default, the DB instance is restarted when * you rotate your SSL/TLS certificate. The certificate is not updated until the DB * instance is restarted.

Set this parameter only if you are * not using SSL/TLS to connect to the DB instance.

If * you are using SSL/TLS to connect to the DB instance, follow the appropriate * instructions for your DB engine to rotate your SSL/TLS certificate:

*/ inline bool GetCertificateRotationRestart() const{ return m_certificateRotationRestart; } /** *

A value that indicates whether the DB instance is restarted when you rotate * your SSL/TLS certificate.

By default, the DB instance is restarted when * you rotate your SSL/TLS certificate. The certificate is not updated until the DB * instance is restarted.

Set this parameter only if you are * not using SSL/TLS to connect to the DB instance.

If * you are using SSL/TLS to connect to the DB instance, follow the appropriate * instructions for your DB engine to rotate your SSL/TLS certificate:

*/ inline bool CertificateRotationRestartHasBeenSet() const { return m_certificateRotationRestartHasBeenSet; } /** *

A value that indicates whether the DB instance is restarted when you rotate * your SSL/TLS certificate.

By default, the DB instance is restarted when * you rotate your SSL/TLS certificate. The certificate is not updated until the DB * instance is restarted.

Set this parameter only if you are * not using SSL/TLS to connect to the DB instance.

If * you are using SSL/TLS to connect to the DB instance, follow the appropriate * instructions for your DB engine to rotate your SSL/TLS certificate:

*/ inline void SetCertificateRotationRestart(bool value) { m_certificateRotationRestartHasBeenSet = true; m_certificateRotationRestart = value; } /** *

A value that indicates whether the DB instance is restarted when you rotate * your SSL/TLS certificate.

By default, the DB instance is restarted when * you rotate your SSL/TLS certificate. The certificate is not updated until the DB * instance is restarted.

Set this parameter only if you are * not using SSL/TLS to connect to the DB instance.

If * you are using SSL/TLS to connect to the DB instance, follow the appropriate * instructions for your DB engine to rotate your SSL/TLS certificate:

*/ inline ModifyDBInstanceRequest& WithCertificateRotationRestart(bool value) { SetCertificateRotationRestart(value); return *this;} /** *

A value that sets the open mode of a replica database to either mounted or * read-only.

Currently, 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. 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; } /** *

A value that sets the open mode of a replica database to either mounted or * read-only.

Currently, 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. 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; } /** *

A value that sets the open mode of a replica database to either mounted or * read-only.

Currently, 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. 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; } /** *

A value that sets the open mode of a replica database to either mounted or * read-only.

Currently, 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. 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); } /** *

A value that sets the open mode of a replica database to either mounted or * read-only.

Currently, 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. For more * information, see Working * with Oracle Read Replicas for Amazon RDS in the Amazon RDS User * Guide.

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

A value that sets the open mode of a replica database to either mounted or * read-only.

Currently, 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. For more * information, see Working * with Oracle Read Replicas for Amazon RDS in the Amazon RDS User * Guide.

*/ inline ModifyDBInstanceRequest& WithReplicaMode(ReplicaMode&& value) { SetReplicaMode(std::move(value)); return *this;} private: Aws::String m_dBInstanceIdentifier; bool m_dBInstanceIdentifierHasBeenSet; int m_allocatedStorage; bool m_allocatedStorageHasBeenSet; Aws::String m_dBInstanceClass; bool m_dBInstanceClassHasBeenSet; Aws::String m_dBSubnetGroupName; bool m_dBSubnetGroupNameHasBeenSet; Aws::Vector m_dBSecurityGroups; bool m_dBSecurityGroupsHasBeenSet; Aws::Vector m_vpcSecurityGroupIds; bool m_vpcSecurityGroupIdsHasBeenSet; bool m_applyImmediately; bool m_applyImmediatelyHasBeenSet; Aws::String m_masterUserPassword; bool m_masterUserPasswordHasBeenSet; Aws::String m_dBParameterGroupName; bool m_dBParameterGroupNameHasBeenSet; int m_backupRetentionPeriod; bool m_backupRetentionPeriodHasBeenSet; Aws::String m_preferredBackupWindow; bool m_preferredBackupWindowHasBeenSet; Aws::String m_preferredMaintenanceWindow; bool m_preferredMaintenanceWindowHasBeenSet; bool m_multiAZ; bool m_multiAZHasBeenSet; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet; bool m_allowMajorVersionUpgrade; bool m_allowMajorVersionUpgradeHasBeenSet; bool m_autoMinorVersionUpgrade; bool m_autoMinorVersionUpgradeHasBeenSet; Aws::String m_licenseModel; bool m_licenseModelHasBeenSet; int m_iops; bool m_iopsHasBeenSet; Aws::String m_optionGroupName; bool m_optionGroupNameHasBeenSet; Aws::String m_newDBInstanceIdentifier; bool m_newDBInstanceIdentifierHasBeenSet; Aws::String m_storageType; bool m_storageTypeHasBeenSet; Aws::String m_tdeCredentialArn; bool m_tdeCredentialArnHasBeenSet; Aws::String m_tdeCredentialPassword; bool m_tdeCredentialPasswordHasBeenSet; Aws::String m_cACertificateIdentifier; bool m_cACertificateIdentifierHasBeenSet; Aws::String m_domain; bool m_domainHasBeenSet; bool m_copyTagsToSnapshot; bool m_copyTagsToSnapshotHasBeenSet; int m_monitoringInterval; bool m_monitoringIntervalHasBeenSet; int m_dBPortNumber; bool m_dBPortNumberHasBeenSet; bool m_publiclyAccessible; bool m_publiclyAccessibleHasBeenSet; Aws::String m_monitoringRoleArn; bool m_monitoringRoleArnHasBeenSet; Aws::String m_domainIAMRoleName; bool m_domainIAMRoleNameHasBeenSet; int m_promotionTier; bool m_promotionTierHasBeenSet; 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; CloudwatchLogsExportConfiguration m_cloudwatchLogsExportConfiguration; bool m_cloudwatchLogsExportConfigurationHasBeenSet; Aws::Vector m_processorFeatures; bool m_processorFeaturesHasBeenSet; bool m_useDefaultProcessorFeatures; bool m_useDefaultProcessorFeaturesHasBeenSet; bool m_deletionProtection; bool m_deletionProtectionHasBeenSet; int m_maxAllocatedStorage; bool m_maxAllocatedStorageHasBeenSet; bool m_certificateRotationRestart; bool m_certificateRotationRestartHasBeenSet; ReplicaMode m_replicaMode; bool m_replicaModeHasBeenSet; }; } // namespace Model } // namespace RDS } // namespace Aws