import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { GetAutoScalingGroupRecommendationsRequest, GetAutoScalingGroupRecommendationsResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link GetAutoScalingGroupRecommendationsCommand}. */ export interface GetAutoScalingGroupRecommendationsCommandInput extends GetAutoScalingGroupRecommendationsRequest { } /** * @public * * The output of {@link GetAutoScalingGroupRecommendationsCommand}. */ export interface GetAutoScalingGroupRecommendationsCommandOutput extends GetAutoScalingGroupRecommendationsResponse, __MetadataBearer { } declare const GetAutoScalingGroupRecommendationsCommand_base: { new (input: GetAutoScalingGroupRecommendationsCommandInput): import("@smithy/core/client").CommandImpl; new (...[input]: [] | [GetAutoScalingGroupRecommendationsCommandInput]): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

Returns Auto Scaling group recommendations.

*

Compute Optimizer generates recommendations for Amazon EC2 Auto Scaling groups 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, GetAutoScalingGroupRecommendationsCommand } from "@aws-sdk/client-compute-optimizer"; // ES Modules import * // const { ComputeOptimizerClient, GetAutoScalingGroupRecommendationsCommand } = 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 = { // GetAutoScalingGroupRecommendationsRequest * accountIds: [ // AccountIds * "STRING_VALUE", * ], * autoScalingGroupArns: [ // AutoScalingGroupArns * "STRING_VALUE", * ], * nextToken: "STRING_VALUE", * maxResults: Number("int"), * filters: [ // Filters * { // Filter * name: "Finding" || "FindingReasonCodes" || "RecommendationSourceType" || "InferredWorkloadTypes", * values: [ // FilterValues * "STRING_VALUE", * ], * }, * ], * recommendationPreferences: { // RecommendationPreferences * cpuVendorArchitectures: [ // CpuVendorArchitectures * "AWS_ARM64" || "CURRENT", * ], * }, * }; * const command = new GetAutoScalingGroupRecommendationsCommand(input); * const response = await client.send(command); * // { // GetAutoScalingGroupRecommendationsResponse * // nextToken: "STRING_VALUE", * // autoScalingGroupRecommendations: [ // AutoScalingGroupRecommendations * // { // AutoScalingGroupRecommendation * // accountId: "STRING_VALUE", * // autoScalingGroupArn: "STRING_VALUE", * // autoScalingGroupName: "STRING_VALUE", * // finding: "Underprovisioned" || "Overprovisioned" || "Optimized" || "NotOptimized", * // utilizationMetrics: [ // UtilizationMetrics * // { // UtilizationMetric * // name: "Cpu" || "Memory" || "EBS_READ_OPS_PER_SECOND" || "EBS_WRITE_OPS_PER_SECOND" || "EBS_READ_BYTES_PER_SECOND" || "EBS_WRITE_BYTES_PER_SECOND" || "DISK_READ_OPS_PER_SECOND" || "DISK_WRITE_OPS_PER_SECOND" || "DISK_READ_BYTES_PER_SECOND" || "DISK_WRITE_BYTES_PER_SECOND" || "NETWORK_IN_BYTES_PER_SECOND" || "NETWORK_OUT_BYTES_PER_SECOND" || "NETWORK_PACKETS_IN_PER_SECOND" || "NETWORK_PACKETS_OUT_PER_SECOND" || "GPU_PERCENTAGE" || "GPU_MEMORY_PERCENTAGE", * // statistic: "Maximum" || "Average", * // value: Number("double"), * // }, * // ], * // lookBackPeriodInDays: Number("double"), * // currentConfiguration: { // AutoScalingGroupConfiguration * // desiredCapacity: Number("int"), * // minSize: Number("int"), * // maxSize: Number("int"), * // instanceType: "STRING_VALUE", * // allocationStrategy: "Prioritized" || "LowestPrice", * // estimatedInstanceHourReductionPercentage: Number("double"), * // type: "SingleInstanceType" || "MixedInstanceTypes", * // mixedInstanceTypes: [ // MixedInstanceTypes * // "STRING_VALUE", * // ], * // }, * // currentInstanceGpuInfo: { // GpuInfo * // gpus: [ // Gpus * // { // Gpu * // gpuCount: Number("int"), * // gpuMemorySizeInMiB: Number("int"), * // }, * // ], * // }, * // recommendationOptions: [ // AutoScalingGroupRecommendationOptions * // { // AutoScalingGroupRecommendationOption * // configuration: { * // desiredCapacity: Number("int"), * // minSize: Number("int"), * // maxSize: Number("int"), * // instanceType: "STRING_VALUE", * // allocationStrategy: "Prioritized" || "LowestPrice", * // estimatedInstanceHourReductionPercentage: Number("double"), * // type: "SingleInstanceType" || "MixedInstanceTypes", * // mixedInstanceTypes: [ * // "STRING_VALUE", * // ], * // }, * // instanceGpuInfo: { * // gpus: [ * // { * // gpuCount: Number("int"), * // gpuMemorySizeInMiB: Number("int"), * // }, * // ], * // }, * // projectedUtilizationMetrics: [ // ProjectedUtilizationMetrics * // { * // name: "Cpu" || "Memory" || "EBS_READ_OPS_PER_SECOND" || "EBS_WRITE_OPS_PER_SECOND" || "EBS_READ_BYTES_PER_SECOND" || "EBS_WRITE_BYTES_PER_SECOND" || "DISK_READ_OPS_PER_SECOND" || "DISK_WRITE_OPS_PER_SECOND" || "DISK_READ_BYTES_PER_SECOND" || "DISK_WRITE_BYTES_PER_SECOND" || "NETWORK_IN_BYTES_PER_SECOND" || "NETWORK_OUT_BYTES_PER_SECOND" || "NETWORK_PACKETS_IN_PER_SECOND" || "NETWORK_PACKETS_OUT_PER_SECOND" || "GPU_PERCENTAGE" || "GPU_MEMORY_PERCENTAGE", * // statistic: "Maximum" || "Average", * // value: Number("double"), * // }, * // ], * // performanceRisk: Number("double"), * // rank: Number("int"), * // savingsOpportunity: { // SavingsOpportunity * // savingsOpportunityPercentage: Number("double"), * // estimatedMonthlySavings: { // EstimatedMonthlySavings * // currency: "USD" || "CNY", * // value: Number("double"), * // }, * // }, * // savingsOpportunityAfterDiscounts: { // AutoScalingGroupSavingsOpportunityAfterDiscounts * // savingsOpportunityPercentage: Number("double"), * // estimatedMonthlySavings: { // AutoScalingGroupEstimatedMonthlySavings * // currency: "USD" || "CNY", * // value: Number("double"), * // }, * // }, * // migrationEffort: "VeryLow" || "Low" || "Medium" || "High", * // }, * // ], * // lastRefreshTimestamp: new Date("TIMESTAMP"), * // currentPerformanceRisk: "VeryLow" || "Low" || "Medium" || "High", * // effectiveRecommendationPreferences: { // EffectiveRecommendationPreferences * // cpuVendorArchitectures: [ // CpuVendorArchitectures * // "AWS_ARM64" || "CURRENT", * // ], * // enhancedInfrastructureMetrics: "Active" || "Inactive", * // inferredWorkloadTypes: "Active" || "Inactive", * // externalMetricsPreference: { // ExternalMetricsPreference * // source: "Datadog" || "Dynatrace" || "NewRelic" || "Instana", * // }, * // lookBackPeriod: "DAYS_14" || "DAYS_32" || "DAYS_93", * // utilizationPreferences: [ // UtilizationPreferences * // { // UtilizationPreference * // metricName: "CpuUtilization" || "MemoryUtilization", * // metricParameters: { // CustomizableMetricParameters * // threshold: "P90" || "P95" || "P99_5", * // headroom: "PERCENT_30" || "PERCENT_20" || "PERCENT_10" || "PERCENT_0", * // }, * // }, * // ], * // preferredResources: [ // EffectivePreferredResources * // { // EffectivePreferredResource * // name: "Ec2InstanceTypes", * // includeList: [ // PreferredResourceValues * // "STRING_VALUE", * // ], * // effectiveIncludeList: [ * // "STRING_VALUE", * // ], * // excludeList: [ * // "STRING_VALUE", * // ], * // }, * // ], * // savingsEstimationMode: { // InstanceSavingsEstimationMode * // source: "PublicPricing" || "CostExplorerRightsizing" || "CostOptimizationHub", * // }, * // }, * // inferredWorkloadTypes: [ // InferredWorkloadTypes * // "AmazonEmr" || "ApacheCassandra" || "ApacheHadoop" || "Memcached" || "Nginx" || "PostgreSql" || "Redis" || "Kafka" || "SQLServer", * // ], * // }, * // ], * // errors: [ // GetRecommendationErrors * // { // GetRecommendationError * // identifier: "STRING_VALUE", * // code: "STRING_VALUE", * // message: "STRING_VALUE", * // }, * // ], * // }; * * ``` * * @param GetAutoScalingGroupRecommendationsCommandInput - {@link GetAutoScalingGroupRecommendationsCommandInput} * @returns {@link GetAutoScalingGroupRecommendationsCommandOutput} * @see {@link GetAutoScalingGroupRecommendationsCommandInput} for command's `input` shape. * @see {@link GetAutoScalingGroupRecommendationsCommandOutput} 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 GetAutoScalingGroupRecommendationsCommand extends GetAutoScalingGroupRecommendationsCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: GetAutoScalingGroupRecommendationsRequest; output: GetAutoScalingGroupRecommendationsResponse; }; sdk: { input: GetAutoScalingGroupRecommendationsCommandInput; output: GetAutoScalingGroupRecommendationsCommandOutput; }; }; }