{-# LANGUAGE DisambiguateRecordFields #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE NoImplicitPrelude #-} {-# OPTIONS_GHC -fno-warn-unused-matches #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Amazonka.ApplicationAutoScaling.Types -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) module Amazonka.ApplicationAutoScaling.Types ( -- * Service Configuration defaultService, -- * Errors _ConcurrentUpdateException, _FailedResourceAccessException, _InternalServiceException, _InvalidNextTokenException, _LimitExceededException, _ObjectNotFoundException, _ValidationException, -- * AdjustmentType AdjustmentType (..), -- * MetricAggregationType MetricAggregationType (..), -- * MetricStatistic MetricStatistic (..), -- * MetricType MetricType (..), -- * PolicyType PolicyType (..), -- * ScalableDimension ScalableDimension (..), -- * ScalingActivityStatusCode ScalingActivityStatusCode (..), -- * ServiceNamespace ServiceNamespace (..), -- * Alarm Alarm (..), newAlarm, alarm_alarmName, alarm_alarmARN, -- * CustomizedMetricSpecification CustomizedMetricSpecification (..), newCustomizedMetricSpecification, customizedMetricSpecification_dimensions, customizedMetricSpecification_unit, customizedMetricSpecification_metricName, customizedMetricSpecification_namespace, customizedMetricSpecification_statistic, -- * MetricDimension MetricDimension (..), newMetricDimension, metricDimension_name, metricDimension_value, -- * NotScaledReason NotScaledReason (..), newNotScaledReason, notScaledReason_currentCapacity, notScaledReason_maxCapacity, notScaledReason_minCapacity, notScaledReason_code, -- * PredefinedMetricSpecification PredefinedMetricSpecification (..), newPredefinedMetricSpecification, predefinedMetricSpecification_resourceLabel, predefinedMetricSpecification_predefinedMetricType, -- * ScalableTarget ScalableTarget (..), newScalableTarget, scalableTarget_suspendedState, scalableTarget_serviceNamespace, scalableTarget_resourceId, scalableTarget_scalableDimension, scalableTarget_minCapacity, scalableTarget_maxCapacity, scalableTarget_roleARN, scalableTarget_creationTime, -- * ScalableTargetAction ScalableTargetAction (..), newScalableTargetAction, scalableTargetAction_maxCapacity, scalableTargetAction_minCapacity, -- * ScalingActivity ScalingActivity (..), newScalingActivity, scalingActivity_details, scalingActivity_endTime, scalingActivity_notScaledReasons, scalingActivity_statusMessage, scalingActivity_activityId, scalingActivity_serviceNamespace, scalingActivity_resourceId, scalingActivity_scalableDimension, scalingActivity_description, scalingActivity_cause, scalingActivity_startTime, scalingActivity_statusCode, -- * ScalingPolicy ScalingPolicy (..), newScalingPolicy, scalingPolicy_alarms, scalingPolicy_stepScalingPolicyConfiguration, scalingPolicy_targetTrackingScalingPolicyConfiguration, scalingPolicy_policyARN, scalingPolicy_policyName, scalingPolicy_serviceNamespace, scalingPolicy_resourceId, scalingPolicy_scalableDimension, scalingPolicy_policyType, scalingPolicy_creationTime, -- * ScheduledAction ScheduledAction (..), newScheduledAction, scheduledAction_endTime, scheduledAction_scalableDimension, scheduledAction_scalableTargetAction, scheduledAction_startTime, scheduledAction_timezone, scheduledAction_scheduledActionName, scheduledAction_scheduledActionARN, scheduledAction_serviceNamespace, scheduledAction_schedule, scheduledAction_resourceId, scheduledAction_creationTime, -- * StepAdjustment StepAdjustment (..), newStepAdjustment, stepAdjustment_metricIntervalLowerBound, stepAdjustment_metricIntervalUpperBound, stepAdjustment_scalingAdjustment, -- * StepScalingPolicyConfiguration StepScalingPolicyConfiguration (..), newStepScalingPolicyConfiguration, stepScalingPolicyConfiguration_adjustmentType, stepScalingPolicyConfiguration_cooldown, stepScalingPolicyConfiguration_metricAggregationType, stepScalingPolicyConfiguration_minAdjustmentMagnitude, stepScalingPolicyConfiguration_stepAdjustments, -- * SuspendedState SuspendedState (..), newSuspendedState, suspendedState_dynamicScalingInSuspended, suspendedState_dynamicScalingOutSuspended, suspendedState_scheduledScalingSuspended, -- * TargetTrackingScalingPolicyConfiguration TargetTrackingScalingPolicyConfiguration (..), newTargetTrackingScalingPolicyConfiguration, targetTrackingScalingPolicyConfiguration_customizedMetricSpecification, targetTrackingScalingPolicyConfiguration_disableScaleIn, targetTrackingScalingPolicyConfiguration_predefinedMetricSpecification, targetTrackingScalingPolicyConfiguration_scaleInCooldown, targetTrackingScalingPolicyConfiguration_scaleOutCooldown, targetTrackingScalingPolicyConfiguration_targetValue, ) where import Amazonka.ApplicationAutoScaling.Types.AdjustmentType import Amazonka.ApplicationAutoScaling.Types.Alarm import Amazonka.ApplicationAutoScaling.Types.CustomizedMetricSpecification import Amazonka.ApplicationAutoScaling.Types.MetricAggregationType import Amazonka.ApplicationAutoScaling.Types.MetricDimension import Amazonka.ApplicationAutoScaling.Types.MetricStatistic import Amazonka.ApplicationAutoScaling.Types.MetricType import Amazonka.ApplicationAutoScaling.Types.NotScaledReason import Amazonka.ApplicationAutoScaling.Types.PolicyType import Amazonka.ApplicationAutoScaling.Types.PredefinedMetricSpecification import Amazonka.ApplicationAutoScaling.Types.ScalableDimension import Amazonka.ApplicationAutoScaling.Types.ScalableTarget import Amazonka.ApplicationAutoScaling.Types.ScalableTargetAction import Amazonka.ApplicationAutoScaling.Types.ScalingActivity import Amazonka.ApplicationAutoScaling.Types.ScalingActivityStatusCode import Amazonka.ApplicationAutoScaling.Types.ScalingPolicy import Amazonka.ApplicationAutoScaling.Types.ScheduledAction import Amazonka.ApplicationAutoScaling.Types.ServiceNamespace import Amazonka.ApplicationAutoScaling.Types.StepAdjustment import Amazonka.ApplicationAutoScaling.Types.StepScalingPolicyConfiguration import Amazonka.ApplicationAutoScaling.Types.SuspendedState import Amazonka.ApplicationAutoScaling.Types.TargetTrackingScalingPolicyConfiguration import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import qualified Amazonka.Prelude as Prelude import qualified Amazonka.Sign.V4 as Sign -- | API version @2016-02-06@ of the Amazon Application Auto Scaling SDK configuration. defaultService :: Core.Service defaultService = Core.Service { Core.abbrev = "ApplicationAutoScaling", Core.signer = Sign.v4, Core.endpointPrefix = "application-autoscaling", Core.signingName = "application-autoscaling", Core.version = "2016-02-06", Core.s3AddressingStyle = Core.S3AddressingStyleAuto, Core.endpoint = Core.defaultEndpoint defaultService, Core.timeout = Prelude.Just 70, Core.check = Core.statusSuccess, Core.error = Core.parseJSONError "ApplicationAutoScaling", Core.retry = retry } where retry = Core.Exponential { Core.base = 5.0e-2, Core.growth = 2, Core.attempts = 5, Core.check = check } check e | Lens.has (Core.hasStatus 502) e = Prelude.Just "bad_gateway" | Lens.has (Core.hasStatus 504) e = Prelude.Just "gateway_timeout" | Lens.has (Core.hasStatus 500) e = Prelude.Just "general_server_error" | Lens.has (Core.hasStatus 509) e = Prelude.Just "limit_exceeded" | Lens.has ( Core.hasCode "RequestThrottledException" Prelude.. Core.hasStatus 400 ) e = Prelude.Just "request_throttled_exception" | Lens.has (Core.hasStatus 503) e = Prelude.Just "service_unavailable" | Lens.has ( Core.hasCode "ThrottledException" Prelude.. Core.hasStatus 400 ) e = Prelude.Just "throttled_exception" | Lens.has ( Core.hasCode "Throttling" Prelude.. Core.hasStatus 400 ) e = Prelude.Just "throttling" | Lens.has ( Core.hasCode "ThrottlingException" Prelude.. Core.hasStatus 400 ) e = Prelude.Just "throttling_exception" | Lens.has ( Core.hasCode "ProvisionedThroughputExceededException" Prelude.. Core.hasStatus 400 ) e = Prelude.Just "throughput_exceeded" | Lens.has (Core.hasStatus 429) e = Prelude.Just "too_many_requests" | Prelude.otherwise = Prelude.Nothing -- | Concurrent updates caused an exception, for example, if you request an -- update to an Application Auto Scaling resource that already has a -- pending update. _ConcurrentUpdateException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _ConcurrentUpdateException = Core._MatchServiceError defaultService "ConcurrentUpdateException" -- | Failed access to resources caused an exception. This exception is thrown -- when Application Auto Scaling is unable to retrieve the alarms -- associated with a scaling policy due to a client error, for example, if -- the role ARN specified for a scalable target does not have permission to -- call the CloudWatch -- -- on your behalf. _FailedResourceAccessException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _FailedResourceAccessException = Core._MatchServiceError defaultService "FailedResourceAccessException" -- | The service encountered an internal error. _InternalServiceException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _InternalServiceException = Core._MatchServiceError defaultService "InternalServiceException" -- | The next token supplied was invalid. _InvalidNextTokenException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _InvalidNextTokenException = Core._MatchServiceError defaultService "InvalidNextTokenException" -- | A per-account resource limit is exceeded. For more information, see -- . _LimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _LimitExceededException = Core._MatchServiceError defaultService "LimitExceededException" -- | The specified object could not be found. For any operation that depends -- on the existence of a scalable target, this exception is thrown if the -- scalable target with the specified service namespace, resource ID, and -- scalable dimension does not exist. For any operation that deletes or -- deregisters a resource, this exception is thrown if the resource cannot -- be found. _ObjectNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _ObjectNotFoundException = Core._MatchServiceError defaultService "ObjectNotFoundException" -- | An exception was thrown for a validation issue. Review the available -- parameters for the API request. _ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError _ValidationException = Core._MatchServiceError defaultService "ValidationException"