import { Command as $Command } from "@smithy/core/client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CreateDBInstanceMessage, CreateDBInstanceResult } from "../models/models_0"; import type { RDSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RDSClient"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link CreateDBInstanceCommand}. */ export interface CreateDBInstanceCommandInput extends CreateDBInstanceMessage { } /** * @public * * The output of {@link CreateDBInstanceCommand}. */ export interface CreateDBInstanceCommandOutput extends CreateDBInstanceResult, __MetadataBearer { } declare const CreateDBInstanceCommand_base: { new (input: CreateDBInstanceCommandInput): import("@smithy/core/client").CommandImpl; new (input: CreateDBInstanceCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): { [x: string]: unknown; }; }; /** *

Creates a new DB instance.

The new DB instance can be an RDS DB instance, or it can be a DB instance in an Aurora DB cluster. For an Aurora DB cluster, you can call this operation multiple times to add more than one DB instance to the cluster.

For more information about creating an RDS DB instance, see Creating an Amazon RDS DB instance in the Amazon RDS User Guide.

For more information about creating a DB instance in an Aurora DB cluster, see Creating an Amazon Aurora DB cluster in the Amazon Aurora User Guide.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { RDSClient, CreateDBInstanceCommand } from "@aws-sdk/client-rds"; // ES Modules import * // const { RDSClient, CreateDBInstanceCommand } = require("@aws-sdk/client-rds"); // CommonJS import * // import type { RDSClientConfig } from "@aws-sdk/client-rds"; * const config = {}; // type is RDSClientConfig * const client = new RDSClient(config); * const input = { // CreateDBInstanceMessage * DBName: "STRING_VALUE", * DBInstanceIdentifier: "STRING_VALUE", // required * AllocatedStorage: Number("int"), * DBInstanceClass: "STRING_VALUE", // required * Engine: "STRING_VALUE", // required * MasterUsername: "STRING_VALUE", * MasterUserPassword: "STRING_VALUE", * DBSecurityGroups: [ // DBSecurityGroupNameList * "STRING_VALUE", * ], * VpcSecurityGroupIds: [ // VpcSecurityGroupIdList * "STRING_VALUE", * ], * AvailabilityZone: "STRING_VALUE", * DBSubnetGroupName: "STRING_VALUE", * PreferredMaintenanceWindow: "STRING_VALUE", * DBParameterGroupName: "STRING_VALUE", * BackupRetentionPeriod: Number("int"), * PreferredBackupWindow: "STRING_VALUE", * Port: Number("int"), * MultiAZ: true || false, * EngineVersion: "STRING_VALUE", * AutoMinorVersionUpgrade: true || false, * LicenseModel: "STRING_VALUE", * Iops: Number("int"), * StorageThroughput: Number("int"), * OptionGroupName: "STRING_VALUE", * CharacterSetName: "STRING_VALUE", * NcharCharacterSetName: "STRING_VALUE", * PubliclyAccessible: true || false, * Tags: [ // TagList * { // Tag * Key: "STRING_VALUE", * Value: "STRING_VALUE", * }, * ], * DBClusterIdentifier: "STRING_VALUE", * StorageType: "STRING_VALUE", * TdeCredentialArn: "STRING_VALUE", * TdeCredentialPassword: "STRING_VALUE", * StorageEncrypted: true || false, * KmsKeyId: "STRING_VALUE", * Domain: "STRING_VALUE", * DomainFqdn: "STRING_VALUE", * DomainOu: "STRING_VALUE", * DomainAuthSecretArn: "STRING_VALUE", * DomainDnsIps: [ // StringList * "STRING_VALUE", * ], * CopyTagsToSnapshot: true || false, * MonitoringInterval: Number("int"), * MonitoringRoleArn: "STRING_VALUE", * DomainIAMRoleName: "STRING_VALUE", * PromotionTier: Number("int"), * Timezone: "STRING_VALUE", * EnableIAMDatabaseAuthentication: true || false, * DatabaseInsightsMode: "standard" || "advanced", * EnablePerformanceInsights: true || false, * PerformanceInsightsKMSKeyId: "STRING_VALUE", * PerformanceInsightsRetentionPeriod: Number("int"), * EnableCloudwatchLogsExports: [ // LogTypeList * "STRING_VALUE", * ], * ProcessorFeatures: [ // ProcessorFeatureList * { // ProcessorFeature * Name: "STRING_VALUE", * Value: "STRING_VALUE", * }, * ], * DeletionProtection: true || false, * MaxAllocatedStorage: Number("int"), * EnableCustomerOwnedIp: true || false, * NetworkType: "STRING_VALUE", * BackupTarget: "STRING_VALUE", * CustomIamInstanceProfile: "STRING_VALUE", * DBSystemId: "STRING_VALUE", * CACertificateIdentifier: "STRING_VALUE", * ManageMasterUserPassword: true || false, * MasterUserSecretKmsKeyId: "STRING_VALUE", * MultiTenant: true || false, * DedicatedLogVolume: true || false, * EngineLifecycleSupport: "STRING_VALUE", * AdditionalStorageVolumes: [ // AdditionalStorageVolumesList * { // AdditionalStorageVolume * VolumeName: "STRING_VALUE", // required * AllocatedStorage: Number("int"), * IOPS: Number("int"), * MaxAllocatedStorage: Number("int"), * StorageThroughput: Number("int"), * StorageType: "STRING_VALUE", * }, * ], * TagSpecifications: [ // TagSpecificationList * { // TagSpecification * ResourceType: "STRING_VALUE", * Tags: [ * { * Key: "STRING_VALUE", * Value: "STRING_VALUE", * }, * ], * }, * ], * MasterUserAuthenticationType: "password" || "iam-db-auth", * }; * const command = new CreateDBInstanceCommand(input); * const response = await client.send(command); * // { // CreateDBInstanceResult * // DBInstance: { // DBInstance * // DBInstanceIdentifier: "STRING_VALUE", * // DBInstanceClass: "STRING_VALUE", * // Engine: "STRING_VALUE", * // DBInstanceStatus: "STRING_VALUE", * // MasterUsername: "STRING_VALUE", * // DBName: "STRING_VALUE", * // Endpoint: { // Endpoint * // Address: "STRING_VALUE", * // Port: Number("int"), * // HostedZoneId: "STRING_VALUE", * // }, * // AllocatedStorage: Number("int"), * // InstanceCreateTime: new Date("TIMESTAMP"), * // PreferredBackupWindow: "STRING_VALUE", * // BackupRetentionPeriod: Number("int"), * // DBSecurityGroups: [ // DBSecurityGroupMembershipList * // { // DBSecurityGroupMembership * // DBSecurityGroupName: "STRING_VALUE", * // Status: "STRING_VALUE", * // }, * // ], * // VpcSecurityGroups: [ // VpcSecurityGroupMembershipList * // { // VpcSecurityGroupMembership * // VpcSecurityGroupId: "STRING_VALUE", * // Status: "STRING_VALUE", * // }, * // ], * // DBParameterGroups: [ // DBParameterGroupStatusList * // { // DBParameterGroupStatus * // DBParameterGroupName: "STRING_VALUE", * // ParameterApplyStatus: "STRING_VALUE", * // }, * // ], * // AvailabilityZone: "STRING_VALUE", * // DBSubnetGroup: { // DBSubnetGroup * // DBSubnetGroupName: "STRING_VALUE", * // DBSubnetGroupDescription: "STRING_VALUE", * // VpcId: "STRING_VALUE", * // SubnetGroupStatus: "STRING_VALUE", * // Subnets: [ // SubnetList * // { // Subnet * // SubnetIdentifier: "STRING_VALUE", * // SubnetAvailabilityZone: { // AvailabilityZone * // Name: "STRING_VALUE", * // }, * // SubnetOutpost: { // Outpost * // Arn: "STRING_VALUE", * // }, * // SubnetStatus: "STRING_VALUE", * // }, * // ], * // DBSubnetGroupArn: "STRING_VALUE", * // SupportedNetworkTypes: [ // StringList * // "STRING_VALUE", * // ], * // }, * // PreferredMaintenanceWindow: "STRING_VALUE", * // UpgradeRolloutOrder: "first" || "second" || "last", * // PendingModifiedValues: { // PendingModifiedValues * // DBInstanceClass: "STRING_VALUE", * // AllocatedStorage: Number("int"), * // MasterUserPassword: "STRING_VALUE", * // Port: Number("int"), * // BackupRetentionPeriod: Number("int"), * // MultiAZ: true || false, * // EngineVersion: "STRING_VALUE", * // LicenseModel: "STRING_VALUE", * // Iops: Number("int"), * // StorageThroughput: Number("int"), * // DBInstanceIdentifier: "STRING_VALUE", * // StorageType: "STRING_VALUE", * // CACertificateIdentifier: "STRING_VALUE", * // DBSubnetGroupName: "STRING_VALUE", * // PendingCloudwatchLogsExports: { // PendingCloudwatchLogsExports * // LogTypesToEnable: [ // LogTypeList * // "STRING_VALUE", * // ], * // LogTypesToDisable: [ * // "STRING_VALUE", * // ], * // }, * // ProcessorFeatures: [ // ProcessorFeatureList * // { // ProcessorFeature * // Name: "STRING_VALUE", * // Value: "STRING_VALUE", * // }, * // ], * // AutomationMode: "full" || "all-paused", * // ResumeFullAutomationModeTime: new Date("TIMESTAMP"), * // MultiTenant: true || false, * // IAMDatabaseAuthenticationEnabled: true || false, * // DedicatedLogVolume: true || false, * // Engine: "STRING_VALUE", * // AdditionalStorageVolumes: [ // AdditionalStorageVolumesList * // { // AdditionalStorageVolume * // VolumeName: "STRING_VALUE", // required * // AllocatedStorage: Number("int"), * // IOPS: Number("int"), * // MaxAllocatedStorage: Number("int"), * // StorageThroughput: Number("int"), * // StorageType: "STRING_VALUE", * // }, * // ], * // }, * // LatestRestorableTime: new Date("TIMESTAMP"), * // MultiAZ: true || false, * // EngineVersion: "STRING_VALUE", * // AutoMinorVersionUpgrade: true || false, * // ReadReplicaSourceDBInstanceIdentifier: "STRING_VALUE", * // ReadReplicaDBInstanceIdentifiers: [ // ReadReplicaDBInstanceIdentifierList * // "STRING_VALUE", * // ], * // ReadReplicaDBClusterIdentifiers: [ // ReadReplicaDBClusterIdentifierList * // "STRING_VALUE", * // ], * // ReplicaMode: "open-read-only" || "mounted", * // LicenseModel: "STRING_VALUE", * // Iops: Number("int"), * // StorageThroughput: Number("int"), * // OptionGroupMemberships: [ // OptionGroupMembershipList * // { // OptionGroupMembership * // OptionGroupName: "STRING_VALUE", * // Status: "STRING_VALUE", * // }, * // ], * // CharacterSetName: "STRING_VALUE", * // NcharCharacterSetName: "STRING_VALUE", * // SecondaryAvailabilityZone: "STRING_VALUE", * // PubliclyAccessible: true || false, * // StatusInfos: [ // DBInstanceStatusInfoList * // { // DBInstanceStatusInfo * // StatusType: "STRING_VALUE", * // Normal: true || false, * // Status: "STRING_VALUE", * // Message: "STRING_VALUE", * // }, * // ], * // StorageType: "STRING_VALUE", * // StorageEncryptionType: "none" || "sse-kms" || "sse-rds", * // TdeCredentialArn: "STRING_VALUE", * // DbInstancePort: Number("int"), * // DBClusterIdentifier: "STRING_VALUE", * // StorageEncrypted: true || false, * // KmsKeyId: "STRING_VALUE", * // DbiResourceId: "STRING_VALUE", * // CACertificateIdentifier: "STRING_VALUE", * // DomainMemberships: [ // DomainMembershipList * // { // DomainMembership * // Domain: "STRING_VALUE", * // Status: "STRING_VALUE", * // FQDN: "STRING_VALUE", * // IAMRoleName: "STRING_VALUE", * // OU: "STRING_VALUE", * // AuthSecretArn: "STRING_VALUE", * // DnsIps: [ * // "STRING_VALUE", * // ], * // }, * // ], * // CopyTagsToSnapshot: true || false, * // MonitoringInterval: Number("int"), * // EnhancedMonitoringResourceArn: "STRING_VALUE", * // MonitoringRoleArn: "STRING_VALUE", * // PromotionTier: Number("int"), * // DBInstanceArn: "STRING_VALUE", * // Timezone: "STRING_VALUE", * // IAMDatabaseAuthenticationEnabled: true || false, * // DatabaseInsightsMode: "standard" || "advanced", * // PerformanceInsightsEnabled: true || false, * // PerformanceInsightsKMSKeyId: "STRING_VALUE", * // PerformanceInsightsRetentionPeriod: Number("int"), * // EnabledCloudwatchLogsExports: [ * // "STRING_VALUE", * // ], * // ProcessorFeatures: [ * // { * // Name: "STRING_VALUE", * // Value: "STRING_VALUE", * // }, * // ], * // DeletionProtection: true || false, * // AssociatedRoles: [ // DBInstanceRoles * // { // DBInstanceRole * // RoleArn: "STRING_VALUE", * // FeatureName: "STRING_VALUE", * // Status: "STRING_VALUE", * // }, * // ], * // ListenerEndpoint: { * // Address: "STRING_VALUE", * // Port: Number("int"), * // HostedZoneId: "STRING_VALUE", * // }, * // MaxAllocatedStorage: Number("int"), * // TagList: [ // TagList * // { // Tag * // Key: "STRING_VALUE", * // Value: "STRING_VALUE", * // }, * // ], * // AutomationMode: "full" || "all-paused", * // ResumeFullAutomationModeTime: new Date("TIMESTAMP"), * // CustomerOwnedIpEnabled: true || false, * // NetworkType: "STRING_VALUE", * // ActivityStreamStatus: "stopped" || "starting" || "started" || "stopping", * // ActivityStreamKmsKeyId: "STRING_VALUE", * // ActivityStreamKinesisStreamName: "STRING_VALUE", * // ActivityStreamMode: "sync" || "async", * // ActivityStreamEngineNativeAuditFieldsIncluded: true || false, * // AwsBackupRecoveryPointArn: "STRING_VALUE", * // DBInstanceAutomatedBackupsReplications: [ // DBInstanceAutomatedBackupsReplicationList * // { // DBInstanceAutomatedBackupsReplication * // DBInstanceAutomatedBackupsArn: "STRING_VALUE", * // }, * // ], * // BackupTarget: "STRING_VALUE", * // AutomaticRestartTime: new Date("TIMESTAMP"), * // CustomIamInstanceProfile: "STRING_VALUE", * // ActivityStreamPolicyStatus: "locked" || "unlocked" || "locking-policy" || "unlocking-policy", * // CertificateDetails: { // CertificateDetails * // CAIdentifier: "STRING_VALUE", * // ValidTill: new Date("TIMESTAMP"), * // }, * // DBSystemId: "STRING_VALUE", * // MasterUserSecret: { // MasterUserSecret * // SecretArn: "STRING_VALUE", * // SecretStatus: "STRING_VALUE", * // KmsKeyId: "STRING_VALUE", * // }, * // ReadReplicaSourceDBClusterIdentifier: "STRING_VALUE", * // PercentProgress: "STRING_VALUE", * // MultiTenant: true || false, * // DedicatedLogVolume: true || false, * // IsStorageConfigUpgradeAvailable: true || false, * // EngineLifecycleSupport: "STRING_VALUE", * // AdditionalStorageVolumes: [ // AdditionalStorageVolumesOutputList * // { // AdditionalStorageVolumeOutput * // VolumeName: "STRING_VALUE", * // StorageVolumeStatus: "STRING_VALUE", * // AllocatedStorage: Number("int"), * // IOPS: Number("int"), * // MaxAllocatedStorage: Number("int"), * // StorageThroughput: Number("int"), * // StorageType: "STRING_VALUE", * // }, * // ], * // StorageVolumeStatus: "STRING_VALUE", * // }, * // }; * * ``` * * @param CreateDBInstanceCommandInput - {@link CreateDBInstanceCommandInput} * @returns {@link CreateDBInstanceCommandOutput} * @see {@link CreateDBInstanceCommandInput} for command's `input` shape. * @see {@link CreateDBInstanceCommandOutput} for command's `response` shape. * @see {@link RDSClientResolvedConfig | config} for RDSClient's `config` shape. * * @throws {@link AuthorizationNotFoundFault} (client fault) *

The specified CIDR IP range or Amazon EC2 security group might not be authorized for the specified DB security group.

Or, RDS might not be authorized to perform necessary actions using IAM on your behalf.

* * @throws {@link BackupPolicyNotFoundFault} (client fault) *

* * @throws {@link CertificateNotFoundFault} (client fault) *

CertificateIdentifier doesn't refer to an existing certificate.

* * @throws {@link DBClusterNotFoundFault} (client fault) *

DBClusterIdentifier doesn't refer to an existing DB cluster.

* * @throws {@link DBInstanceAlreadyExistsFault} (client fault) *

The user already has a DB instance with the given identifier.

* * @throws {@link DBParameterGroupNotFoundFault} (client fault) *

DBParameterGroupName doesn't refer to an existing DB parameter group.

* * @throws {@link DBSecurityGroupNotFoundFault} (client fault) *

DBSecurityGroupName doesn't refer to an existing DB security group.

* * @throws {@link DBSubnetGroupDoesNotCoverEnoughAZs} (client fault) *

Subnets in the DB subnet group should cover at least two Availability Zones unless there is only one Availability Zone.

* * @throws {@link DBSubnetGroupNotFoundFault} (client fault) *

DBSubnetGroupName doesn't refer to an existing DB subnet group.

* * @throws {@link DomainNotFoundFault} (client fault) *

Domain doesn't refer to an existing Active Directory domain.

* * @throws {@link InstanceQuotaExceededFault} (client fault) *

The request would result in the user exceeding the allowed number of DB instances.

* * @throws {@link InsufficientDBInstanceCapacityFault} (client fault) *

The specified DB instance class isn't available in the specified Availability Zone.

* * @throws {@link InvalidDBClusterStateFault} (client fault) *

The requested operation can't be performed while the cluster is in this state.

* * @throws {@link InvalidSubnet} (client fault) *

The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.

* * @throws {@link InvalidVPCNetworkStateFault} (client fault) *

The DB subnet group doesn't cover all Availability Zones after it's created because of users' change.

* * @throws {@link KMSKeyNotAccessibleFault} (client fault) *

An error occurred accessing an Amazon Web Services KMS key.

* * @throws {@link NetworkTypeNotSupported} (client fault) *

The network type is invalid for the DB instance. Valid nework type values are IPV4 and DUAL.

* * @throws {@link OptionGroupNotFoundFault} (client fault) *

The specified option group could not be found.

* * @throws {@link ProvisionedIopsNotAvailableInAZFault} (client fault) *

Provisioned IOPS not available in the specified Availability Zone.

* * @throws {@link StorageQuotaExceededFault} (client fault) *

The request would result in the user exceeding the allowed amount of storage available across all DB instances.

* * @throws {@link StorageTypeNotSupportedFault} (client fault) *

The specified StorageType can't be associated with the DB instance.

* * @throws {@link TenantDatabaseQuotaExceededFault} (client fault) *

You attempted to create more tenant databases than are permitted in your Amazon Web Services account.

* * @throws {@link VpcEncryptionControlViolationException} (client fault) *

The operation violates VPC encryption control settings. Make sure that your DB instance type supports the Nitro encryption-in-transit capability, or modify your VPC's encryption controls to not enforce encryption-in-transit.

* * @throws {@link RDSServiceException} *

Base exception class for all service exceptions from RDS service.

* * * @example To create a DB instance * ```javascript * // The following example uses the required options to launch a new DB instance. * const input = { * AllocatedStorage: 20, * DBInstanceClass: "db.t3.micro", * DBInstanceIdentifier: "test-mysql-instance", * Engine: "mysql", * MasterUserPassword: "secret99", * MasterUsername: "admin" * }; * const command = new CreateDBInstanceCommand(input); * const response = await client.send(command); * /* response is * { * DBInstance: { * AllocatedStorage: 20, * AssociatedRoles: [], * AutoMinorVersionUpgrade: true, * BackupRetentionPeriod: 1, * CACertificateIdentifier: "rds-ca-2019", * CopyTagsToSnapshot: false, * DBInstanceArn: "arn:aws:rds:us-west-2:123456789012:db:test-mysql-instance", * DBInstanceClass: "db.t3.micro", * DBInstanceIdentifier: "test-mysql-instance", * DBInstanceStatus: "creating", * DBParameterGroups: [ * { * DBParameterGroupName: "default.mysql5.7", * ParameterApplyStatus: "in-sync" * } * ], * DBSecurityGroups: [], * DBSubnetGroup: { * DBSubnetGroupDescription: "default", * DBSubnetGroupName: "default", * SubnetGroupStatus: "Complete", * Subnets: [ * { * SubnetAvailabilityZone: { * Name: "us-west-2c" * }, * SubnetIdentifier: "subnet-########", * SubnetStatus: "Active" * }, * { * SubnetAvailabilityZone: { * Name: "us-west-2d" * }, * SubnetIdentifier: "subnet-########", * SubnetStatus: "Active" * }, * { * SubnetAvailabilityZone: { * Name: "us-west-2a" * }, * SubnetIdentifier: "subnet-########", * SubnetStatus: "Active" * }, * { * SubnetAvailabilityZone: { * Name: "us-west-2b" * }, * SubnetIdentifier: "subnet-########", * SubnetStatus: "Active" * } * ], * VpcId: "vpc-2ff2ff2f" * }, * DbInstancePort: 0, * DbiResourceId: "db-5555EXAMPLE44444444EXAMPLE", * DeletionProtection: false, * DomainMemberships: [], * Engine: "mysql", * EngineVersion: "5.7.22", * IAMDatabaseAuthenticationEnabled: false, * LicenseModel: "general-public-license", * MasterUsername: "admin", * MonitoringInterval: 0, * MultiAZ: false, * OptionGroupMemberships: [ * { * OptionGroupName: "default:mysql-5-7", * Status: "in-sync" * } * ], * PendingModifiedValues: { * MasterUserPassword: "****" * }, * PerformanceInsightsEnabled: false, * PreferredBackupWindow: "12:55-13:25", * PreferredMaintenanceWindow: "sun:08:07-sun:08:37", * PubliclyAccessible: true, * ReadReplicaDBInstanceIdentifiers: [], * StorageEncrypted: false, * StorageType: "gp2", * VpcSecurityGroups: [ * { * Status: "active", * VpcSecurityGroupId: "sg-12345abc" * } * ] * } * } * *\/ * ``` * * @public */ export declare class CreateDBInstanceCommand extends CreateDBInstanceCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateDBInstanceMessage; output: CreateDBInstanceResult; }; sdk: { input: CreateDBInstanceCommandInput; output: CreateDBInstanceCommandOutput; }; }; }