{-# OPTIONS_GHC -fno-warn-duplicate-exports #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} -- | -- Module : Amazonka.ApplicationAutoScaling -- Copyright : (c) 2013-2021 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Derived from API version @2016-02-06@ of the AWS service descriptions, licensed under Apache 2.0. -- -- With Application Auto Scaling, you can configure automatic scaling for -- the following resources: -- -- - Amazon AppStream 2.0 fleets -- -- - Amazon Aurora Replicas -- -- - Amazon Comprehend document classification and entity recognizer -- endpoints -- -- - Amazon DynamoDB tables and global secondary indexes throughput -- capacity -- -- - Amazon ECS services -- -- - Amazon ElastiCache for Redis clusters (replication groups) -- -- - Amazon EMR clusters -- -- - Amazon Keyspaces (for Apache Cassandra) tables -- -- - Lambda function provisioned concurrency -- -- - Amazon Managed Streaming for Apache Kafka broker storage -- -- - Amazon Neptune clusters -- -- - Amazon SageMaker endpoint variants -- -- - Spot Fleets (Amazon EC2) -- -- - Custom resources provided by your own applications or services -- -- __API Summary__ -- -- The Application Auto Scaling service API includes three key sets of -- actions: -- -- - Register and manage scalable targets - Register Amazon Web Services -- or custom resources as scalable targets (a resource that Application -- Auto Scaling can scale), set minimum and maximum capacity limits, -- and retrieve information on existing scalable targets. -- -- - Configure and manage automatic scaling - Define scaling policies to -- dynamically scale your resources in response to CloudWatch alarms, -- schedule one-time or recurring scaling actions, and retrieve your -- recent scaling activity history. -- -- - Suspend and resume scaling - Temporarily suspend and later resume -- automatic scaling by calling the -- <https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html RegisterScalableTarget> -- API action for any Application Auto Scaling scalable target. You can -- suspend and resume (individually or in combination) scale-out -- activities that are triggered by a scaling policy, scale-in -- activities that are triggered by a scaling policy, and scheduled -- scaling. -- -- To learn more about Application Auto Scaling, including information -- about granting IAM users required permissions for Application Auto -- Scaling actions, see the -- <https://docs.aws.amazon.com/autoscaling/application/userguide/what-is-application-auto-scaling.html Application Auto Scaling User Guide>. module Amazonka.ApplicationAutoScaling ( -- * Service Configuration defaultService, -- * Errors -- $errors -- ** ValidationException _ValidationException, -- ** FailedResourceAccessException _FailedResourceAccessException, -- ** InvalidNextTokenException _InvalidNextTokenException, -- ** ConcurrentUpdateException _ConcurrentUpdateException, -- ** InternalServiceException _InternalServiceException, -- ** ObjectNotFoundException _ObjectNotFoundException, -- ** LimitExceededException _LimitExceededException, -- * Waiters -- $waiters -- * Operations -- $operations -- ** DeleteScalingPolicy DeleteScalingPolicy (DeleteScalingPolicy'), newDeleteScalingPolicy, DeleteScalingPolicyResponse (DeleteScalingPolicyResponse'), newDeleteScalingPolicyResponse, -- ** PutScalingPolicy PutScalingPolicy (PutScalingPolicy'), newPutScalingPolicy, PutScalingPolicyResponse (PutScalingPolicyResponse'), newPutScalingPolicyResponse, -- ** RegisterScalableTarget RegisterScalableTarget (RegisterScalableTarget'), newRegisterScalableTarget, RegisterScalableTargetResponse (RegisterScalableTargetResponse'), newRegisterScalableTargetResponse, -- ** DescribeScalingPolicies (Paginated) DescribeScalingPolicies (DescribeScalingPolicies'), newDescribeScalingPolicies, DescribeScalingPoliciesResponse (DescribeScalingPoliciesResponse'), newDescribeScalingPoliciesResponse, -- ** PutScheduledAction PutScheduledAction (PutScheduledAction'), newPutScheduledAction, PutScheduledActionResponse (PutScheduledActionResponse'), newPutScheduledActionResponse, -- ** DeleteScheduledAction DeleteScheduledAction (DeleteScheduledAction'), newDeleteScheduledAction, DeleteScheduledActionResponse (DeleteScheduledActionResponse'), newDeleteScheduledActionResponse, -- ** DescribeScheduledActions (Paginated) DescribeScheduledActions (DescribeScheduledActions'), newDescribeScheduledActions, DescribeScheduledActionsResponse (DescribeScheduledActionsResponse'), newDescribeScheduledActionsResponse, -- ** DescribeScalableTargets (Paginated) DescribeScalableTargets (DescribeScalableTargets'), newDescribeScalableTargets, DescribeScalableTargetsResponse (DescribeScalableTargetsResponse'), newDescribeScalableTargetsResponse, -- ** DescribeScalingActivities (Paginated) DescribeScalingActivities (DescribeScalingActivities'), newDescribeScalingActivities, DescribeScalingActivitiesResponse (DescribeScalingActivitiesResponse'), newDescribeScalingActivitiesResponse, -- ** DeregisterScalableTarget DeregisterScalableTarget (DeregisterScalableTarget'), newDeregisterScalableTarget, DeregisterScalableTargetResponse (DeregisterScalableTargetResponse'), newDeregisterScalableTargetResponse, -- * Types -- ** AdjustmentType AdjustmentType (..), -- ** MetricAggregationType MetricAggregationType (..), -- ** MetricStatistic MetricStatistic (..), -- ** MetricType MetricType (..), -- ** PolicyType PolicyType (..), -- ** ScalableDimension ScalableDimension (..), -- ** ScalingActivityStatusCode ScalingActivityStatusCode (..), -- ** ServiceNamespace ServiceNamespace (..), -- ** Alarm Alarm (Alarm'), newAlarm, -- ** CustomizedMetricSpecification CustomizedMetricSpecification (CustomizedMetricSpecification'), newCustomizedMetricSpecification, -- ** MetricDimension MetricDimension (MetricDimension'), newMetricDimension, -- ** PredefinedMetricSpecification PredefinedMetricSpecification (PredefinedMetricSpecification'), newPredefinedMetricSpecification, -- ** ScalableTarget ScalableTarget (ScalableTarget'), newScalableTarget, -- ** ScalableTargetAction ScalableTargetAction (ScalableTargetAction'), newScalableTargetAction, -- ** ScalingActivity ScalingActivity (ScalingActivity'), newScalingActivity, -- ** ScalingPolicy ScalingPolicy (ScalingPolicy'), newScalingPolicy, -- ** ScheduledAction ScheduledAction (ScheduledAction'), newScheduledAction, -- ** StepAdjustment StepAdjustment (StepAdjustment'), newStepAdjustment, -- ** StepScalingPolicyConfiguration StepScalingPolicyConfiguration (StepScalingPolicyConfiguration'), newStepScalingPolicyConfiguration, -- ** SuspendedState SuspendedState (SuspendedState'), newSuspendedState, -- ** TargetTrackingScalingPolicyConfiguration TargetTrackingScalingPolicyConfiguration (TargetTrackingScalingPolicyConfiguration'), newTargetTrackingScalingPolicyConfiguration, ) where import Amazonka.ApplicationAutoScaling.DeleteScalingPolicy import Amazonka.ApplicationAutoScaling.DeleteScheduledAction import Amazonka.ApplicationAutoScaling.DeregisterScalableTarget import Amazonka.ApplicationAutoScaling.DescribeScalableTargets import Amazonka.ApplicationAutoScaling.DescribeScalingActivities import Amazonka.ApplicationAutoScaling.DescribeScalingPolicies import Amazonka.ApplicationAutoScaling.DescribeScheduledActions import Amazonka.ApplicationAutoScaling.Lens import Amazonka.ApplicationAutoScaling.PutScalingPolicy import Amazonka.ApplicationAutoScaling.PutScheduledAction import Amazonka.ApplicationAutoScaling.RegisterScalableTarget import Amazonka.ApplicationAutoScaling.Types import Amazonka.ApplicationAutoScaling.Waiters -- $errors -- Error matchers are designed for use with the functions provided by -- <http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>. -- This allows catching (and rethrowing) service specific errors returned -- by 'ApplicationAutoScaling'. -- $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.