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

Represents the input to CreateDBInstance.

See Also:

* AWS * API Reference

*/ class CreateDBInstanceRequest : public DocDBRequest { public: AWS_DOCDB_API CreateDBInstanceRequest(); // 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 "CreateDBInstance"; } 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 parameter 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& GetDBInstanceIdentifier() const{ return m_dBInstanceIdentifier; } /** *

The instance identifier. This parameter 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 DBInstanceIdentifierHasBeenSet() const { return m_dBInstanceIdentifierHasBeenSet; } /** *

The instance identifier. This parameter 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 SetDBInstanceIdentifier(const Aws::String& value) { m_dBInstanceIdentifierHasBeenSet = true; m_dBInstanceIdentifier = value; } /** *

The instance identifier. This parameter 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 SetDBInstanceIdentifier(Aws::String&& value) { m_dBInstanceIdentifierHasBeenSet = true; m_dBInstanceIdentifier = std::move(value); } /** *

The instance identifier. This parameter 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 SetDBInstanceIdentifier(const char* value) { m_dBInstanceIdentifierHasBeenSet = true; m_dBInstanceIdentifier.assign(value); } /** *

The instance identifier. This parameter 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 CreateDBInstanceRequest& WithDBInstanceIdentifier(const Aws::String& value) { SetDBInstanceIdentifier(value); return *this;} /** *

The instance identifier. This parameter 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 CreateDBInstanceRequest& WithDBInstanceIdentifier(Aws::String&& value) { SetDBInstanceIdentifier(std::move(value)); return *this;} /** *

The instance identifier. This parameter 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 CreateDBInstanceRequest& WithDBInstanceIdentifier(const char* value) { SetDBInstanceIdentifier(value); return *this;} /** *

The compute and memory capacity of the instance; for example, * db.r5.large.

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

The compute and memory capacity of the instance; for example, * db.r5.large.

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

The compute and memory capacity of the instance; for example, * db.r5.large.

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

The compute and memory capacity of the instance; for example, * db.r5.large.

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

The compute and memory capacity of the instance; for example, * db.r5.large.

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

The compute and memory capacity of the instance; for example, * db.r5.large.

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

The compute and memory capacity of the instance; for example, * db.r5.large.

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

The compute and memory capacity of the instance; for example, * db.r5.large.

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

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

Valid * value: docdb

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

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

Valid * value: docdb

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

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

Valid * value: docdb

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

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

Valid * value: docdb

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

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

Valid * value: docdb

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

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

Valid * value: docdb

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

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

Valid * value: docdb

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

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

Valid * value: docdb

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

The Amazon EC2 Availability Zone that the instance is created in.

*

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

Example: us-east-1d

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

The Amazon EC2 Availability Zone that the instance is created in.

*

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

Example: us-east-1d

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

The Amazon EC2 Availability Zone that the instance is created in.

*

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

Example: us-east-1d

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

The Amazon EC2 Availability Zone that the instance is created in.

*

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

Example: us-east-1d

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

The Amazon EC2 Availability Zone that the instance is created in.

*

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

Example: us-east-1d

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

The Amazon EC2 Availability Zone that the instance is created in.

*

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

Example: us-east-1d

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

The Amazon EC2 Availability Zone that the instance is created in.

*

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

Example: us-east-1d

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

The Amazon EC2 Availability Zone that the instance is created in.

*

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

Example: us-east-1d

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

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

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

The default is a 30-minute window * selected at random from an 8-hour block of time for each Amazon Web Services * Region, occurring on a random day of the week.

Valid days: Mon, Tue, * Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

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

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

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

The default is a 30-minute window * selected at random from an 8-hour block of time for each Amazon Web Services * Region, occurring on a random day of the week.

Valid days: Mon, Tue, * Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

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

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

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

The default is a 30-minute window * selected at random from an 8-hour block of time for each Amazon Web Services * Region, occurring on a random day of the week.

Valid days: Mon, Tue, * Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

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

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

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

The default is a 30-minute window * selected at random from an 8-hour block of time for each Amazon Web Services * Region, occurring on a random day of the week.

Valid days: Mon, Tue, * Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

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

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

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

The default is a 30-minute window * selected at random from an 8-hour block of time for each Amazon Web Services * Region, occurring on a random day of the week.

Valid days: Mon, Tue, * Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

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

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

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

The default is a 30-minute window * selected at random from an 8-hour block of time for each Amazon Web Services * Region, occurring on a random day of the week.

Valid days: Mon, Tue, * Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

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

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

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

The default is a 30-minute window * selected at random from an 8-hour block of time for each Amazon Web Services * Region, occurring on a random day of the week.

Valid days: Mon, Tue, * Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

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

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

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

The default is a 30-minute window * selected at random from an 8-hour block of time for each Amazon Web Services * Region, occurring on a random day of the week.

Valid days: Mon, Tue, * Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

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

Default: * false

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

Default: * false

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

Default: * false

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

Default: * false

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

The tags to be assigned to the instance. You can assign up to 10 tags to an * instance.

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

The tags to be assigned to the instance. You can assign up to 10 tags to an * instance.

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

The tags to be assigned to the instance. You can assign up to 10 tags to an * instance.

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

The tags to be assigned to the instance. You can assign up to 10 tags to an * instance.

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

The tags to be assigned to the instance. You can assign up to 10 tags to an * instance.

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

The tags to be assigned to the instance. You can assign up to 10 tags to an * instance.

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

The tags to be assigned to the instance. You can assign up to 10 tags to an * instance.

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

The tags to be assigned to the instance. You can assign up to 10 tags to an * instance.

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

The identifier of the cluster that the instance will belong to.

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

The identifier of the cluster that the instance will belong to.

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

The identifier of the cluster that the instance will belong to.

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

The identifier of the cluster that the instance will belong to.

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

The identifier of the cluster that the instance will belong to.

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

The identifier of the cluster that the instance will belong to.

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

The identifier of the cluster that the instance will belong to.

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

The identifier of the cluster that the instance will belong to.

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

A value that indicates whether to copy 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 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 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 tags from the DB instance to snapshots * of the DB instance. By default, tags are not copied.

*/ inline CreateDBInstanceRequest& 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 CreateDBInstanceRequest& 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 CreateDBInstanceRequest& 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 CreateDBInstanceRequest& 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 CreateDBInstanceRequest& 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 CreateDBInstanceRequest& 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; Aws::String m_engine; bool m_engineHasBeenSet = false; Aws::String m_availabilityZone; bool m_availabilityZoneHasBeenSet = false; Aws::String m_preferredMaintenanceWindow; bool m_preferredMaintenanceWindowHasBeenSet = false; bool m_autoMinorVersionUpgrade; bool m_autoMinorVersionUpgradeHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; Aws::String m_dBClusterIdentifier; bool m_dBClusterIdentifierHasBeenSet = 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