Copyright | (c) 2013-2016 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay <brendan.g.hay@gmail.com> |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Language | Haskell2010 |
- Service Configuration
- Errors
- LifecycleState
- ScalingActivityStatusCode
- Activity
- AdjustmentType
- Alarm
- AutoScalingGroup
- AutoScalingInstanceDetails
- BlockDeviceMapping
- EBS
- EnabledMetric
- Filter
- Instance
- InstanceMonitoring
- LaunchConfiguration
- LifecycleHook
- LoadBalancerState
- MetricCollectionType
- MetricGranularityType
- NotificationConfiguration
- ProcessType
- ScalingPolicy
- ScalingProcessQuery
- ScheduledUpdateGroupAction
- StepAdjustment
- SuspendedProcess
- Tag
- TagDescription
- autoScaling :: Service
- _AlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
- _LimitExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
- _ResourceInUseFault :: AsError a => Getting (First ServiceError) a ServiceError
- _InvalidNextToken :: AsError a => Getting (First ServiceError) a ServiceError
- _ScalingActivityInProgressFault :: AsError a => Getting (First ServiceError) a ServiceError
- _ResourceContentionFault :: AsError a => Getting (First ServiceError) a ServiceError
- data LifecycleState
- data ScalingActivityStatusCode
- data Activity
- activity :: Text -> Text -> Text -> UTCTime -> ScalingActivityStatusCode -> Activity
- aProgress :: Lens' Activity (Maybe Int)
- aStatusMessage :: Lens' Activity (Maybe Text)
- aEndTime :: Lens' Activity (Maybe UTCTime)
- aDetails :: Lens' Activity (Maybe Text)
- aDescription :: Lens' Activity (Maybe Text)
- aActivityId :: Lens' Activity Text
- aAutoScalingGroupName :: Lens' Activity Text
- aCause :: Lens' Activity Text
- aStartTime :: Lens' Activity UTCTime
- aStatusCode :: Lens' Activity ScalingActivityStatusCode
- data AdjustmentType
- adjustmentType :: AdjustmentType
- atAdjustmentType :: Lens' AdjustmentType (Maybe Text)
- data Alarm
- alarm :: Alarm
- aAlarmName :: Lens' Alarm (Maybe Text)
- aAlarmARN :: Lens' Alarm (Maybe Text)
- data AutoScalingGroup
- autoScalingGroup :: Text -> Int -> Int -> Int -> Int -> NonEmpty Text -> Text -> UTCTime -> AutoScalingGroup
- asgStatus :: Lens' AutoScalingGroup (Maybe Text)
- asgTerminationPolicies :: Lens' AutoScalingGroup [Text]
- asgHealthCheckGracePeriod :: Lens' AutoScalingGroup (Maybe Int)
- asgNewInstancesProtectedFromScaleIn :: Lens' AutoScalingGroup (Maybe Bool)
- asgVPCZoneIdentifier :: Lens' AutoScalingGroup (Maybe Text)
- asgEnabledMetrics :: Lens' AutoScalingGroup [EnabledMetric]
- asgLaunchConfigurationName :: Lens' AutoScalingGroup (Maybe Text)
- asgInstances :: Lens' AutoScalingGroup [Instance]
- asgAutoScalingGroupARN :: Lens' AutoScalingGroup (Maybe Text)
- asgPlacementGroup :: Lens' AutoScalingGroup (Maybe Text)
- asgSuspendedProcesses :: Lens' AutoScalingGroup [SuspendedProcess]
- asgLoadBalancerNames :: Lens' AutoScalingGroup [Text]
- asgTags :: Lens' AutoScalingGroup [TagDescription]
- asgAutoScalingGroupName :: Lens' AutoScalingGroup Text
- asgMinSize :: Lens' AutoScalingGroup Int
- asgMaxSize :: Lens' AutoScalingGroup Int
- asgDesiredCapacity :: Lens' AutoScalingGroup Int
- asgDefaultCooldown :: Lens' AutoScalingGroup Int
- asgAvailabilityZones :: Lens' AutoScalingGroup (NonEmpty Text)
- asgHealthCheckType :: Lens' AutoScalingGroup Text
- asgCreatedTime :: Lens' AutoScalingGroup UTCTime
- data AutoScalingInstanceDetails
- autoScalingInstanceDetails :: Text -> Text -> Text -> Text -> Text -> Bool -> AutoScalingInstanceDetails
- asidLaunchConfigurationName :: Lens' AutoScalingInstanceDetails (Maybe Text)
- asidInstanceId :: Lens' AutoScalingInstanceDetails Text
- asidAutoScalingGroupName :: Lens' AutoScalingInstanceDetails Text
- asidAvailabilityZone :: Lens' AutoScalingInstanceDetails Text
- asidLifecycleState :: Lens' AutoScalingInstanceDetails Text
- asidHealthStatus :: Lens' AutoScalingInstanceDetails Text
- asidProtectedFromScaleIn :: Lens' AutoScalingInstanceDetails Bool
- data BlockDeviceMapping
- blockDeviceMapping :: Text -> BlockDeviceMapping
- bdmVirtualName :: Lens' BlockDeviceMapping (Maybe Text)
- bdmNoDevice :: Lens' BlockDeviceMapping (Maybe Bool)
- bdmEBS :: Lens' BlockDeviceMapping (Maybe EBS)
- bdmDeviceName :: Lens' BlockDeviceMapping Text
- data EBS
- ebs :: EBS
- ebsDeleteOnTermination :: Lens' EBS (Maybe Bool)
- ebsVolumeSize :: Lens' EBS (Maybe Natural)
- ebsIOPS :: Lens' EBS (Maybe Natural)
- ebsEncrypted :: Lens' EBS (Maybe Bool)
- ebsVolumeType :: Lens' EBS (Maybe Text)
- ebsSnapshotId :: Lens' EBS (Maybe Text)
- data EnabledMetric
- enabledMetric :: EnabledMetric
- emGranularity :: Lens' EnabledMetric (Maybe Text)
- emMetric :: Lens' EnabledMetric (Maybe Text)
- data Filter
- filter' :: Text -> Filter
- fValues :: Lens' Filter [Text]
- fName :: Lens' Filter Text
- data Instance
- instance' :: Text -> Text -> LifecycleState -> Text -> Bool -> Instance
- iLaunchConfigurationName :: Lens' Instance (Maybe Text)
- iInstanceId :: Lens' Instance Text
- iAvailabilityZone :: Lens' Instance Text
- iLifecycleState :: Lens' Instance LifecycleState
- iHealthStatus :: Lens' Instance Text
- iProtectedFromScaleIn :: Lens' Instance Bool
- data InstanceMonitoring
- instanceMonitoring :: InstanceMonitoring
- imEnabled :: Lens' InstanceMonitoring (Maybe Bool)
- data LaunchConfiguration
- launchConfiguration :: Text -> Text -> Text -> UTCTime -> LaunchConfiguration
- lcAssociatePublicIPAddress :: Lens' LaunchConfiguration (Maybe Bool)
- lcSecurityGroups :: Lens' LaunchConfiguration [Text]
- lcSpotPrice :: Lens' LaunchConfiguration (Maybe Text)
- lcInstanceMonitoring :: Lens' LaunchConfiguration (Maybe InstanceMonitoring)
- lcKeyName :: Lens' LaunchConfiguration (Maybe Text)
- lcClassicLinkVPCSecurityGroups :: Lens' LaunchConfiguration [Text]
- lcRAMDiskId :: Lens' LaunchConfiguration (Maybe Text)
- lcKernelId :: Lens' LaunchConfiguration (Maybe Text)
- lcEBSOptimized :: Lens' LaunchConfiguration (Maybe Bool)
- lcUserData :: Lens' LaunchConfiguration (Maybe Text)
- lcClassicLinkVPCId :: Lens' LaunchConfiguration (Maybe Text)
- lcIAMInstanceProfile :: Lens' LaunchConfiguration (Maybe Text)
- lcLaunchConfigurationARN :: Lens' LaunchConfiguration (Maybe Text)
- lcPlacementTenancy :: Lens' LaunchConfiguration (Maybe Text)
- lcBlockDeviceMappings :: Lens' LaunchConfiguration [BlockDeviceMapping]
- lcLaunchConfigurationName :: Lens' LaunchConfiguration Text
- lcImageId :: Lens' LaunchConfiguration Text
- lcInstanceType :: Lens' LaunchConfiguration Text
- lcCreatedTime :: Lens' LaunchConfiguration UTCTime
- data LifecycleHook
- lifecycleHook :: LifecycleHook
- lhDefaultResult :: Lens' LifecycleHook (Maybe Text)
- lhLifecycleHookName :: Lens' LifecycleHook (Maybe Text)
- lhHeartbeatTimeout :: Lens' LifecycleHook (Maybe Int)
- lhAutoScalingGroupName :: Lens' LifecycleHook (Maybe Text)
- lhNotificationMetadata :: Lens' LifecycleHook (Maybe Text)
- lhGlobalTimeout :: Lens' LifecycleHook (Maybe Int)
- lhNotificationTargetARN :: Lens' LifecycleHook (Maybe Text)
- lhLifecycleTransition :: Lens' LifecycleHook (Maybe Text)
- lhRoleARN :: Lens' LifecycleHook (Maybe Text)
- data LoadBalancerState
- loadBalancerState :: LoadBalancerState
- lbsState :: Lens' LoadBalancerState (Maybe Text)
- lbsLoadBalancerName :: Lens' LoadBalancerState (Maybe Text)
- data MetricCollectionType
- metricCollectionType :: MetricCollectionType
- mctMetric :: Lens' MetricCollectionType (Maybe Text)
- data MetricGranularityType
- metricGranularityType :: MetricGranularityType
- mgtGranularity :: Lens' MetricGranularityType (Maybe Text)
- data NotificationConfiguration
- notificationConfiguration :: NotificationConfiguration
- ncTopicARN :: Lens' NotificationConfiguration (Maybe Text)
- ncAutoScalingGroupName :: Lens' NotificationConfiguration (Maybe Text)
- ncNotificationType :: Lens' NotificationConfiguration (Maybe Text)
- data ProcessType
- processType :: Text -> ProcessType
- ptProcessName :: Lens' ProcessType Text
- data ScalingPolicy
- scalingPolicy :: ScalingPolicy
- sMinAdjustmentStep :: Lens' ScalingPolicy (Maybe Int)
- sEstimatedInstanceWarmup :: Lens' ScalingPolicy (Maybe Int)
- sPolicyName :: Lens' ScalingPolicy (Maybe Text)
- sPolicyType :: Lens' ScalingPolicy (Maybe Text)
- sStepAdjustments :: Lens' ScalingPolicy [StepAdjustment]
- sAdjustmentType :: Lens' ScalingPolicy (Maybe Text)
- sAutoScalingGroupName :: Lens' ScalingPolicy (Maybe Text)
- sScalingAdjustment :: Lens' ScalingPolicy (Maybe Int)
- sCooldown :: Lens' ScalingPolicy (Maybe Int)
- sPolicyARN :: Lens' ScalingPolicy (Maybe Text)
- sAlarms :: Lens' ScalingPolicy [Alarm]
- sMetricAggregationType :: Lens' ScalingPolicy (Maybe Text)
- sMinAdjustmentMagnitude :: Lens' ScalingPolicy (Maybe Int)
- data ScalingProcessQuery
- scalingProcessQuery :: Text -> ScalingProcessQuery
- spqScalingProcesses :: Lens' ScalingProcessQuery [Text]
- spqAutoScalingGroupName :: Lens' ScalingProcessQuery Text
- data ScheduledUpdateGroupAction
- scheduledUpdateGroupAction :: ScheduledUpdateGroupAction
- sugaScheduledActionARN :: Lens' ScheduledUpdateGroupAction (Maybe Text)
- sugaStartTime :: Lens' ScheduledUpdateGroupAction (Maybe UTCTime)
- sugaTime :: Lens' ScheduledUpdateGroupAction (Maybe UTCTime)
- sugaScheduledActionName :: Lens' ScheduledUpdateGroupAction (Maybe Text)
- sugaMaxSize :: Lens' ScheduledUpdateGroupAction (Maybe Int)
- sugaRecurrence :: Lens' ScheduledUpdateGroupAction (Maybe Text)
- sugaDesiredCapacity :: Lens' ScheduledUpdateGroupAction (Maybe Int)
- sugaMinSize :: Lens' ScheduledUpdateGroupAction (Maybe Int)
- sugaAutoScalingGroupName :: Lens' ScheduledUpdateGroupAction (Maybe Text)
- sugaEndTime :: Lens' ScheduledUpdateGroupAction (Maybe UTCTime)
- data StepAdjustment
- stepAdjustment :: Int -> StepAdjustment
- saMetricIntervalLowerBound :: Lens' StepAdjustment (Maybe Double)
- saMetricIntervalUpperBound :: Lens' StepAdjustment (Maybe Double)
- saScalingAdjustment :: Lens' StepAdjustment Int
- data SuspendedProcess
- suspendedProcess :: SuspendedProcess
- spProcessName :: Lens' SuspendedProcess (Maybe Text)
- spSuspensionReason :: Lens' SuspendedProcess (Maybe Text)
- data Tag
- tag :: Text -> Text -> Text -> Bool -> Text -> Tag
- tagKey :: Lens' Tag Text
- tagResourceId :: Lens' Tag Text
- tagResourceType :: Lens' Tag Text
- tagPropagateAtLaunch :: Lens' Tag Bool
- tagValue :: Lens' Tag Text
- data TagDescription
- tagDescription :: Text -> Text -> Text -> Bool -> Text -> TagDescription
- tdResourceId :: Lens' TagDescription Text
- tdResourceType :: Lens' TagDescription Text
- tdKey :: Lens' TagDescription Text
- tdPropagateAtLaunch :: Lens' TagDescription Bool
- tdValue :: Lens' TagDescription Text
Service Configuration
autoScaling :: Service Source #
API version '2011-01-01' of the Amazon Auto Scaling SDK configuration.
Errors
_AlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError Source #
You already have an Auto Scaling group or launch configuration with this name.
_LimitExceededFault :: AsError a => Getting (First ServiceError) a ServiceError Source #
You have already reached a limit for your Auto Scaling resources (for example, groups, launch configurations, or lifecycle hooks). For more information, see DescribeAccountLimits.
_ResourceInUseFault :: AsError a => Getting (First ServiceError) a ServiceError Source #
The Auto Scaling group or launch configuration can't be deleted because it is in use.
_InvalidNextToken :: AsError a => Getting (First ServiceError) a ServiceError Source #
The NextToken
value is not valid.
_ScalingActivityInProgressFault :: AsError a => Getting (First ServiceError) a ServiceError Source #
The Auto Scaling group can't be deleted because there are scaling activities in progress.
_ResourceContentionFault :: AsError a => Getting (First ServiceError) a ServiceError Source #
You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).
LifecycleState
data LifecycleState Source #
Detached | |
Detaching | |
EnteringStandby | |
InService | |
Pending | |
PendingProceed | |
PendingWait | |
Quarantined | |
Standby | |
Terminated | |
Terminating | |
TerminatingProceed | |
TerminatingWait |
ScalingActivityStatusCode
data ScalingActivityStatusCode Source #
Activity
Describes scaling activity, which is a long-running process that represents a change to your Auto Scaling group, such as changing its size or replacing an instance.
See: activity
smart constructor.
Creates a value of Activity
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
aProgress :: Lens' Activity (Maybe Int) Source #
A value between 0 and 100 that indicates the progress of the activity.
aStatusMessage :: Lens' Activity (Maybe Text) Source #
A friendly, more verbose description of the activity status.
aDescription :: Lens' Activity (Maybe Text) Source #
A friendly, more verbose description of the activity.
aStatusCode :: Lens' Activity ScalingActivityStatusCode Source #
The current status of the activity.
AdjustmentType
data AdjustmentType Source #
Describes a policy adjustment type.
For more information, see Dynamic Scaling in the Auto Scaling Developer Guide.
See: adjustmentType
smart constructor.
adjustmentType :: AdjustmentType Source #
Creates a value of AdjustmentType
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
atAdjustmentType :: Lens' AdjustmentType (Maybe Text) Source #
The policy adjustment type. The valid values are ChangeInCapacity
, ExactCapacity
, and PercentChangeInCapacity
.
Alarm
Describes an alarm.
See: alarm
smart constructor.
Creates a value of Alarm
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
AutoScalingGroup
data AutoScalingGroup Source #
Describes an Auto Scaling group.
See: autoScalingGroup
smart constructor.
Creates a value of AutoScalingGroup
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
asgStatus
asgTerminationPolicies
asgHealthCheckGracePeriod
asgNewInstancesProtectedFromScaleIn
asgVPCZoneIdentifier
asgEnabledMetrics
asgLaunchConfigurationName
asgInstances
asgAutoScalingGroupARN
asgPlacementGroup
asgSuspendedProcesses
asgLoadBalancerNames
asgTags
asgAutoScalingGroupName
asgMinSize
asgMaxSize
asgDesiredCapacity
asgDefaultCooldown
asgAvailabilityZones
asgHealthCheckType
asgCreatedTime
asgStatus :: Lens' AutoScalingGroup (Maybe Text) Source #
The current state of the group when DeleteAutoScalingGroup is in progress.
asgTerminationPolicies :: Lens' AutoScalingGroup [Text] Source #
The termination policies for the group.
asgHealthCheckGracePeriod :: Lens' AutoScalingGroup (Maybe Int) Source #
The amount of time, in seconds, that Auto Scaling waits before checking the health status of an EC2 instance that has come into service.
asgNewInstancesProtectedFromScaleIn :: Lens' AutoScalingGroup (Maybe Bool) Source #
Indicates whether newly launched instances are protected from termination by Auto Scaling when scaling in.
asgVPCZoneIdentifier :: Lens' AutoScalingGroup (Maybe Text) Source #
One or more subnet IDs, if applicable, separated by commas.
If you specify VPCZoneIdentifier
and AvailabilityZones
, ensure that the Availability Zones of the subnets match the values for AvailabilityZones
.
asgEnabledMetrics :: Lens' AutoScalingGroup [EnabledMetric] Source #
The metrics enabled for the group.
asgLaunchConfigurationName :: Lens' AutoScalingGroup (Maybe Text) Source #
The name of the associated launch configuration.
asgInstances :: Lens' AutoScalingGroup [Instance] Source #
The EC2 instances associated with the group.
asgAutoScalingGroupARN :: Lens' AutoScalingGroup (Maybe Text) Source #
The Amazon Resource Name (ARN) of the group.
asgPlacementGroup :: Lens' AutoScalingGroup (Maybe Text) Source #
The name of the placement group into which you'll launch your instances, if any. For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide.
asgSuspendedProcesses :: Lens' AutoScalingGroup [SuspendedProcess] Source #
The suspended processes associated with the group.
asgLoadBalancerNames :: Lens' AutoScalingGroup [Text] Source #
One or more load balancers associated with the group.
asgTags :: Lens' AutoScalingGroup [TagDescription] Source #
The tags for the group.
asgAutoScalingGroupName :: Lens' AutoScalingGroup Text Source #
The name of the group.
asgMinSize :: Lens' AutoScalingGroup Int Source #
The minimum size of the group.
asgMaxSize :: Lens' AutoScalingGroup Int Source #
The maximum size of the group.
asgDesiredCapacity :: Lens' AutoScalingGroup Int Source #
The desired size of the group.
asgDefaultCooldown :: Lens' AutoScalingGroup Int Source #
The amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
asgAvailabilityZones :: Lens' AutoScalingGroup (NonEmpty Text) Source #
One or more Availability Zones for the group.
asgHealthCheckType :: Lens' AutoScalingGroup Text Source #
The service to use for the health checks. The valid values are EC2
and ELB
.
asgCreatedTime :: Lens' AutoScalingGroup UTCTime Source #
The date and time the group was created.
AutoScalingInstanceDetails
data AutoScalingInstanceDetails Source #
Describes an EC2 instance associated with an Auto Scaling group.
See: autoScalingInstanceDetails
smart constructor.
autoScalingInstanceDetails Source #
Creates a value of AutoScalingInstanceDetails
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
asidLaunchConfigurationName :: Lens' AutoScalingInstanceDetails (Maybe Text) Source #
The launch configuration associated with the instance.
asidInstanceId :: Lens' AutoScalingInstanceDetails Text Source #
The ID of the instance.
asidAutoScalingGroupName :: Lens' AutoScalingInstanceDetails Text Source #
The name of the Auto Scaling group associated with the instance.
asidAvailabilityZone :: Lens' AutoScalingInstanceDetails Text Source #
The Availability Zone for the instance.
asidLifecycleState :: Lens' AutoScalingInstanceDetails Text Source #
The lifecycle state for the instance. For more information, see Auto Scaling Lifecycle in the Auto Scaling Developer Guide.
asidHealthStatus :: Lens' AutoScalingInstanceDetails Text Source #
The health status of this instance. "Healthy" means that the instance is healthy and should remain in service. "Unhealthy" means that the instance is unhealthy and Auto Scaling should terminate and replace it.
asidProtectedFromScaleIn :: Lens' AutoScalingInstanceDetails Bool Source #
Indicates whether the instance is protected from termination by Auto Scaling when scaling in.
BlockDeviceMapping
data BlockDeviceMapping Source #
Describes a block device mapping.
See: blockDeviceMapping
smart constructor.
Creates a value of BlockDeviceMapping
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
bdmVirtualName :: Lens' BlockDeviceMapping (Maybe Text) Source #
The name of the virtual device (for example, ephemeral0
).
bdmNoDevice :: Lens' BlockDeviceMapping (Maybe Bool) Source #
Suppresses a device mapping.
If this parameter is true for the root device, the instance might fail the EC2 health check. Auto Scaling launches a replacement instance if the instance fails the health check.
bdmDeviceName :: Lens' BlockDeviceMapping Text Source #
The device name exposed to the EC2 instance (for example, '\/dev\/sdh' or xvdh
).
EBS
Describes an Amazon EBS volume.
See: ebs
smart constructor.
Creates a value of EBS
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
ebsDeleteOnTermination :: Lens' EBS (Maybe Bool) Source #
Indicates whether the volume is deleted on instance termination.
Default: true
ebsVolumeSize :: Lens' EBS (Maybe Natural) Source #
The volume size, in GiB. For standard
volumes, specify a value from 1 to 1,024. For io1
volumes, specify a value from 4 to 16,384. For gp2
volumes, specify a value from 1 to 16,384. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.
Default: If you create a volume from a snapshot and you don't specify a volume size, the default is the snapshot size.
ebsIOPS :: Lens' EBS (Maybe Natural) Source #
The number of I/O operations per second (IOPS) to provision for the volume.
Constraint: Required when the volume type is io1
.
ebsEncrypted :: Lens' EBS (Maybe Bool) Source #
Indicates whether the volume should be encrypted. Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are automatically encrypted. There is no way to create an encrypted volume from an unencrypted snapshot or an unencrypted volume from an encrypted snapshot. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.
ebsVolumeType :: Lens' EBS (Maybe Text) Source #
The volume type. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.
Valid values: standard
| io1
| gp2
Default: standard
EnabledMetric
data EnabledMetric Source #
Describes an enabled metric.
See: enabledMetric
smart constructor.
enabledMetric :: EnabledMetric Source #
Creates a value of EnabledMetric
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
emGranularity :: Lens' EnabledMetric (Maybe Text) Source #
The granularity of the metric. The only valid value is '1Minute'.
emMetric :: Lens' EnabledMetric (Maybe Text) Source #
One of the following metrics:
GroupMinSize
GroupMaxSize
GroupDesiredCapacity
GroupInServiceInstances
GroupPendingInstances
GroupStandbyInstances
GroupTerminatingInstances
GroupTotalInstances
Filter
Describes a filter.
See: filter'
smart constructor.
fName :: Lens' Filter Text Source #
The name of the filter. The valid values are: '"auto-scaling-group"', '"key"', '"value"', and '"propagate-at-launch"'.
Instance
Describes an EC2 instance.
See: instance'
smart constructor.
Creates a value of Instance
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
iLaunchConfigurationName :: Lens' Instance (Maybe Text) Source #
The launch configuration associated with the instance.
iAvailabilityZone :: Lens' Instance Text Source #
The Availability Zone in which the instance is running.
iLifecycleState :: Lens' Instance LifecycleState Source #
A description of the current lifecycle state. Note that the Quarantined
state is not used.
iHealthStatus :: Lens' Instance Text Source #
The health status of the instance. "Healthy" means that the instance is healthy and should remain in service. "Unhealthy" means that the instance is unhealthy and Auto Scaling should terminate and replace it.
iProtectedFromScaleIn :: Lens' Instance Bool Source #
Indicates whether the instance is protected from termination by Auto Scaling when scaling in.
InstanceMonitoring
data InstanceMonitoring Source #
Describes whether instance monitoring is enabled.
See: instanceMonitoring
smart constructor.
instanceMonitoring :: InstanceMonitoring Source #
Creates a value of InstanceMonitoring
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
LaunchConfiguration
data LaunchConfiguration Source #
Describes a launch configuration.
See: launchConfiguration
smart constructor.
:: Text | |
-> Text | |
-> Text | |
-> UTCTime | |
-> LaunchConfiguration |
Creates a value of LaunchConfiguration
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
lcAssociatePublicIPAddress
lcSecurityGroups
lcSpotPrice
lcInstanceMonitoring
lcKeyName
lcClassicLinkVPCSecurityGroups
lcRAMDiskId
lcKernelId
lcEBSOptimized
lcUserData
lcClassicLinkVPCId
lcIAMInstanceProfile
lcLaunchConfigurationARN
lcPlacementTenancy
lcBlockDeviceMappings
lcLaunchConfigurationName
lcImageId
lcInstanceType
lcCreatedTime
lcAssociatePublicIPAddress :: Lens' LaunchConfiguration (Maybe Bool) Source #
- EC2-VPC
- Indicates whether to assign a public IP address to each instance.
lcSecurityGroups :: Lens' LaunchConfiguration [Text] Source #
The security groups to associate with the instances.
lcSpotPrice :: Lens' LaunchConfiguration (Maybe Text) Source #
The price to bid when launching Spot Instances.
lcInstanceMonitoring :: Lens' LaunchConfiguration (Maybe InstanceMonitoring) Source #
Controls whether instances in this group are launched with detailed monitoring.
lcClassicLinkVPCSecurityGroups :: Lens' LaunchConfiguration [Text] Source #
The IDs of one or more security groups for the VPC specified in ClassicLinkVPCId
. This parameter is required if you specify a ClassicLink-enabled VPC, and cannot be used otherwise. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.
lcRAMDiskId :: Lens' LaunchConfiguration (Maybe Text) Source #
The ID of the RAM disk associated with the AMI.
lcKernelId :: Lens' LaunchConfiguration (Maybe Text) Source #
The ID of the kernel associated with the AMI.
lcEBSOptimized :: Lens' LaunchConfiguration (Maybe Bool) Source #
Controls whether the instance is optimized for EBS I/O (true
) or not (false
).
lcUserData :: Lens' LaunchConfiguration (Maybe Text) Source #
The user data available to the instances.
lcClassicLinkVPCId :: Lens' LaunchConfiguration (Maybe Text) Source #
The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. This parameter can only be used if you are launching EC2-Classic instances. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.
lcIAMInstanceProfile :: Lens' LaunchConfiguration (Maybe Text) Source #
The name or Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance.
lcLaunchConfigurationARN :: Lens' LaunchConfiguration (Maybe Text) Source #
The Amazon Resource Name (ARN) of the launch configuration.
lcPlacementTenancy :: Lens' LaunchConfiguration (Maybe Text) Source #
The tenancy of the instance, either 'default' or dedicated
. An instance with dedicated
tenancy runs in an isolated, single-tenant hardware and can only be launched into a VPC.
lcBlockDeviceMappings :: Lens' LaunchConfiguration [BlockDeviceMapping] Source #
A block device mapping, which specifies the block devices for the instance.
lcLaunchConfigurationName :: Lens' LaunchConfiguration Text Source #
The name of the launch configuration.
lcInstanceType :: Lens' LaunchConfiguration Text Source #
The instance type for the instances.
lcCreatedTime :: Lens' LaunchConfiguration UTCTime Source #
The creation date and time for the launch configuration.
LifecycleHook
data LifecycleHook Source #
Describes a lifecycle hook, which tells Auto Scaling that you want to perform an action when an instance launches or terminates. When you have a lifecycle hook in place, the Auto Scaling group will either:
- Pause the instance after it launches, but before it is put into service
- Pause the instance as it terminates, but before it is fully terminated
For more information, see Auto Scaling Lifecycle in the Auto Scaling Developer Guide.
See: lifecycleHook
smart constructor.
lifecycleHook :: LifecycleHook Source #
Creates a value of LifecycleHook
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
lhDefaultResult :: Lens' LifecycleHook (Maybe Text) Source #
Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. The valid values are CONTINUE
and ABANDON
. The default value is CONTINUE
.
lhLifecycleHookName :: Lens' LifecycleHook (Maybe Text) Source #
The name of the lifecycle hook.
lhHeartbeatTimeout :: Lens' LifecycleHook (Maybe Int) Source #
The maximum time, in seconds, that can elapse before the lifecycle hook times out. The default is 3600 seconds (1 hour). When the lifecycle hook times out, Auto Scaling performs the default action. You can prevent the lifecycle hook from timing out by calling RecordLifecycleActionHeartbeat.
lhAutoScalingGroupName :: Lens' LifecycleHook (Maybe Text) Source #
The name of the Auto Scaling group for the lifecycle hook.
lhNotificationMetadata :: Lens' LifecycleHook (Maybe Text) Source #
Additional information that you want to include any time Auto Scaling sends a message to the notification target.
lhGlobalTimeout :: Lens' LifecycleHook (Maybe Int) Source #
The maximum time, in seconds, that an instance can remain in a 'Pending:Wait' or 'Terminating:Wait' state. The default is 172800 seconds (48 hours).
lhNotificationTargetARN :: Lens' LifecycleHook (Maybe Text) Source #
The ARN of the notification target that Auto Scaling uses to notify you when an instance is in the transition state for the lifecycle hook. This ARN target can be either an SQS queue or an SNS topic. The notification message sent to the target includes the following:
- Lifecycle action token
- User account ID
- Name of the Auto Scaling group
- Lifecycle hook name
- EC2 instance ID
- Lifecycle transition
- Notification metadata
lhLifecycleTransition :: Lens' LifecycleHook (Maybe Text) Source #
The state of the EC2 instance to which you want to attach the lifecycle hook. For a list of lifecycle hook types, see DescribeLifecycleHookTypes.
lhRoleARN :: Lens' LifecycleHook (Maybe Text) Source #
The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target.
LoadBalancerState
data LoadBalancerState Source #
Describes the state of a load balancer.
See: loadBalancerState
smart constructor.
loadBalancerState :: LoadBalancerState Source #
Creates a value of LoadBalancerState
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
lbsState :: Lens' LoadBalancerState (Maybe Text) Source #
One of the following load balancer states:
Adding
- The instances in the group are being registered with the load balancer.Added
- All instances in the group are registered with the load balancer.InService
- At least one instance in the group passed an ELB health check.Removing
- The instances are being deregistered from the load balancer. If connection draining is enabled, Elastic Load Balancing waits for in-flight requests to complete before deregistering the instances.
lbsLoadBalancerName :: Lens' LoadBalancerState (Maybe Text) Source #
The name of the load balancer.
MetricCollectionType
data MetricCollectionType Source #
Describes a metric.
See: metricCollectionType
smart constructor.
metricCollectionType :: MetricCollectionType Source #
Creates a value of MetricCollectionType
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
mctMetric :: Lens' MetricCollectionType (Maybe Text) Source #
One of the following metrics:
GroupMinSize
GroupMaxSize
GroupDesiredCapacity
GroupInServiceInstances
GroupPendingInstances
GroupStandbyInstances
GroupTerminatingInstances
GroupTotalInstances
MetricGranularityType
data MetricGranularityType Source #
Describes a granularity of a metric.
See: metricGranularityType
smart constructor.
metricGranularityType :: MetricGranularityType Source #
Creates a value of MetricGranularityType
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
mgtGranularity :: Lens' MetricGranularityType (Maybe Text) Source #
The granularity. The only valid value is '1Minute'.
NotificationConfiguration
data NotificationConfiguration Source #
Describes a notification.
See: notificationConfiguration
smart constructor.
notificationConfiguration :: NotificationConfiguration Source #
Creates a value of NotificationConfiguration
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
ncTopicARN :: Lens' NotificationConfiguration (Maybe Text) Source #
The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic.
ncAutoScalingGroupName :: Lens' NotificationConfiguration (Maybe Text) Source #
The name of the group.
ncNotificationType :: Lens' NotificationConfiguration (Maybe Text) Source #
One of the following event notification types:
- 'autoscaling:EC2_INSTANCE_LAUNCH'
- 'autoscaling:EC2_INSTANCE_LAUNCH_ERROR'
- 'autoscaling:EC2_INSTANCE_TERMINATE'
- 'autoscaling:EC2_INSTANCE_TERMINATE_ERROR'
- 'autoscaling:TEST_NOTIFICATION'
ProcessType
data ProcessType Source #
Describes a process type.
For more information, see Auto Scaling Processes in the Auto Scaling Developer Guide.
See: processType
smart constructor.
Creates a value of ProcessType
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
ptProcessName :: Lens' ProcessType Text Source #
One of the following processes:
Launch
Terminate
AddToLoadBalancer
AlarmNotification
AZRebalance
HealthCheck
ReplaceUnhealthy
ScheduledActions
ScalingPolicy
data ScalingPolicy Source #
Describes a scaling policy.
See: scalingPolicy
smart constructor.
scalingPolicy :: ScalingPolicy Source #
Creates a value of ScalingPolicy
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
sMinAdjustmentStep :: Lens' ScalingPolicy (Maybe Int) Source #
Available for backward compatibility. Use MinAdjustmentMagnitude
instead.
sEstimatedInstanceWarmup :: Lens' ScalingPolicy (Maybe Int) Source #
The estimated time, in seconds, until a newly launched instance can contribute to the CloudWatch metrics.
sPolicyName :: Lens' ScalingPolicy (Maybe Text) Source #
The name of the scaling policy.
sPolicyType :: Lens' ScalingPolicy (Maybe Text) Source #
The policy type. Valid values are SimpleScaling
and StepScaling
.
sStepAdjustments :: Lens' ScalingPolicy [StepAdjustment] Source #
A set of adjustments that enable you to scale based on the size of the alarm breach.
sAdjustmentType :: Lens' ScalingPolicy (Maybe Text) Source #
The adjustment type, which specifies how ScalingAdjustment
is interpreted. Valid values are ChangeInCapacity
, ExactCapacity
, and PercentChangeInCapacity
.
sAutoScalingGroupName :: Lens' ScalingPolicy (Maybe Text) Source #
The name of the Auto Scaling group associated with this scaling policy.
sScalingAdjustment :: Lens' ScalingPolicy (Maybe Int) Source #
The amount by which to scale, based on the specified adjustment type. A positive value adds to the current capacity while a negative number removes from the current capacity.
sCooldown :: Lens' ScalingPolicy (Maybe Int) Source #
The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.
sPolicyARN :: Lens' ScalingPolicy (Maybe Text) Source #
The Amazon Resource Name (ARN) of the policy.
sMetricAggregationType :: Lens' ScalingPolicy (Maybe Text) Source #
The aggregation type for the CloudWatch metrics. Valid values are Minimum
, Maximum
, and Average
.
sMinAdjustmentMagnitude :: Lens' ScalingPolicy (Maybe Int) Source #
The minimum number of instances to scale. If the value of AdjustmentType
is PercentChangeInCapacity
, the scaling policy changes the DesiredCapacity
of the Auto Scaling group by at least this many instances. Otherwise, the error is ValidationError
.
ScalingProcessQuery
data ScalingProcessQuery Source #
See: scalingProcessQuery
smart constructor.
Creates a value of ScalingProcessQuery
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
spqScalingProcesses :: Lens' ScalingProcessQuery [Text] Source #
One or more of the following processes:
Launch
Terminate
HealthCheck
ReplaceUnhealthy
AZRebalance
AlarmNotification
ScheduledActions
AddToLoadBalancer
spqAutoScalingGroupName :: Lens' ScalingProcessQuery Text Source #
The name or Amazon Resource Name (ARN) of the Auto Scaling group.
ScheduledUpdateGroupAction
data ScheduledUpdateGroupAction Source #
Describes a scheduled update to an Auto Scaling group.
See: scheduledUpdateGroupAction
smart constructor.
scheduledUpdateGroupAction :: ScheduledUpdateGroupAction Source #
Creates a value of ScheduledUpdateGroupAction
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
sugaScheduledActionARN :: Lens' ScheduledUpdateGroupAction (Maybe Text) Source #
The Amazon Resource Name (ARN) of the scheduled action.
sugaStartTime :: Lens' ScheduledUpdateGroupAction (Maybe UTCTime) Source #
The date and time that the action is scheduled to begin. This date and time can be up to one month in the future.
When StartTime
and EndTime
are specified with Recurrence
, they form the boundaries of when the recurring action will start and stop.
sugaScheduledActionName :: Lens' ScheduledUpdateGroupAction (Maybe Text) Source #
The name of the scheduled action.
sugaMaxSize :: Lens' ScheduledUpdateGroupAction (Maybe Int) Source #
The maximum size of the group.
sugaRecurrence :: Lens' ScheduledUpdateGroupAction (Maybe Text) Source #
The recurring schedule for the action.
sugaDesiredCapacity :: Lens' ScheduledUpdateGroupAction (Maybe Int) Source #
The number of instances you prefer to maintain in the group.
sugaMinSize :: Lens' ScheduledUpdateGroupAction (Maybe Int) Source #
The minimum size of the group.
sugaAutoScalingGroupName :: Lens' ScheduledUpdateGroupAction (Maybe Text) Source #
The name of the group.
sugaEndTime :: Lens' ScheduledUpdateGroupAction (Maybe UTCTime) Source #
The date and time that the action is scheduled to end. This date and time can be up to one month in the future.
StepAdjustment
data StepAdjustment Source #
Describes an adjustment based on the difference between the value of the aggregated CloudWatch metric and the breach threshold that you've defined for the alarm.
For the following examples, suppose that you have an alarm with a breach threshold of 50:
- If you want the adjustment to be triggered when the metric is greater than or equal to 50 and less than 60, specify a lower bound of 0 and an upper bound of 10.
- If you want the adjustment to be triggered when the metric is greater than 40 and less than or equal to 50, specify a lower bound of -10 and an upper bound of 0.
There are a few rules for the step adjustments for your step policy:
- The ranges of your step adjustments can't overlap or have a gap.
- At most one step adjustment can have a null lower bound. If one step adjustment has a negative lower bound, then there must be a step adjustment with a null lower bound.
- At most one step adjustment can have a null upper bound. If one step adjustment has a positive upper bound, then there must be a step adjustment with a null upper bound.
- The upper and lower bound can't be null in the same step adjustment.
See: stepAdjustment
smart constructor.
Creates a value of StepAdjustment
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
saMetricIntervalLowerBound :: Lens' StepAdjustment (Maybe Double) Source #
The lower bound for the difference between the alarm threshold and the CloudWatch metric. If the metric value is above the breach threshold, the lower bound is inclusive (the metric must be greater than or equal to the threshold plus the lower bound). Otherwise, it is exclusive (the metric must be greater than the threshold plus the lower bound). A null value indicates negative infinity.
saMetricIntervalUpperBound :: Lens' StepAdjustment (Maybe Double) Source #
The upper bound for the difference between the alarm threshold and the CloudWatch metric. If the metric value is above the breach threshold, the upper bound is exclusive (the metric must be less than the threshold plus the upper bound). Otherwise, it is inclusive (the metric must be less than or equal to the threshold plus the upper bound). A null value indicates positive infinity.
The upper bound must be greater than the lower bound.
saScalingAdjustment :: Lens' StepAdjustment Int Source #
The amount by which to scale, based on the specified adjustment type. A positive value adds to the current capacity while a negative number removes from the current capacity.
SuspendedProcess
data SuspendedProcess Source #
Describes an Auto Scaling process that has been suspended. For more information, see ProcessType.
See: suspendedProcess
smart constructor.
suspendedProcess :: SuspendedProcess Source #
Creates a value of SuspendedProcess
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
spProcessName :: Lens' SuspendedProcess (Maybe Text) Source #
The name of the suspended process.
spSuspensionReason :: Lens' SuspendedProcess (Maybe Text) Source #
The reason that the process was suspended.
Tag
Describes a tag for an Auto Scaling group.
See: tag
smart constructor.
Creates a value of Tag
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
tagResourceType :: Lens' Tag Text Source #
The type of resource. The only supported value is 'auto-scaling-group'.
tagPropagateAtLaunch :: Lens' Tag Bool Source #
Determines whether the tag is added to new instances as they are launched in the group.
TagDescription
data TagDescription Source #
Describes a tag for an Auto Scaling group.
See: tagDescription
smart constructor.
Creates a value of TagDescription
with the minimum fields required to make a request.
Use one of the following lenses to modify other fields as desired:
tdResourceId :: Lens' TagDescription Text Source #
The name of the group.
tdResourceType :: Lens' TagDescription Text Source #
The type of resource. The only supported value is 'auto-scaling-group'.
tdPropagateAtLaunch :: Lens' TagDescription Bool Source #
Determines whether the tag is added to new instances as they are launched in the group.