import { Command as $Command } from "@smithy/core/client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { DescribeValidDBInstanceModificationsMessage, DescribeValidDBInstanceModificationsResult } from "../models/models_1"; import type { RDSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RDSClient"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link DescribeValidDBInstanceModificationsCommand}. */ export interface DescribeValidDBInstanceModificationsCommandInput extends DescribeValidDBInstanceModificationsMessage { } /** * @public * * The output of {@link DescribeValidDBInstanceModificationsCommand}. */ export interface DescribeValidDBInstanceModificationsCommandOutput extends DescribeValidDBInstanceModificationsResult, __MetadataBearer { } declare const DescribeValidDBInstanceModificationsCommand_base: { new (input: DescribeValidDBInstanceModificationsCommandInput): import("@smithy/core/client").CommandImpl; new (input: DescribeValidDBInstanceModificationsCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): { [x: string]: unknown; }; }; /** *

You can call DescribeValidDBInstanceModifications to learn what modifications you can make to your DB instance. You can use this information when you call ModifyDBInstance.

This command doesn't apply to RDS Custom.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { RDSClient, DescribeValidDBInstanceModificationsCommand } from "@aws-sdk/client-rds"; // ES Modules import * // const { RDSClient, DescribeValidDBInstanceModificationsCommand } = 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 = { // DescribeValidDBInstanceModificationsMessage * DBInstanceIdentifier: "STRING_VALUE", // required * }; * const command = new DescribeValidDBInstanceModificationsCommand(input); * const response = await client.send(command); * // { // DescribeValidDBInstanceModificationsResult * // ValidDBInstanceModificationsMessage: { // ValidDBInstanceModificationsMessage * // Storage: [ // ValidStorageOptionsList * // { // ValidStorageOptions * // StorageType: "STRING_VALUE", * // StorageSize: [ // RangeList * // { // Range * // From: Number("int"), * // To: Number("int"), * // Step: Number("int"), * // }, * // ], * // ProvisionedIops: [ * // { * // From: Number("int"), * // To: Number("int"), * // Step: Number("int"), * // }, * // ], * // IopsToStorageRatio: [ // DoubleRangeList * // { // DoubleRange * // From: Number("double"), * // To: Number("double"), * // }, * // ], * // ProvisionedStorageThroughput: [ * // { * // From: Number("int"), * // To: Number("int"), * // Step: Number("int"), * // }, * // ], * // StorageThroughputToIopsRatio: [ * // { * // From: Number("double"), * // To: Number("double"), * // }, * // ], * // SupportsStorageAutoscaling: true || false, * // }, * // ], * // ValidProcessorFeatures: [ // AvailableProcessorFeatureList * // { // AvailableProcessorFeature * // Name: "STRING_VALUE", * // DefaultValue: "STRING_VALUE", * // AllowedValues: "STRING_VALUE", * // }, * // ], * // SupportsDedicatedLogVolume: true || false, * // AdditionalStorage: { // ValidAdditionalStorageOptions * // SupportsAdditionalStorageVolumes: true || false, * // Volumes: [ // ValidVolumeOptionsList * // { // ValidVolumeOptions * // VolumeName: "STRING_VALUE", * // Storage: [ * // { * // StorageType: "STRING_VALUE", * // StorageSize: [ * // { * // From: Number("int"), * // To: Number("int"), * // Step: Number("int"), * // }, * // ], * // ProvisionedIops: [ * // { * // From: Number("int"), * // To: Number("int"), * // Step: Number("int"), * // }, * // ], * // IopsToStorageRatio: [ * // { * // From: Number("double"), * // To: Number("double"), * // }, * // ], * // ProvisionedStorageThroughput: "", * // StorageThroughputToIopsRatio: [ * // { * // From: Number("double"), * // To: Number("double"), * // }, * // ], * // SupportsStorageAutoscaling: true || false, * // }, * // ], * // }, * // ], * // }, * // }, * // }; * * ``` * * @param DescribeValidDBInstanceModificationsCommandInput - {@link DescribeValidDBInstanceModificationsCommandInput} * @returns {@link DescribeValidDBInstanceModificationsCommandOutput} * @see {@link DescribeValidDBInstanceModificationsCommandInput} for command's `input` shape. * @see {@link DescribeValidDBInstanceModificationsCommandOutput} for command's `response` shape. * @see {@link RDSClientResolvedConfig | config} for RDSClient's `config` shape. * * @throws {@link DBInstanceNotFoundFault} (client fault) *

DBInstanceIdentifier doesn't refer to an existing DB instance.

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

The DB instance isn't in a valid state.

* * @throws {@link RDSServiceException} *

Base exception class for all service exceptions from RDS service.

* * * @example To describe valid modifications for a DB instance * ```javascript * // The following example retrieves details about the valid modifications for the specified DB instance. * const input = { * DBInstanceIdentifier: "database-test1" * }; * const command = new DescribeValidDBInstanceModificationsCommand(input); * const response = await client.send(command); * /* response is * { * ValidDBInstanceModificationsMessage: { * Storage: [ * { * StorageSize: [ * { * From: 20, * Step: 1, * To: 20 * }, * { * From: 22, * Step: 1, * To: 6144 * } * ], * StorageType: "gp2" * } * ] * } * } * *\/ * ``` * * @public */ export declare class DescribeValidDBInstanceModificationsCommand extends DescribeValidDBInstanceModificationsCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: DescribeValidDBInstanceModificationsMessage; output: DescribeValidDBInstanceModificationsResult; }; sdk: { input: DescribeValidDBInstanceModificationsCommandInput; output: DescribeValidDBInstanceModificationsCommandOutput; }; }; }