import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { GetRDSDatabaseRecommendationsRequest, GetRDSDatabaseRecommendationsResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link GetRDSDatabaseRecommendationsCommand}. */ export interface GetRDSDatabaseRecommendationsCommandInput extends GetRDSDatabaseRecommendationsRequest { } /** * @public * * The output of {@link GetRDSDatabaseRecommendationsCommand}. */ export interface GetRDSDatabaseRecommendationsCommandOutput extends GetRDSDatabaseRecommendationsResponse, __MetadataBearer { } declare const GetRDSDatabaseRecommendationsCommand_base: { new (input: GetRDSDatabaseRecommendationsCommandInput): import("@smithy/core/client").CommandImpl; new (...[input]: [] | [GetRDSDatabaseRecommendationsCommandInput]): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

* Returns Amazon Aurora and RDS database recommendations. *

*

Compute Optimizer generates recommendations for Amazon Aurora and RDS databases that * meet a specific set of requirements. For more * information, see the Supported resources and * requirements in the Compute Optimizer User * Guide.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { ComputeOptimizerClient, GetRDSDatabaseRecommendationsCommand } from "@aws-sdk/client-compute-optimizer"; // ES Modules import * // const { ComputeOptimizerClient, GetRDSDatabaseRecommendationsCommand } = require("@aws-sdk/client-compute-optimizer"); // CommonJS import * // import type { ComputeOptimizerClientConfig } from "@aws-sdk/client-compute-optimizer"; * const config = {}; // type is ComputeOptimizerClientConfig * const client = new ComputeOptimizerClient(config); * const input = { // GetRDSDatabaseRecommendationsRequest * resourceArns: [ // ResourceArns * "STRING_VALUE", * ], * nextToken: "STRING_VALUE", * maxResults: Number("int"), * filters: [ // RDSDBRecommendationFilters * { // RDSDBRecommendationFilter * name: "InstanceFinding" || "InstanceFindingReasonCode" || "StorageFinding" || "StorageFindingReasonCode" || "Idle", * values: [ // FilterValues * "STRING_VALUE", * ], * }, * ], * accountIds: [ // AccountIds * "STRING_VALUE", * ], * recommendationPreferences: { // RecommendationPreferences * cpuVendorArchitectures: [ // CpuVendorArchitectures * "AWS_ARM64" || "CURRENT", * ], * }, * }; * const command = new GetRDSDatabaseRecommendationsCommand(input); * const response = await client.send(command); * // { // GetRDSDatabaseRecommendationsResponse * // nextToken: "STRING_VALUE", * // rdsDBRecommendations: [ // RDSDBRecommendations * // { // RDSDBRecommendation * // resourceArn: "STRING_VALUE", * // accountId: "STRING_VALUE", * // engine: "STRING_VALUE", * // engineVersion: "STRING_VALUE", * // promotionTier: Number("int"), * // currentDBInstanceClass: "STRING_VALUE", * // currentStorageConfiguration: { // DBStorageConfiguration * // storageType: "STRING_VALUE", * // allocatedStorage: Number("int"), * // iops: Number("int"), * // maxAllocatedStorage: Number("int"), * // storageThroughput: Number("int"), * // }, * // dbClusterIdentifier: "STRING_VALUE", * // idle: "True" || "False", * // instanceFinding: "Optimized" || "Underprovisioned" || "Overprovisioned", * // storageFinding: "Optimized" || "Underprovisioned" || "Overprovisioned" || "NotOptimized", * // instanceFindingReasonCodes: [ // RDSInstanceFindingReasonCodes * // "CPUOverprovisioned" || "NetworkBandwidthOverprovisioned" || "EBSIOPSOverprovisioned" || "EBSIOPSUnderprovisioned" || "EBSThroughputOverprovisioned" || "CPUUnderprovisioned" || "NetworkBandwidthUnderprovisioned" || "EBSThroughputUnderprovisioned" || "NewGenerationDBInstanceClassAvailable" || "NewEngineVersionAvailable" || "DBClusterWriterUnderprovisioned" || "MemoryUnderprovisioned" || "InstanceStorageReadIOPSUnderprovisioned" || "InstanceStorageWriteIOPSUnderprovisioned", * // ], * // currentInstancePerformanceRisk: "VeryLow" || "Low" || "Medium" || "High", * // currentStorageEstimatedMonthlyVolumeIOPsCostVariation: "None" || "Low" || "Medium" || "High", * // storageFindingReasonCodes: [ // RDSStorageFindingReasonCodes * // "EBSVolumeAllocatedStorageUnderprovisioned" || "EBSVolumeThroughputUnderprovisioned" || "EBSVolumeIOPSOverprovisioned" || "EBSVolumeThroughputOverprovisioned" || "NewGenerationStorageTypeAvailable" || "DBClusterStorageOptionAvailable" || "DBClusterStorageSavingsAvailable", * // ], * // instanceRecommendationOptions: [ // RDSDBInstanceRecommendationOptions * // { // RDSDBInstanceRecommendationOption * // dbInstanceClass: "STRING_VALUE", * // projectedUtilizationMetrics: [ // RDSDBProjectedUtilizationMetrics * // { // RDSDBUtilizationMetric * // name: "CPU" || "Memory" || "EBSVolumeStorageSpaceUtilization" || "NetworkReceiveThroughput" || "NetworkTransmitThroughput" || "EBSVolumeReadIOPS" || "EBSVolumeWriteIOPS" || "EBSVolumeReadThroughput" || "EBSVolumeWriteThroughput" || "DatabaseConnections" || "StorageNetworkReceiveThroughput" || "StorageNetworkTransmitThroughput" || "AuroraMemoryHealthState" || "AuroraMemoryNumDeclinedSql" || "AuroraMemoryNumKillConnTotal" || "AuroraMemoryNumKillQueryTotal" || "ReadIOPSEphemeralStorage" || "WriteIOPSEphemeralStorage" || "VolumeReadIOPs" || "VolumeBytesUsed" || "VolumeWriteIOPs", * // statistic: "Maximum" || "Minimum" || "Average", * // value: Number("double"), * // }, * // ], * // performanceRisk: Number("double"), * // rank: Number("int"), * // savingsOpportunity: { // SavingsOpportunity * // savingsOpportunityPercentage: Number("double"), * // estimatedMonthlySavings: { // EstimatedMonthlySavings * // currency: "USD" || "CNY", * // value: Number("double"), * // }, * // }, * // savingsOpportunityAfterDiscounts: { // RDSInstanceSavingsOpportunityAfterDiscounts * // savingsOpportunityPercentage: Number("double"), * // estimatedMonthlySavings: { // RDSInstanceEstimatedMonthlySavings * // currency: "USD" || "CNY", * // value: Number("double"), * // }, * // }, * // }, * // ], * // storageRecommendationOptions: [ // RDSDBStorageRecommendationOptions * // { // RDSDBStorageRecommendationOption * // storageConfiguration: { * // storageType: "STRING_VALUE", * // allocatedStorage: Number("int"), * // iops: Number("int"), * // maxAllocatedStorage: Number("int"), * // storageThroughput: Number("int"), * // }, * // rank: Number("int"), * // savingsOpportunity: { * // savingsOpportunityPercentage: Number("double"), * // estimatedMonthlySavings: { * // currency: "USD" || "CNY", * // value: Number("double"), * // }, * // }, * // savingsOpportunityAfterDiscounts: { // RDSStorageSavingsOpportunityAfterDiscounts * // savingsOpportunityPercentage: Number("double"), * // estimatedMonthlySavings: { // RDSStorageEstimatedMonthlySavings * // currency: "USD" || "CNY", * // value: Number("double"), * // }, * // }, * // estimatedMonthlyVolumeIOPsCostVariation: "None" || "Low" || "Medium" || "High", * // }, * // ], * // utilizationMetrics: [ // RDSDBUtilizationMetrics * // { * // name: "CPU" || "Memory" || "EBSVolumeStorageSpaceUtilization" || "NetworkReceiveThroughput" || "NetworkTransmitThroughput" || "EBSVolumeReadIOPS" || "EBSVolumeWriteIOPS" || "EBSVolumeReadThroughput" || "EBSVolumeWriteThroughput" || "DatabaseConnections" || "StorageNetworkReceiveThroughput" || "StorageNetworkTransmitThroughput" || "AuroraMemoryHealthState" || "AuroraMemoryNumDeclinedSql" || "AuroraMemoryNumKillConnTotal" || "AuroraMemoryNumKillQueryTotal" || "ReadIOPSEphemeralStorage" || "WriteIOPSEphemeralStorage" || "VolumeReadIOPs" || "VolumeBytesUsed" || "VolumeWriteIOPs", * // statistic: "Maximum" || "Minimum" || "Average", * // value: Number("double"), * // }, * // ], * // effectiveRecommendationPreferences: { // RDSEffectiveRecommendationPreferences * // cpuVendorArchitectures: [ // CpuVendorArchitectures * // "AWS_ARM64" || "CURRENT", * // ], * // enhancedInfrastructureMetrics: "Active" || "Inactive", * // lookBackPeriod: "DAYS_14" || "DAYS_32" || "DAYS_93", * // savingsEstimationMode: { // RDSSavingsEstimationMode * // source: "PublicPricing" || "CostExplorerRightsizing" || "CostOptimizationHub", * // }, * // }, * // lookbackPeriodInDays: Number("double"), * // lastRefreshTimestamp: new Date("TIMESTAMP"), * // tags: [ // Tags * // { // Tag * // key: "STRING_VALUE", * // value: "STRING_VALUE", * // }, * // ], * // }, * // ], * // errors: [ // GetRecommendationErrors * // { // GetRecommendationError * // identifier: "STRING_VALUE", * // code: "STRING_VALUE", * // message: "STRING_VALUE", * // }, * // ], * // }; * * ``` * * @param GetRDSDatabaseRecommendationsCommandInput - {@link GetRDSDatabaseRecommendationsCommandInput} * @returns {@link GetRDSDatabaseRecommendationsCommandOutput} * @see {@link GetRDSDatabaseRecommendationsCommandInput} for command's `input` shape. * @see {@link GetRDSDatabaseRecommendationsCommandOutput} for command's `response` shape. * @see {@link ComputeOptimizerClientResolvedConfig | config} for ComputeOptimizerClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) *

You do not have sufficient access to perform this action.

* * @throws {@link InternalServerException} (server fault) *

An internal error has occurred. Try your call again.

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

The value supplied for the input parameter is out of range or not valid.

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

The request must contain either a valid (registered) Amazon Web Services access key ID * or X.509 certificate.

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

The account is not opted in to Compute Optimizer.

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

A resource that is required for the action doesn't exist.

* * @throws {@link ServiceUnavailableException} (server fault) *

The request has failed due to a temporary failure of the server.

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

The request was denied due to request throttling.

* * @throws {@link ComputeOptimizerServiceException} *

Base exception class for all service exceptions from ComputeOptimizer service.

* * * @public */ export declare class GetRDSDatabaseRecommendationsCommand extends GetRDSDatabaseRecommendationsCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: GetRDSDatabaseRecommendationsRequest; output: GetRDSDatabaseRecommendationsResponse; }; sdk: { input: GetRDSDatabaseRecommendationsCommandInput; output: GetRDSDatabaseRecommendationsCommandOutput; }; }; }