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

Creates a new DB instance that acts as a read replica for an existing source DB instance or Multi-AZ DB cluster. You can create a read replica for a DB instance running Db2, MariaDB, MySQL, Oracle, PostgreSQL, or SQL Server. You can create a read replica for a Multi-AZ DB cluster running MySQL or PostgreSQL. For more information, see Working with read replicas and Migrating from a Multi-AZ DB cluster to a DB instance using a read replica in the Amazon RDS User Guide.

Amazon Aurora doesn't support this operation. To create a DB instance for an Aurora DB cluster, use the CreateDBInstance operation.

RDS creates read replicas with backups disabled. All other attributes (including DB security groups and DB parameter groups) are inherited from the source DB instance or cluster, except as specified.

Your source DB instance or cluster must have backup retention enabled.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { RDSClient, CreateDBInstanceReadReplicaCommand } from "@aws-sdk/client-rds"; // ES Modules import * // const { RDSClient, CreateDBInstanceReadReplicaCommand } = 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 = { // CreateDBInstanceReadReplicaMessage * DBInstanceIdentifier: "STRING_VALUE", // required * SourceDBInstanceIdentifier: "STRING_VALUE", * DBInstanceClass: "STRING_VALUE", * AvailabilityZone: "STRING_VALUE", * Port: Number("int"), * MultiAZ: true || false, * AutoMinorVersionUpgrade: true || false, * Iops: Number("int"), * StorageThroughput: Number("int"), * OptionGroupName: "STRING_VALUE", * DBParameterGroupName: "STRING_VALUE", * PubliclyAccessible: true || false, * Tags: [ // TagList * { // Tag * Key: "STRING_VALUE", * Value: "STRING_VALUE", * }, * ], * DBSubnetGroupName: "STRING_VALUE", * VpcSecurityGroupIds: [ // VpcSecurityGroupIdList * "STRING_VALUE", * ], * StorageType: "STRING_VALUE", * CopyTagsToSnapshot: true || false, * MonitoringInterval: Number("int"), * MonitoringRoleArn: "STRING_VALUE", * KmsKeyId: "STRING_VALUE", * PreSignedUrl: "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", * }, * ], * UseDefaultProcessorFeatures: true || false, * DeletionProtection: true || false, * Domain: "STRING_VALUE", * DomainIAMRoleName: "STRING_VALUE", * DomainFqdn: "STRING_VALUE", * DomainOu: "STRING_VALUE", * DomainAuthSecretArn: "STRING_VALUE", * DomainDnsIps: [ // StringList * "STRING_VALUE", * ], * ReplicaMode: "open-read-only" || "mounted", * EnableCustomerOwnedIp: true || false, * NetworkType: "STRING_VALUE", * MaxAllocatedStorage: Number("int"), * BackupTarget: "STRING_VALUE", * CustomIamInstanceProfile: "STRING_VALUE", * AllocatedStorage: Number("int"), * SourceDBClusterIdentifier: "STRING_VALUE", * DedicatedLogVolume: true || false, * UpgradeStorageConfig: true || false, * CACertificateIdentifier: "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", * }, * ], * }, * ], * }; * const command = new CreateDBInstanceReadReplicaCommand(input); * const response = await client.send(command); * // { // CreateDBInstanceReadReplicaResult * // 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 CreateDBInstanceReadReplicaCommandInput - {@link CreateDBInstanceReadReplicaCommandInput} * @returns {@link CreateDBInstanceReadReplicaCommandOutput} * @see {@link CreateDBInstanceReadReplicaCommandInput} for command's `input` shape. * @see {@link CreateDBInstanceReadReplicaCommandOutput} for command's `response` shape. * @see {@link RDSClientResolvedConfig | config} for RDSClient's `config` shape. * * @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 DBInstanceNotFoundFault} (client fault) *

DBInstanceIdentifier doesn't refer to an existing DB instance.

* * @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 DBSubnetGroupNotAllowedFault} (client fault) *

The DBSubnetGroup shouldn't be specified while creating read replicas that lie in the same region as the source instance.

* * @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 InvalidDBInstanceStateFault} (client fault) *

The DB instance isn't in a valid state.

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

The DBSubnetGroup doesn't belong to the same VPC as that of an existing cross-region read replica of the same source instance.

* * @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 read replica * ```javascript * // This example creates a read replica of an existing DB instance named test-instance. The read replica is named test-instance-repl. * const input = { * DBInstanceIdentifier: "test-instance-repl", * SourceDBInstanceIdentifier: "test-instance" * }; * const command = new CreateDBInstanceReadReplicaCommand(input); * const response = await client.send(command); * /* response is * { * DBInstance: { * DBInstanceArn: "arn:aws:rds:us-east-1:123456789012:db:test-instance-repl", * DBInstanceIdentifier: "test-instance-repl", * IAMDatabaseAuthenticationEnabled: false, * MonitoringInterval: 0, * ReadReplicaSourceDBInstanceIdentifier: "test-instance" * } * } * *\/ * ``` * * @public */ export declare class CreateDBInstanceReadReplicaCommand extends CreateDBInstanceReadReplicaCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateDBInstanceReadReplicaMessage; output: CreateDBInstanceReadReplicaResult; }; sdk: { input: CreateDBInstanceReadReplicaCommandInput; output: CreateDBInstanceReadReplicaCommandOutput; }; }; }