import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { GetIdleRecommendationsRequest, GetIdleRecommendationsResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link GetIdleRecommendationsCommand}. */ export interface GetIdleRecommendationsCommandInput extends GetIdleRecommendationsRequest { } /** * @public * * The output of {@link GetIdleRecommendationsCommand}. */ export interface GetIdleRecommendationsCommandOutput extends GetIdleRecommendationsResponse, __MetadataBearer { } declare const GetIdleRecommendationsCommand_base: { new (input: GetIdleRecommendationsCommandInput): import("@smithy/core/client").CommandImpl; new (...[input]: [] | [GetIdleRecommendationsCommandInput]): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

Returns idle resource recommendations. Compute Optimizer generates recommendations for * idle resources that meet a specific set of requirements. For more information, see * Resource 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, GetIdleRecommendationsCommand } from "@aws-sdk/client-compute-optimizer"; // ES Modules import * // const { ComputeOptimizerClient, GetIdleRecommendationsCommand } = 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 = { // GetIdleRecommendationsRequest * resourceArns: [ // ResourceArns * "STRING_VALUE", * ], * nextToken: "STRING_VALUE", * maxResults: Number("int"), * filters: [ // IdleRecommendationFilters * { // IdleRecommendationFilter * name: "Finding" || "ResourceType", * values: [ // FilterValues * "STRING_VALUE", * ], * }, * ], * accountIds: [ // AccountIds * "STRING_VALUE", * ], * orderBy: { // OrderBy * dimension: "SavingsValue" || "SavingsValueAfterDiscount", * order: "Asc" || "Desc", * }, * }; * const command = new GetIdleRecommendationsCommand(input); * const response = await client.send(command); * // { // GetIdleRecommendationsResponse * // nextToken: "STRING_VALUE", * // idleRecommendations: [ // IdleRecommendations * // { // IdleRecommendation * // resourceArn: "STRING_VALUE", * // resourceId: "STRING_VALUE", * // resourceType: "EC2Instance" || "AutoScalingGroup" || "EBSVolume" || "ECSService" || "RDSDBInstance" || "NatGateway" || "DynamoDBTable" || "ElastiCacheCluster" || "MemoryDBCluster" || "DocumentDBCluster" || "WorkSpaces" || "SageMakerEndpoint", * // accountId: "STRING_VALUE", * // finding: "Idle" || "Unattached" || "Unused", * // findingDescription: "STRING_VALUE", * // savingsOpportunity: { // IdleSavingsOpportunity * // savingsOpportunityPercentage: Number("double"), * // estimatedMonthlySavings: { // IdleEstimatedMonthlySavings * // currency: "USD" || "CNY", * // value: Number("double"), * // }, * // }, * // savingsOpportunityAfterDiscounts: { // IdleSavingsOpportunityAfterDiscounts * // savingsOpportunityPercentage: Number("double"), * // estimatedMonthlySavings: { * // currency: "USD" || "CNY", * // value: Number("double"), * // }, * // }, * // utilizationMetrics: [ // IdleUtilizationMetrics * // { // IdleUtilizationMetric * // name: "CPU" || "Memory" || "NetworkOutBytesPerSecond" || "NetworkInBytesPerSecond" || "DatabaseConnections" || "EBSVolumeReadIOPS" || "EBSVolumeWriteIOPS" || "VolumeReadOpsPerSecond" || "VolumeWriteOpsPerSecond" || "ActiveConnectionCount" || "PacketsInFromSource" || "PacketsInFromDestination" || "ConsumedReadCapacityUnits" || "ConsumedWriteCapacityUnits" || "ConsumedChangeDataCaptureUnits" || "NewConnections" || "EngineCPUUtilization" || "CacheHits" || "CacheMisses" || "KeyspaceHits" || "KeyspaceMisses" || "IsIdle" || "UserConnected" || "Invocations" || "GetTypeCmds" || "SetTypeCmds" || "ElastiCacheProcessingUnits" || "CurrConnections", * // statistic: "Maximum" || "Average", * // value: Number("double"), * // dimensions: [ // IdleDimensions * // { // IdleDimension * // key: "STRING_VALUE", * // values: [ // IdleDimensionValues * // "STRING_VALUE", * // ], * // }, * // ], * // }, * // ], * // lookBackPeriodInDays: Number("double"), * // lastRefreshTimestamp: new Date("TIMESTAMP"), * // tags: [ // Tags * // { // Tag * // key: "STRING_VALUE", * // value: "STRING_VALUE", * // }, * // ], * // }, * // ], * // errors: [ // IdleRecommendationErrors * // { // IdleRecommendationError * // identifier: "STRING_VALUE", * // code: "STRING_VALUE", * // message: "STRING_VALUE", * // resourceType: "EC2Instance" || "AutoScalingGroup" || "EBSVolume" || "ECSService" || "RDSDBInstance" || "NatGateway" || "DynamoDBTable" || "ElastiCacheCluster" || "MemoryDBCluster" || "DocumentDBCluster" || "WorkSpaces" || "SageMakerEndpoint", * // }, * // ], * // }; * * ``` * * @param GetIdleRecommendationsCommandInput - {@link GetIdleRecommendationsCommandInput} * @returns {@link GetIdleRecommendationsCommandOutput} * @see {@link GetIdleRecommendationsCommandInput} for command's `input` shape. * @see {@link GetIdleRecommendationsCommandOutput} 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 GetIdleRecommendationsCommand extends GetIdleRecommendationsCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: GetIdleRecommendationsRequest; output: GetIdleRecommendationsResponse; }; sdk: { input: GetIdleRecommendationsCommandInput; output: GetIdleRecommendationsCommandOutput; }; }; }