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

Represents the input to ModifyDBInstance.

See Also:

* AWS * API Reference

*/ class ModifyDBInstanceRequest : public DocDBRequest { public: AWS_DOCDB_API 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_DOCDB_API Aws::String SerializePayload() const override; protected: AWS_DOCDB_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The 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 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 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 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 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 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 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 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 compute and memory capacity of the instance; for example, * db.r5.large. Not all instance classes are available in all Amazon * Web Services Regions.

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

Default: Uses existing setting.

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

The new compute and memory capacity of the instance; for example, * db.r5.large. Not all instance classes are available in all Amazon * Web Services Regions.

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

Default: Uses existing setting.

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

The new compute and memory capacity of the instance; for example, * db.r5.large. Not all instance classes are available in all Amazon * Web Services Regions.

If you modify the instance class, an outage occurs * during the change. The change is applied during the next maintenance window, * unless ApplyImmediately is specified as true 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 instance; for example, * db.r5.large. Not all instance classes are available in all Amazon * Web Services Regions.

If you modify the instance class, an outage occurs * during the change. The change is applied during the next maintenance window, * unless ApplyImmediately is specified as true 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 instance; for example, * db.r5.large. Not all instance classes are available in all Amazon * Web Services Regions.

If you modify the instance class, an outage occurs * during the change. The change is applied during the next maintenance window, * unless ApplyImmediately is specified as true 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 instance; for example, * db.r5.large. Not all instance classes are available in all Amazon * Web Services Regions.

If you modify the instance class, an outage occurs * during the change. The change is applied during the next maintenance window, * unless ApplyImmediately is specified as true 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 instance; for example, * db.r5.large. Not all instance classes are available in all Amazon * Web Services Regions.

If you modify the instance class, an outage occurs * during the change. The change is applied during the next maintenance window, * unless ApplyImmediately is specified as true 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 instance; for example, * db.r5.large. Not all instance classes are available in all Amazon * Web Services Regions.

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

Default: Uses existing setting.

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

Specifies whether the modifications in this request and any pending * modifications are asynchronously applied as soon as possible, regardless of the * PreferredMaintenanceWindow setting for the instance.

If * this parameter is set to false, changes to the instance are applied * during the next maintenance window. Some parameter changes can cause an outage * and are applied on the next reboot.

Default: false

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

Specifies whether the modifications in this request and any pending * modifications are asynchronously applied as soon as possible, regardless of the * PreferredMaintenanceWindow setting for the instance.

If * this parameter is set to false, changes to the instance are applied * during the next maintenance window. Some parameter changes can cause an outage * and are applied on the next reboot.

Default: false

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

Specifies whether the modifications in this request and any pending * modifications are asynchronously applied as soon as possible, regardless of the * PreferredMaintenanceWindow setting for the instance.

If * this parameter is set to false, changes to the instance are applied * during the next maintenance window. Some parameter changes can cause an outage * and are applied on the next reboot.

Default: false

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

Specifies whether the modifications in this request and any pending * modifications are asynchronously applied as soon as possible, regardless of the * PreferredMaintenanceWindow setting for the instance.

If * this parameter is set to false, changes to the instance are applied * during the next maintenance window. Some parameter changes can cause an outage * and are applied on the next reboot.

Default: false

*/ inline ModifyDBInstanceRequest& WithApplyImmediately(bool value) { SetApplyImmediately(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, changing this * parameter causes a reboot of the instance. If you are 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 that 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, changing this * parameter causes a reboot of the instance. If you are 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 that 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, changing this * parameter causes a reboot of the instance. If you are 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 that 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, changing this * parameter causes a reboot of the instance. If you are 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 that 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, changing this * parameter causes a reboot of the instance. If you are 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 that 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, changing this * parameter causes a reboot of the instance. If you are 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 that 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, changing this * parameter causes a reboot of the instance. If you are 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 that 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, changing this * parameter causes a reboot of the instance. If you are 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 that 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;} /** *

This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does * not perform minor version upgrades regardless of the value set.

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

This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does * not perform minor version upgrades regardless of the value set.

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

This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does * not perform minor version upgrades regardless of the value set.

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

This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does * not perform minor version upgrades regardless of the value set.

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

The new instance identifier for the instance when renaming an instance. When * you change the instance identifier, an instance reboot occurs immediately if you * set Apply Immediately to true. It occurs during the * next maintenance window if you set Apply Immediately to * false. 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.

  • *

    Cannot end with a hyphen or contain two consecutive hyphens.

*

Example: mydbinstance

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

The new instance identifier for the instance when renaming an instance. When * you change the instance identifier, an instance reboot occurs immediately if you * set Apply Immediately to true. It occurs during the * next maintenance window if you set Apply Immediately to * false. 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.

  • *

    Cannot end with a hyphen or contain two consecutive hyphens.

*

Example: mydbinstance

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

The new instance identifier for the instance when renaming an instance. When * you change the instance identifier, an instance reboot occurs immediately if you * set Apply Immediately to true. It occurs during the * next maintenance window if you set Apply Immediately to * false. 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.

  • *

    Cannot 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 instance identifier for the instance when renaming an instance. When * you change the instance identifier, an instance reboot occurs immediately if you * set Apply Immediately to true. It occurs during the * next maintenance window if you set Apply Immediately to * false. 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.

  • *

    Cannot 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 instance identifier for the instance when renaming an instance. When * you change the instance identifier, an instance reboot occurs immediately if you * set Apply Immediately to true. It occurs during the * next maintenance window if you set Apply Immediately to * false. 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.

  • *

    Cannot 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 instance identifier for the instance when renaming an instance. When * you change the instance identifier, an instance reboot occurs immediately if you * set Apply Immediately to true. It occurs during the * next maintenance window if you set Apply Immediately to * false. 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.

  • *

    Cannot end with a hyphen or contain two consecutive hyphens.

*

Example: mydbinstance

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

The new instance identifier for the instance when renaming an instance. When * you change the instance identifier, an instance reboot occurs immediately if you * set Apply Immediately to true. It occurs during the * next maintenance window if you set Apply Immediately to * false. 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.

  • *

    Cannot 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 instance identifier for the instance when renaming an instance. When * you change the instance identifier, an instance reboot occurs immediately if you * set Apply Immediately to true. It occurs during the * next maintenance window if you set Apply Immediately to * false. 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.

  • *

    Cannot end with a hyphen or contain two consecutive hyphens.

*

Example: mydbinstance

*/ inline ModifyDBInstanceRequest& WithNewDBInstanceIdentifier(const char* value) { SetNewDBInstanceIdentifier(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;} /** *

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.

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

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

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

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

A value that specifies the order in which an Amazon DocumentDB replica is * promoted to the primary instance after a failure of the existing primary * instance.

Default: 1

Valid values: 0-15

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

A value that specifies the order in which an Amazon DocumentDB replica is * promoted to the primary instance after a failure of the existing primary * instance.

Default: 1

Valid values: 0-15

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

A value that specifies the order in which an Amazon DocumentDB replica is * promoted to the primary instance after a failure of the existing primary * instance.

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 Amazon DocumentDB replica is * promoted to the primary instance after a failure of the existing primary * instance.

Default: 1

Valid values: 0-15

*/ inline ModifyDBInstanceRequest& WithPromotionTier(int value) { SetPromotionTier(value); return *this;} /** *

A value that indicates whether to enable Performance Insights for the DB * Instance. For more information, see Using * Amazon Performance Insights.

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

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

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

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

The KMS key identifier for encryption of Performance Insights data.

*

The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for * the KMS key.

If you do not specify a value for * PerformanceInsightsKMSKeyId, then Amazon DocumentDB uses your default KMS key. * There is a default KMS key for your Amazon Web Services account. Your Amazon Web * Services account has a different default KMS key for each Amazon Web Services * region.

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

The KMS key identifier for encryption of Performance Insights data.

*

The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for * the KMS key.

If you do not specify a value for * PerformanceInsightsKMSKeyId, then Amazon DocumentDB uses your default KMS key. * There is a default KMS key for your Amazon Web Services account. Your Amazon Web * Services account has a different default KMS key for each Amazon Web Services * region.

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

The KMS key identifier for encryption of Performance Insights data.

*

The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for * the KMS key.

If you do not specify a value for * PerformanceInsightsKMSKeyId, then Amazon DocumentDB uses your default KMS key. * There is a default KMS key for your Amazon Web Services account. Your Amazon Web * Services account has a different default KMS key for each Amazon Web Services * region.

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

The KMS key identifier for encryption of Performance Insights data.

*

The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for * the KMS key.

If you do not specify a value for * PerformanceInsightsKMSKeyId, then Amazon DocumentDB uses your default KMS key. * There is a default KMS key for your Amazon Web Services account. Your Amazon Web * Services account has a different default KMS key for each Amazon Web Services * region.

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

The KMS key identifier for encryption of Performance Insights data.

*

The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for * the KMS key.

If you do not specify a value for * PerformanceInsightsKMSKeyId, then Amazon DocumentDB uses your default KMS key. * There is a default KMS key for your Amazon Web Services account. Your Amazon Web * Services account has a different default KMS key for each Amazon Web Services * region.

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

The KMS key identifier for encryption of Performance Insights data.

*

The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for * the KMS key.

If you do not specify a value for * PerformanceInsightsKMSKeyId, then Amazon DocumentDB uses your default KMS key. * There is a default KMS key for your Amazon Web Services account. Your Amazon Web * Services account has a different default KMS key for each Amazon Web Services * region.

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

The KMS key identifier for encryption of Performance Insights data.

*

The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for * the KMS key.

If you do not specify a value for * PerformanceInsightsKMSKeyId, then Amazon DocumentDB uses your default KMS key. * There is a default KMS key for your Amazon Web Services account. Your Amazon Web * Services account has a different default KMS key for each Amazon Web Services * region.

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

The KMS key identifier for encryption of Performance Insights data.

*

The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for * the KMS key.

If you do not specify a value for * PerformanceInsightsKMSKeyId, then Amazon DocumentDB uses your default KMS key. * There is a default KMS key for your Amazon Web Services account. Your Amazon Web * Services account has a different default KMS key for each Amazon Web Services * region.

*/ inline ModifyDBInstanceRequest& WithPerformanceInsightsKMSKeyId(const char* value) { SetPerformanceInsightsKMSKeyId(value); return *this;} private: Aws::String m_dBInstanceIdentifier; bool m_dBInstanceIdentifierHasBeenSet = false; Aws::String m_dBInstanceClass; bool m_dBInstanceClassHasBeenSet = false; bool m_applyImmediately; bool m_applyImmediatelyHasBeenSet = false; Aws::String m_preferredMaintenanceWindow; bool m_preferredMaintenanceWindowHasBeenSet = false; bool m_autoMinorVersionUpgrade; bool m_autoMinorVersionUpgradeHasBeenSet = false; Aws::String m_newDBInstanceIdentifier; bool m_newDBInstanceIdentifierHasBeenSet = false; Aws::String m_cACertificateIdentifier; bool m_cACertificateIdentifierHasBeenSet = false; bool m_copyTagsToSnapshot; bool m_copyTagsToSnapshotHasBeenSet = false; int m_promotionTier; bool m_promotionTierHasBeenSet = false; bool m_enablePerformanceInsights; bool m_enablePerformanceInsightsHasBeenSet = false; Aws::String m_performanceInsightsKMSKeyId; bool m_performanceInsightsKMSKeyIdHasBeenSet = false; }; } // namespace Model } // namespace DocDB } // namespace Aws