module Network.AWS.AutoScaling.Types
(
AutoScaling
, _LimitExceededFault
, _AlreadyExistsFault
, _ResourceInUseFault
, _InvalidNextToken
, _ScalingActivityInProgressFault
, _ResourceContentionFault
, LifecycleState (..)
, ScalingActivityStatusCode (..)
, Activity
, activity
, aProgress
, aStatusMessage
, aDetails
, aEndTime
, aDescription
, aActivityId
, aAutoScalingGroupName
, aCause
, aStartTime
, aStatusCode
, AdjustmentType
, adjustmentType
, atAdjustmentType
, Alarm
, alarm
, aAlarmName
, aAlarmARN
, AutoScalingGroup
, autoScalingGroup
, asgStatus
, asgTerminationPolicies
, asgHealthCheckGracePeriod
, asgVPCZoneIdentifier
, asgEnabledMetrics
, asgInstances
, asgAutoScalingGroupARN
, asgSuspendedProcesses
, asgPlacementGroup
, asgLoadBalancerNames
, asgTags
, asgAutoScalingGroupName
, asgLaunchConfigurationName
, asgMinSize
, asgMaxSize
, asgDesiredCapacity
, asgDefaultCooldown
, asgAvailabilityZones
, asgHealthCheckType
, asgCreatedTime
, AutoScalingInstanceDetails
, autoScalingInstanceDetails
, asidInstanceId
, asidAutoScalingGroupName
, asidAvailabilityZone
, asidLifecycleState
, asidHealthStatus
, asidLaunchConfigurationName
, BlockDeviceMapping
, blockDeviceMapping
, bdmVirtualName
, bdmNoDevice
, bdmEBS
, bdmDeviceName
, EBS
, ebs
, ebsDeleteOnTermination
, ebsVolumeSize
, ebsIOPS
, ebsVolumeType
, ebsSnapshotId
, EnabledMetric
, enabledMetric
, emGranularity
, emMetric
, Filter
, filter'
, fValues
, fName
, Instance
, instance'
, iInstanceId
, iAvailabilityZone
, iLifecycleState
, iHealthStatus
, iLaunchConfigurationName
, InstanceMonitoring
, instanceMonitoring
, imEnabled
, LaunchConfiguration
, launchConfiguration
, lcSecurityGroups
, lcAssociatePublicIPAddress
, lcInstanceMonitoring
, lcSpotPrice
, lcKeyName
, lcClassicLinkVPCSecurityGroups
, lcRAMDiskId
, lcKernelId
, lcEBSOptimized
, lcUserData
, lcClassicLinkVPCId
, lcIAMInstanceProfile
, lcLaunchConfigurationARN
, lcPlacementTenancy
, lcBlockDeviceMappings
, lcLaunchConfigurationName
, lcImageId
, lcInstanceType
, lcCreatedTime
, LifecycleHook
, lifecycleHook
, lhDefaultResult
, lhLifecycleHookName
, lhHeartbeatTimeout
, lhAutoScalingGroupName
, lhNotificationMetadata
, lhGlobalTimeout
, lhRoleARN
, lhLifecycleTransition
, lhNotificationTargetARN
, LoadBalancerState
, loadBalancerState
, lbsState
, lbsLoadBalancerName
, MetricCollectionType
, metricCollectionType
, mctMetric
, MetricGranularityType
, metricGranularityType
, mgtGranularity
, NotificationConfiguration
, notificationConfiguration
, ncTopicARN
, ncAutoScalingGroupName
, ncNotificationType
, ProcessType
, processType
, ptProcessName
, ScalingPolicy
, scalingPolicy
, sEstimatedInstanceWarmup
, sMinAdjustmentStep
, sPolicyName
, sPolicyType
, sStepAdjustments
, sAdjustmentType
, sScalingAdjustment
, sAutoScalingGroupName
, sCooldown
, sPolicyARN
, sAlarms
, sMetricAggregationType
, sMinAdjustmentMagnitude
, ScalingProcessQuery
, scalingProcessQuery
, spqScalingProcesses
, spqAutoScalingGroupName
, ScheduledUpdateGroupAction
, scheduledUpdateGroupAction
, sugaScheduledActionARN
, sugaTime
, sugaStartTime
, sugaScheduledActionName
, sugaMaxSize
, sugaDesiredCapacity
, sugaRecurrence
, sugaMinSize
, sugaEndTime
, sugaAutoScalingGroupName
, StepAdjustment
, stepAdjustment
, saMetricIntervalLowerBound
, saMetricIntervalUpperBound
, saScalingAdjustment
, SuspendedProcess
, suspendedProcess
, spProcessName
, spSuspensionReason
, Tag
, tag
, tagKey
, tagResourceId
, tagResourceType
, tagPropagateAtLaunch
, tagValue
, TagDescription
, tagDescription
, tdResourceId
, tdResourceType
, tdKey
, tdPropagateAtLaunch
, tdValue
) where
import Network.AWS.AutoScaling.Types.Product
import Network.AWS.AutoScaling.Types.Sum
import Network.AWS.Prelude
import Network.AWS.Sign.V4
data AutoScaling
instance AWSService AutoScaling where
type Sg AutoScaling = V4
service = const svc
where
svc =
Service
{ _svcAbbrev = "AutoScaling"
, _svcPrefix = "autoscaling"
, _svcVersion = "2011-01-01"
, _svcEndpoint = defaultEndpoint svc
, _svcTimeout = Just 70
, _svcStatus = statusSuccess
, _svcError = parseXMLError
, _svcRetry = retry
}
retry =
Exponential
{ _retryBase = 5.0e-2
, _retryGrowth = 2
, _retryAttempts = 5
, _retryCheck = check
}
check e
| has (hasCode "ThrottlingException" . hasStatus 400) e =
Just "throttling_exception"
| has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"
| has (hasStatus 503) e = Just "service_unavailable"
| has (hasStatus 500) e = Just "general_server_error"
| has (hasStatus 509) e = Just "limit_exceeded"
| otherwise = Nothing
_LimitExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
_LimitExceededFault = _ServiceError . hasStatus 400 . hasCode "LimitExceeded"
_AlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
_AlreadyExistsFault = _ServiceError . hasStatus 400 . hasCode "AlreadyExists"
_ResourceInUseFault :: AsError a => Getting (First ServiceError) a ServiceError
_ResourceInUseFault = _ServiceError . hasStatus 400 . hasCode "ResourceInUse"
_InvalidNextToken :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidNextToken = _ServiceError . hasStatus 400 . hasCode "InvalidNextToken"
_ScalingActivityInProgressFault :: AsError a => Getting (First ServiceError) a ServiceError
_ScalingActivityInProgressFault =
_ServiceError . hasStatus 400 . hasCode "ScalingActivityInProgress"
_ResourceContentionFault :: AsError a => Getting (First ServiceError) a ServiceError
_ResourceContentionFault =
_ServiceError . hasStatus 500 . hasCode "ResourceContention"