/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Represents the input to CreateDBInstance.See Also:
* AWS
* API Reference
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
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
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
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
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
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
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
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
The compute and memory capacity of the instance; for example,
* db.r5.large
.
The compute and memory capacity of the instance; for example,
* db.r5.large
.
The compute and memory capacity of the instance; for example,
* db.r5.large
.
The compute and memory capacity of the instance; for example,
* db.r5.large
.
The compute and memory capacity of the instance; for example,
* db.r5.large
.
The compute and memory capacity of the instance; for example,
* db.r5.large
.
The compute and memory capacity of the instance; for example,
* db.r5.large
.
The compute and memory capacity of the instance; for example,
* db.r5.large
.
The name of the database engine to be used for this instance.
Valid
* value: docdb
The name of the database engine to be used for this instance.
Valid
* value: docdb
The name of the database engine to be used for this instance.
Valid
* value: docdb
The name of the database engine to be used for this instance.
Valid
* value: docdb
The name of the database engine to be used for this instance.
Valid
* value: docdb
The name of the database engine to be used for this instance.
Valid
* value: docdb
The name of the database engine to be used for this instance.
Valid
* value: docdb
The name of the database engine to be used for this instance.
Valid
* value: docdb
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
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
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
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
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
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
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
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
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
This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does * not perform minor version upgrades regardless of the value set.
Default:
* false
This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does * not perform minor version upgrades regardless of the value set.
Default:
* false
This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does * not perform minor version upgrades regardless of the value set.
Default:
* false
The tags to be assigned to the instance. You can assign up to 10 tags to an * instance.
*/ inline const Aws::VectorThe 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::VectorThe tags to be assigned to the instance. You can assign up to 10 tags to an * instance.
*/ inline void SetTags(Aws::VectorThe tags to be assigned to the instance. You can assign up to 10 tags to an * instance.
*/ inline CreateDBInstanceRequest& WithTags(const Aws::VectorThe tags to be assigned to the instance. You can assign up to 10 tags to an * instance.
*/ inline CreateDBInstanceRequest& WithTags(Aws::VectorThe 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