{-# OPTIONS_GHC -fno-warn-duplicate-exports #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} -- | -- Module : Amazonka.ComputeOptimizer -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Derived from API version @2019-11-01@ of the AWS service descriptions, licensed under Apache 2.0. -- -- Compute Optimizer is a service that analyzes the configuration and -- utilization metrics of your Amazon Web Services compute resources, such -- as Amazon EC2 instances, Amazon EC2 Auto Scaling groups, Lambda -- functions, Amazon EBS volumes, and Amazon ECS services on Fargate. It -- reports whether your resources are optimal, and generates optimization -- recommendations to reduce the cost and improve the performance of your -- workloads. Compute Optimizer also provides recent utilization metric -- data, in addition to projected utilization metric data for the -- recommendations, which you can use to evaluate which recommendation -- provides the best price-performance trade-off. The analysis of your -- usage patterns can help you decide when to move or resize your running -- resources, and still meet your performance and capacity requirements. -- For more information about Compute Optimizer, including the required -- permissions to use the service, see the -- . module Amazonka.ComputeOptimizer ( -- * Service Configuration defaultService, -- * Errors -- $errors -- ** AccessDeniedException _AccessDeniedException, -- ** InternalServerException _InternalServerException, -- ** InvalidParameterValueException _InvalidParameterValueException, -- ** LimitExceededException _LimitExceededException, -- ** MissingAuthenticationToken _MissingAuthenticationToken, -- ** OptInRequiredException _OptInRequiredException, -- ** ResourceNotFoundException _ResourceNotFoundException, -- ** ServiceUnavailableException _ServiceUnavailableException, -- ** ThrottlingException _ThrottlingException, -- * Waiters -- $waiters -- * Operations -- $operations -- ** DeleteRecommendationPreferences DeleteRecommendationPreferences (DeleteRecommendationPreferences'), newDeleteRecommendationPreferences, DeleteRecommendationPreferencesResponse (DeleteRecommendationPreferencesResponse'), newDeleteRecommendationPreferencesResponse, -- ** DescribeRecommendationExportJobs (Paginated) DescribeRecommendationExportJobs (DescribeRecommendationExportJobs'), newDescribeRecommendationExportJobs, DescribeRecommendationExportJobsResponse (DescribeRecommendationExportJobsResponse'), newDescribeRecommendationExportJobsResponse, -- ** ExportAutoScalingGroupRecommendations ExportAutoScalingGroupRecommendations (ExportAutoScalingGroupRecommendations'), newExportAutoScalingGroupRecommendations, ExportAutoScalingGroupRecommendationsResponse (ExportAutoScalingGroupRecommendationsResponse'), newExportAutoScalingGroupRecommendationsResponse, -- ** ExportEBSVolumeRecommendations ExportEBSVolumeRecommendations (ExportEBSVolumeRecommendations'), newExportEBSVolumeRecommendations, ExportEBSVolumeRecommendationsResponse (ExportEBSVolumeRecommendationsResponse'), newExportEBSVolumeRecommendationsResponse, -- ** ExportEC2InstanceRecommendations ExportEC2InstanceRecommendations (ExportEC2InstanceRecommendations'), newExportEC2InstanceRecommendations, ExportEC2InstanceRecommendationsResponse (ExportEC2InstanceRecommendationsResponse'), newExportEC2InstanceRecommendationsResponse, -- ** ExportECSServiceRecommendations ExportECSServiceRecommendations (ExportECSServiceRecommendations'), newExportECSServiceRecommendations, ExportECSServiceRecommendationsResponse (ExportECSServiceRecommendationsResponse'), newExportECSServiceRecommendationsResponse, -- ** ExportLambdaFunctionRecommendations ExportLambdaFunctionRecommendations (ExportLambdaFunctionRecommendations'), newExportLambdaFunctionRecommendations, ExportLambdaFunctionRecommendationsResponse (ExportLambdaFunctionRecommendationsResponse'), newExportLambdaFunctionRecommendationsResponse, -- ** GetAutoScalingGroupRecommendations GetAutoScalingGroupRecommendations (GetAutoScalingGroupRecommendations'), newGetAutoScalingGroupRecommendations, GetAutoScalingGroupRecommendationsResponse (GetAutoScalingGroupRecommendationsResponse'), newGetAutoScalingGroupRecommendationsResponse, -- ** GetEBSVolumeRecommendations GetEBSVolumeRecommendations (GetEBSVolumeRecommendations'), newGetEBSVolumeRecommendations, GetEBSVolumeRecommendationsResponse (GetEBSVolumeRecommendationsResponse'), newGetEBSVolumeRecommendationsResponse, -- ** GetEC2InstanceRecommendations GetEC2InstanceRecommendations (GetEC2InstanceRecommendations'), newGetEC2InstanceRecommendations, GetEC2InstanceRecommendationsResponse (GetEC2InstanceRecommendationsResponse'), newGetEC2InstanceRecommendationsResponse, -- ** GetEC2RecommendationProjectedMetrics GetEC2RecommendationProjectedMetrics (GetEC2RecommendationProjectedMetrics'), newGetEC2RecommendationProjectedMetrics, GetEC2RecommendationProjectedMetricsResponse (GetEC2RecommendationProjectedMetricsResponse'), newGetEC2RecommendationProjectedMetricsResponse, -- ** GetECSServiceRecommendationProjectedMetrics GetECSServiceRecommendationProjectedMetrics (GetECSServiceRecommendationProjectedMetrics'), newGetECSServiceRecommendationProjectedMetrics, GetECSServiceRecommendationProjectedMetricsResponse (GetECSServiceRecommendationProjectedMetricsResponse'), newGetECSServiceRecommendationProjectedMetricsResponse, -- ** GetECSServiceRecommendations GetECSServiceRecommendations (GetECSServiceRecommendations'), newGetECSServiceRecommendations, GetECSServiceRecommendationsResponse (GetECSServiceRecommendationsResponse'), newGetECSServiceRecommendationsResponse, -- ** GetEffectiveRecommendationPreferences GetEffectiveRecommendationPreferences (GetEffectiveRecommendationPreferences'), newGetEffectiveRecommendationPreferences, GetEffectiveRecommendationPreferencesResponse (GetEffectiveRecommendationPreferencesResponse'), newGetEffectiveRecommendationPreferencesResponse, -- ** GetEnrollmentStatus GetEnrollmentStatus (GetEnrollmentStatus'), newGetEnrollmentStatus, GetEnrollmentStatusResponse (GetEnrollmentStatusResponse'), newGetEnrollmentStatusResponse, -- ** GetEnrollmentStatusesForOrganization (Paginated) GetEnrollmentStatusesForOrganization (GetEnrollmentStatusesForOrganization'), newGetEnrollmentStatusesForOrganization, GetEnrollmentStatusesForOrganizationResponse (GetEnrollmentStatusesForOrganizationResponse'), newGetEnrollmentStatusesForOrganizationResponse, -- ** GetLambdaFunctionRecommendations (Paginated) GetLambdaFunctionRecommendations (GetLambdaFunctionRecommendations'), newGetLambdaFunctionRecommendations, GetLambdaFunctionRecommendationsResponse (GetLambdaFunctionRecommendationsResponse'), newGetLambdaFunctionRecommendationsResponse, -- ** GetRecommendationPreferences (Paginated) GetRecommendationPreferences (GetRecommendationPreferences'), newGetRecommendationPreferences, GetRecommendationPreferencesResponse (GetRecommendationPreferencesResponse'), newGetRecommendationPreferencesResponse, -- ** GetRecommendationSummaries (Paginated) GetRecommendationSummaries (GetRecommendationSummaries'), newGetRecommendationSummaries, GetRecommendationSummariesResponse (GetRecommendationSummariesResponse'), newGetRecommendationSummariesResponse, -- ** PutRecommendationPreferences PutRecommendationPreferences (PutRecommendationPreferences'), newPutRecommendationPreferences, PutRecommendationPreferencesResponse (PutRecommendationPreferencesResponse'), newPutRecommendationPreferencesResponse, -- ** UpdateEnrollmentStatus UpdateEnrollmentStatus (UpdateEnrollmentStatus'), newUpdateEnrollmentStatus, UpdateEnrollmentStatusResponse (UpdateEnrollmentStatusResponse'), newUpdateEnrollmentStatusResponse, -- * Types -- ** AutoScalingConfiguration AutoScalingConfiguration (..), -- ** CpuVendorArchitecture CpuVendorArchitecture (..), -- ** Currency Currency (..), -- ** CurrentPerformanceRisk CurrentPerformanceRisk (..), -- ** EBSFilterName EBSFilterName (..), -- ** EBSFinding EBSFinding (..), -- ** EBSMetricName EBSMetricName (..), -- ** ECSServiceLaunchType ECSServiceLaunchType (..), -- ** ECSServiceMetricName ECSServiceMetricName (..), -- ** ECSServiceMetricStatistic ECSServiceMetricStatistic (..), -- ** ECSServiceRecommendationFilterName ECSServiceRecommendationFilterName (..), -- ** ECSServiceRecommendationFinding ECSServiceRecommendationFinding (..), -- ** ECSServiceRecommendationFindingReasonCode ECSServiceRecommendationFindingReasonCode (..), -- ** EnhancedInfrastructureMetrics EnhancedInfrastructureMetrics (..), -- ** EnrollmentFilterName EnrollmentFilterName (..), -- ** ExportableAutoScalingGroupField ExportableAutoScalingGroupField (..), -- ** ExportableECSServiceField ExportableECSServiceField (..), -- ** ExportableInstanceField ExportableInstanceField (..), -- ** ExportableLambdaFunctionField ExportableLambdaFunctionField (..), -- ** ExportableVolumeField ExportableVolumeField (..), -- ** ExternalMetricsSource ExternalMetricsSource (..), -- ** FileFormat FileFormat (..), -- ** FilterName FilterName (..), -- ** Finding Finding (..), -- ** FindingReasonCode FindingReasonCode (..), -- ** InferredWorkloadType InferredWorkloadType (..), -- ** InferredWorkloadTypesPreference InferredWorkloadTypesPreference (..), -- ** InstanceRecommendationFindingReasonCode InstanceRecommendationFindingReasonCode (..), -- ** JobFilterName JobFilterName (..), -- ** JobStatus JobStatus (..), -- ** LambdaFunctionMemoryMetricName LambdaFunctionMemoryMetricName (..), -- ** LambdaFunctionMemoryMetricStatistic LambdaFunctionMemoryMetricStatistic (..), -- ** LambdaFunctionMetricName LambdaFunctionMetricName (..), -- ** LambdaFunctionMetricStatistic LambdaFunctionMetricStatistic (..), -- ** LambdaFunctionRecommendationFilterName LambdaFunctionRecommendationFilterName (..), -- ** LambdaFunctionRecommendationFinding LambdaFunctionRecommendationFinding (..), -- ** LambdaFunctionRecommendationFindingReasonCode LambdaFunctionRecommendationFindingReasonCode (..), -- ** MetricName MetricName (..), -- ** MetricStatistic MetricStatistic (..), -- ** MigrationEffort MigrationEffort (..), -- ** PlatformDifference PlatformDifference (..), -- ** RecommendationPreferenceName RecommendationPreferenceName (..), -- ** RecommendationSourceType RecommendationSourceType (..), -- ** ResourceType ResourceType (..), -- ** ScopeName ScopeName (..), -- ** Status Status (..), -- ** AccountEnrollmentStatus AccountEnrollmentStatus (AccountEnrollmentStatus'), newAccountEnrollmentStatus, -- ** AutoScalingGroupConfiguration AutoScalingGroupConfiguration (AutoScalingGroupConfiguration'), newAutoScalingGroupConfiguration, -- ** AutoScalingGroupRecommendation AutoScalingGroupRecommendation (AutoScalingGroupRecommendation'), newAutoScalingGroupRecommendation, -- ** AutoScalingGroupRecommendationOption AutoScalingGroupRecommendationOption (AutoScalingGroupRecommendationOption'), newAutoScalingGroupRecommendationOption, -- ** ContainerConfiguration ContainerConfiguration (ContainerConfiguration'), newContainerConfiguration, -- ** ContainerRecommendation ContainerRecommendation (ContainerRecommendation'), newContainerRecommendation, -- ** CurrentPerformanceRiskRatings CurrentPerformanceRiskRatings (CurrentPerformanceRiskRatings'), newCurrentPerformanceRiskRatings, -- ** EBSFilter EBSFilter (EBSFilter'), newEBSFilter, -- ** EBSUtilizationMetric EBSUtilizationMetric (EBSUtilizationMetric'), newEBSUtilizationMetric, -- ** ECSServiceProjectedMetric ECSServiceProjectedMetric (ECSServiceProjectedMetric'), newECSServiceProjectedMetric, -- ** ECSServiceProjectedUtilizationMetric ECSServiceProjectedUtilizationMetric (ECSServiceProjectedUtilizationMetric'), newECSServiceProjectedUtilizationMetric, -- ** ECSServiceRecommendation ECSServiceRecommendation (ECSServiceRecommendation'), newECSServiceRecommendation, -- ** ECSServiceRecommendationFilter ECSServiceRecommendationFilter (ECSServiceRecommendationFilter'), newECSServiceRecommendationFilter, -- ** ECSServiceRecommendationOption ECSServiceRecommendationOption (ECSServiceRecommendationOption'), newECSServiceRecommendationOption, -- ** ECSServiceRecommendedOptionProjectedMetric ECSServiceRecommendedOptionProjectedMetric (ECSServiceRecommendedOptionProjectedMetric'), newECSServiceRecommendedOptionProjectedMetric, -- ** ECSServiceUtilizationMetric ECSServiceUtilizationMetric (ECSServiceUtilizationMetric'), newECSServiceUtilizationMetric, -- ** EffectiveRecommendationPreferences EffectiveRecommendationPreferences (EffectiveRecommendationPreferences'), newEffectiveRecommendationPreferences, -- ** EnrollmentFilter EnrollmentFilter (EnrollmentFilter'), newEnrollmentFilter, -- ** EstimatedMonthlySavings EstimatedMonthlySavings (EstimatedMonthlySavings'), newEstimatedMonthlySavings, -- ** ExportDestination ExportDestination (ExportDestination'), newExportDestination, -- ** ExternalMetricsPreference ExternalMetricsPreference (ExternalMetricsPreference'), newExternalMetricsPreference, -- ** Filter Filter (Filter'), newFilter, -- ** GetRecommendationError GetRecommendationError (GetRecommendationError'), newGetRecommendationError, -- ** InstanceRecommendation InstanceRecommendation (InstanceRecommendation'), newInstanceRecommendation, -- ** InstanceRecommendationOption InstanceRecommendationOption (InstanceRecommendationOption'), newInstanceRecommendationOption, -- ** JobFilter JobFilter (JobFilter'), newJobFilter, -- ** LambdaFunctionMemoryProjectedMetric LambdaFunctionMemoryProjectedMetric (LambdaFunctionMemoryProjectedMetric'), newLambdaFunctionMemoryProjectedMetric, -- ** LambdaFunctionMemoryRecommendationOption LambdaFunctionMemoryRecommendationOption (LambdaFunctionMemoryRecommendationOption'), newLambdaFunctionMemoryRecommendationOption, -- ** LambdaFunctionRecommendation LambdaFunctionRecommendation (LambdaFunctionRecommendation'), newLambdaFunctionRecommendation, -- ** LambdaFunctionRecommendationFilter LambdaFunctionRecommendationFilter (LambdaFunctionRecommendationFilter'), newLambdaFunctionRecommendationFilter, -- ** LambdaFunctionUtilizationMetric LambdaFunctionUtilizationMetric (LambdaFunctionUtilizationMetric'), newLambdaFunctionUtilizationMetric, -- ** MemorySizeConfiguration MemorySizeConfiguration (MemorySizeConfiguration'), newMemorySizeConfiguration, -- ** ProjectedMetric ProjectedMetric (ProjectedMetric'), newProjectedMetric, -- ** ReasonCodeSummary ReasonCodeSummary (ReasonCodeSummary'), newReasonCodeSummary, -- ** RecommendationExportJob RecommendationExportJob (RecommendationExportJob'), newRecommendationExportJob, -- ** RecommendationPreferences RecommendationPreferences (RecommendationPreferences'), newRecommendationPreferences, -- ** RecommendationPreferencesDetail RecommendationPreferencesDetail (RecommendationPreferencesDetail'), newRecommendationPreferencesDetail, -- ** RecommendationSource RecommendationSource (RecommendationSource'), newRecommendationSource, -- ** RecommendationSummary RecommendationSummary (RecommendationSummary'), newRecommendationSummary, -- ** RecommendedOptionProjectedMetric RecommendedOptionProjectedMetric (RecommendedOptionProjectedMetric'), newRecommendedOptionProjectedMetric, -- ** S3Destination S3Destination (S3Destination'), newS3Destination, -- ** S3DestinationConfig S3DestinationConfig (S3DestinationConfig'), newS3DestinationConfig, -- ** SavingsOpportunity SavingsOpportunity (SavingsOpportunity'), newSavingsOpportunity, -- ** Scope Scope (Scope'), newScope, -- ** ServiceConfiguration ServiceConfiguration (ServiceConfiguration'), newServiceConfiguration, -- ** Summary Summary (Summary'), newSummary, -- ** UtilizationMetric UtilizationMetric (UtilizationMetric'), newUtilizationMetric, -- ** VolumeConfiguration VolumeConfiguration (VolumeConfiguration'), newVolumeConfiguration, -- ** VolumeRecommendation VolumeRecommendation (VolumeRecommendation'), newVolumeRecommendation, -- ** VolumeRecommendationOption VolumeRecommendationOption (VolumeRecommendationOption'), newVolumeRecommendationOption, ) where import Amazonka.ComputeOptimizer.DeleteRecommendationPreferences import Amazonka.ComputeOptimizer.DescribeRecommendationExportJobs import Amazonka.ComputeOptimizer.ExportAutoScalingGroupRecommendations import Amazonka.ComputeOptimizer.ExportEBSVolumeRecommendations import Amazonka.ComputeOptimizer.ExportEC2InstanceRecommendations import Amazonka.ComputeOptimizer.ExportECSServiceRecommendations import Amazonka.ComputeOptimizer.ExportLambdaFunctionRecommendations import Amazonka.ComputeOptimizer.GetAutoScalingGroupRecommendations import Amazonka.ComputeOptimizer.GetEBSVolumeRecommendations import Amazonka.ComputeOptimizer.GetEC2InstanceRecommendations import Amazonka.ComputeOptimizer.GetEC2RecommendationProjectedMetrics import Amazonka.ComputeOptimizer.GetECSServiceRecommendationProjectedMetrics import Amazonka.ComputeOptimizer.GetECSServiceRecommendations import Amazonka.ComputeOptimizer.GetEffectiveRecommendationPreferences import Amazonka.ComputeOptimizer.GetEnrollmentStatus import Amazonka.ComputeOptimizer.GetEnrollmentStatusesForOrganization import Amazonka.ComputeOptimizer.GetLambdaFunctionRecommendations import Amazonka.ComputeOptimizer.GetRecommendationPreferences import Amazonka.ComputeOptimizer.GetRecommendationSummaries import Amazonka.ComputeOptimizer.Lens import Amazonka.ComputeOptimizer.PutRecommendationPreferences import Amazonka.ComputeOptimizer.Types import Amazonka.ComputeOptimizer.UpdateEnrollmentStatus import Amazonka.ComputeOptimizer.Waiters -- $errors -- Error matchers are designed for use with the functions provided by -- . -- This allows catching (and rethrowing) service specific errors returned -- by 'ComputeOptimizer'. -- $operations -- Some AWS operations return results that are incomplete and require subsequent -- requests in order to obtain the entire result set. The process of sending -- subsequent requests to continue where a previous request left off is called -- pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to -- 1000 objects at a time, and you must send subsequent requests with the -- appropriate Marker in order to retrieve the next page of results. -- -- Operations that have an 'AWSPager' instance can transparently perform subsequent -- requests, correctly setting Markers and other request facets to iterate through -- the entire result set of a truncated API operation. Operations which support -- this have an additional note in the documentation. -- -- Many operations have the ability to filter results on the server side. See the -- individual operation parameters for details. -- $waiters -- Waiters poll by repeatedly sending a request until some remote success condition -- configured by the 'Wait' specification is fulfilled. The 'Wait' specification -- determines how many attempts should be made, in addition to delay and retry strategies.