amazonka-autoscaling-0.3.3: Amazon Auto Scaling SDK.

Safe HaskellNone
LanguageHaskell2010

Network.AWS.AutoScaling.Types

Contents

Synopsis

Service

data AutoScaling Source

Version 2011-01-01 of the Amazon Auto Scaling service.

Error

data RESTError :: *

Instances

Eq RESTError 
Show RESTError 
Generic RESTError 
AWSErrorCode RESTError 
FromXML RESTError 
type Rep RESTError = D1 D1RESTError (C1 C1_0RESTError ((:*:) ((:*:) (S1 S1_0_0RESTError (Rec0 Text)) (S1 S1_0_1RESTError (Rec0 (Maybe ErrorType)))) ((:*:) (S1 S1_0_2RESTError (Rec0 ErrorCode)) (S1 S1_0_3RESTError (Rec0 Text))))) 

XML

TagDescription

tdPropagateAtLaunch :: Lens' TagDescription Bool Source

Specifies whether the tag is applied to instances launched after the tag is created. The same behavior applies to updates: If you change a tag, it is applied to all instances launched after you made the change.

tdResourceId :: Lens' TagDescription Text Source

The name of the group.

tdResourceType :: Lens' TagDescription Text Source

The kind of resource to which the tag is applied. Currently, Auto Scaling supports the 'auto-scaling-group' resource type.

Tag

tagKey :: Lens' Tag Text Source

The tag key.

tagPropagateAtLaunch :: Lens' Tag Bool Source

Specifies whether the tag is applied to instances launched after the tag is created. The same behavior applies to updates: If you change a tag, it is applied to all instances launched after you made the change.

tagResourceId :: Lens' Tag Text Source

The name of the group.

tagResourceType :: Lens' Tag Text Source

The kind of resource to which the tag is applied. Currently, Auto Scaling supports the 'auto-scaling-group' resource type.

tagValue :: Lens' Tag Text Source

The tag value.

NotificationConfiguration

ncNotificationType :: Lens' NotificationConfiguration (Maybe Text) Source

The types of events for an action to start.

ncTopicARN :: Lens' NotificationConfiguration (Maybe Text) Source

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic.

BlockDeviceMapping

blockDeviceMapping Source

BlockDeviceMapping constructor.

The fields accessible through corresponding lenses are:

bdmDeviceName :: Lens' BlockDeviceMapping Text Source

The device name exposed to the EC2 instance (for example, '/dev/sdh' or xvdh).

bdmEbs :: Lens' BlockDeviceMapping (Maybe Ebs) Source

The information about the Amazon EBS volume.

bdmNoDevice :: Lens' BlockDeviceMapping (Maybe Bool) Source

Suppresses a device mapping.

If NoDevice is set to 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.

bdmVirtualName :: Lens' BlockDeviceMapping (Maybe Text) Source

The name of the virtual device, ephemeral0 to ephemeral3.

LaunchConfiguration

lcAssociatePublicIpAddress :: Lens' LaunchConfiguration (Maybe Bool) Source

Specifies whether the EC2 instances are associated with a public IP address (true) or not (false).

lcBlockDeviceMappings :: Lens' LaunchConfiguration [BlockDeviceMapping] Source

A block device mapping that specifies how block devices are exposed to the instance. Each mapping is made up of a virtualName and a deviceName.

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 CloudUser Guide.

lcClassicLinkVPCSecurityGroups :: Lens' LaunchConfiguration [Text] Source

The IDs of one or more security groups for the VPC specified in ClassicLinkVPCId. This parameter is required if ClassicLinkVPCId is specified, and cannot be used otherwise. For more information, see ClassicLink in the Amazon ElasticCompute Cloud User Guide.

lcCreatedTime :: Lens' LaunchConfiguration UTCTime Source

The creation date and time for the launch configuration.

lcEbsOptimized :: Lens' LaunchConfiguration (Maybe Bool) Source

Controls whether the instance is optimized for EBS I/O (true) or not (false).

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.

lcImageId :: Lens' LaunchConfiguration Text Source

The ID of the Amazon Machine Image (AMI).

lcInstanceMonitoring :: Lens' LaunchConfiguration (Maybe InstanceMonitoring) Source

Controls whether instances in this group are launched with detailed monitoring.

lcInstanceType :: Lens' LaunchConfiguration Text Source

The instance type for the EC2 instances.

lcKernelId :: Lens' LaunchConfiguration (Maybe Text) Source

The ID of the kernel associated with the AMI.

lcKeyName :: Lens' LaunchConfiguration (Maybe Text) Source

The name of the key pair.

lcLaunchConfigurationARN :: Lens' LaunchConfiguration (Maybe Text) Source

The Amazon Resource Name (ARN) of the launch configuration.

lcLaunchConfigurationName :: Lens' LaunchConfiguration Text Source

The name 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 in a VPC.

lcRamdiskId :: Lens' LaunchConfiguration (Maybe Text) Source

The ID of the RAM disk associated with the AMI.

lcSecurityGroups :: Lens' LaunchConfiguration [Text] Source

The security groups to associate with the EC2 instances.

lcSpotPrice :: Lens' LaunchConfiguration (Maybe Text) Source

The price to bid when launching Spot Instances.

lcUserData :: Lens' LaunchConfiguration (Maybe Text) Source

The user data available to the EC2 instances.

AutoScalingGroup

asgAutoScalingGroupARN :: Lens' AutoScalingGroup (Maybe Text) Source

The Amazon Resource Name (ARN) of the group.

asgAvailabilityZones :: Lens' AutoScalingGroup (NonEmpty Text) Source

One or more Availability Zones for the group.

asgCreatedTime :: Lens' AutoScalingGroup UTCTime Source

The date and time the group was created.

asgDefaultCooldown :: Lens' AutoScalingGroup Int Source

The number of seconds after a scaling activity completes before any further scaling activities can start.

asgEnabledMetrics :: Lens' AutoScalingGroup [EnabledMetric] Source

The metrics enabled for this Auto Scaling group.

asgHealthCheckGracePeriod :: Lens' AutoScalingGroup (Maybe Int) Source

The amount of time that Auto Scaling waits before checking an instance's health status. The grace period begins when an instance comes into service.

asgHealthCheckType :: Lens' AutoScalingGroup Text Source

The service of interest for the health status check, which can be either EC2 for Amazon EC2 or ELB for Elastic Load Balancing.

asgInstances :: Lens' AutoScalingGroup [Instance] Source

The EC2 instances associated with the group.

asgLaunchConfigurationName :: Lens' AutoScalingGroup Text Source

The name of the associated launch configuration.

asgLoadBalancerNames :: Lens' AutoScalingGroup [Text] Source

One or more load balancers associated with the group.

asgMaxSize :: Lens' AutoScalingGroup Int Source

The maximum size of the group.

asgMinSize :: Lens' AutoScalingGroup Int Source

The minimum size 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.

asgStatus :: Lens' AutoScalingGroup (Maybe Text) Source

The current state of the Auto Scaling group when a DeleteAutoScalingGroup action is in progress.

asgSuspendedProcesses :: Lens' AutoScalingGroup [SuspendedProcess] Source

The suspended processes associated with the group.

asgTags :: Lens' AutoScalingGroup [TagDescription] Source

The tags for the Auto Scaling group.

asgTerminationPolicies :: Lens' AutoScalingGroup [Text] Source

The termination policies for this Auto Scaling group.

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.

ScalingPolicy

sp1AdjustmentType :: Lens' ScalingPolicy (Maybe Text) Source

Specifies whether the ScalingAdjustment is an absolute number or a percentage of the current capacity. Valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.

sp1Alarms :: Lens' ScalingPolicy [Alarm] Source

The CloudWatch Alarms related to the policy.

sp1AutoScalingGroupName :: Lens' ScalingPolicy (Maybe Text) Source

The name of the Auto Scaling group associated with this scaling policy.

sp1Cooldown :: 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.

sp1MinAdjustmentStep :: Lens' ScalingPolicy (Maybe Int) Source

Changes the DesiredCapacity of the Auto Scaling group by at least the specified number of instances.

sp1PolicyARN :: Lens' ScalingPolicy (Maybe Text) Source

The Amazon Resource Name (ARN) of the policy.

sp1PolicyName :: Lens' ScalingPolicy (Maybe Text) Source

The name of the scaling policy.

sp1ScalingAdjustment :: Lens' ScalingPolicy (Maybe Int) Source

The number associated with the specified adjustment type. A positive value adds to the current capacity and a negative value removes from the current capacity.

InstanceMonitoring

instanceMonitoring :: InstanceMonitoring Source

InstanceMonitoring constructor.

The fields accessible through corresponding lenses are:

imEnabled :: Lens' InstanceMonitoring (Maybe Bool) Source

If True, instance monitoring is enabled.

ScheduledUpdateGroupAction

sugaDesiredCapacity :: Lens' ScheduledUpdateGroupAction (Maybe Int) Source

The number of instances you prefer to maintain in the group.

sugaEndTime :: Lens' ScheduledUpdateGroupAction (Maybe UTCTime) Source

The time that the action is scheduled to end. This value can be up to one month in the future.

sugaMaxSize :: Lens' ScheduledUpdateGroupAction (Maybe Int) Source

The maximum size of the group.

sugaMinSize :: Lens' ScheduledUpdateGroupAction (Maybe Int) Source

The minimum size of the group.

sugaRecurrence :: Lens' ScheduledUpdateGroupAction (Maybe Text) Source

The regular schedule that an action occurs.

sugaScheduledActionARN :: Lens' ScheduledUpdateGroupAction (Maybe Text) Source

The Amazon Resource Name (ARN) of the scheduled action.

sugaStartTime :: Lens' ScheduledUpdateGroupAction (Maybe UTCTime) Source

The time that the action is scheduled to begin. This value 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.

sugaTime :: Lens' ScheduledUpdateGroupAction (Maybe UTCTime) Source

Time is deprecated.

The time that the action is scheduled to begin. Time is an alias for StartTime.

ScalingProcessQuery

scalingProcessQuery Source

ScalingProcessQuery constructor.

The fields accessible through corresponding lenses are:

spqAutoScalingGroupName :: Lens' ScalingProcessQuery Text Source

The name or Amazon Resource Name (ARN) of the Auto Scaling group.

spqScalingProcesses :: Lens' ScalingProcessQuery [Text] Source

One or more of the following processes:

Launch Terminate HealthCheck ReplaceUnhealthy AZRebalance AlarmNotification ScheduledActions AddToLoadBalancer

Ebs

ebs :: Ebs Source

Ebs constructor.

The fields accessible through corresponding lenses are:

ebsDeleteOnTermination :: Lens' Ebs (Maybe Bool) Source

Indicates whether to delete the volume on instance termination.

Default: true

ebsIops :: Lens' Ebs (Maybe Natural) Source

For Provisioned IOPS (SSD) volumes only. The number of I/O operations per second (IOPS) to provision for the volume.

Valid values: Range is 100 to 4000.

Default: None

ebsSnapshotId :: Lens' Ebs (Maybe Text) Source

The ID of the snapshot.

ebsVolumeSize :: Lens' Ebs (Maybe Natural) Source

The volume size, in gigabytes.

Valid values: If the volume type is io1, the minimum size of the volume is 10 GiB. If you specify SnapshotId and VolumeSize, VolumeSize must be equal to or larger than the size of the snapshot.

Default: If you create a volume from a snapshot and you don't specify a volume size, the default is the size of the snapshot.

Required: Required when the volume type is io1.

ebsVolumeType :: Lens' Ebs (Maybe Text) Source

The volume type.

Valid values: 'standard | io1 | gp2'

Default: standard

AdjustmentType

adjustmentType :: AdjustmentType Source

AdjustmentType constructor.

The fields accessible through corresponding lenses are:

atAdjustmentType :: Lens' AdjustmentType (Maybe Text) Source

The policy adjustment type. The valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.

For more information, see Dynamic Scaling in the Auto Scaling Developer Guide .

MetricCollectionType

metricCollectionType :: MetricCollectionType Source

MetricCollectionType constructor.

The fields accessible through corresponding lenses are:

LifecycleHook

lhAutoScalingGroupName :: Lens' LifecycleHook (Maybe Text) Source

The name of the Auto Scaling group for the lifecycle hook.

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.

lhGlobalTimeout :: Lens' LifecycleHook (Maybe Int) Source

The maximum length of time an instance can remain in a 'Pending:Wait' or 'Terminating:Wait' state. Currently, this value is set at 48 hours.

lhHeartbeatTimeout :: Lens' LifecycleHook (Maybe Int) Source

The amount of time that can elapse before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the action defined in the DefaultResult parameter. You can prevent the lifecycle hook from timing out by calling RecordLifecycleActionHeartbeat.

lhLifecycleHookName :: Lens' LifecycleHook (Maybe Text) Source

The name of the lifecycle hook.

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 DescribeLifecycleHooks.

lhNotificationMetadata :: Lens' LifecycleHook (Maybe Text) Source

Additional information that you want to include any time Auto Scaling sends a message to the notification target.

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

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.

Activity

aActivityId :: Lens' Activity Text Source

The ID of the activity.

aAutoScalingGroupName :: Lens' Activity Text Source

The name of the Auto Scaling group.

aCause :: Lens' Activity Text Source

The reason the activity was begun.

aDescription :: Lens' Activity (Maybe Text) Source

A friendly, more verbose description of the scaling activity.

aDetails :: Lens' Activity (Maybe Text) Source

The details about the scaling activity.

aEndTime :: Lens' Activity (Maybe UTCTime) Source

The end time of this activity.

aProgress :: Lens' Activity (Maybe Int) Source

A value between 0 and 100 that indicates the progress of the activity.

aStartTime :: Lens' Activity UTCTime Source

The start time of this activity.

aStatusCode :: Lens' Activity ScalingActivityStatusCode Source

The current status of the activity.

aStatusMessage :: Lens' Activity (Maybe Text) Source

A friendly, more verbose description of the activity status.

SuspendedProcess

suspendedProcess :: SuspendedProcess Source

SuspendedProcess constructor.

The fields accessible through corresponding lenses are:

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.

MetricGranularityType

metricGranularityType :: MetricGranularityType Source

MetricGranularityType constructor.

The fields accessible through corresponding lenses are:

Filter

filter' Source

Arguments

:: Text

fName

-> Filter 

Filter constructor.

The fields accessible through corresponding lenses are:

fName :: Lens' Filter Text Source

The name of the filter. The valid values are: '"auto-scaling-group"', '"key"', '"value"', and '"propagate-at-launch"'.

fValues :: Lens' Filter [Text] Source

The value of the filter.

ProcessType

processType Source

ProcessType constructor.

The fields accessible through corresponding lenses are:

ptProcessName :: Lens' ProcessType Text Source

The name of the process.

Alarm

alarm :: Alarm Source

Alarm constructor.

The fields accessible through corresponding lenses are:

aAlarmARN :: Lens' Alarm (Maybe Text) Source

The Amazon Resource Name (ARN) of the alarm.

aAlarmName :: Lens' Alarm (Maybe Text) Source

The name of the alarm.

EnabledMetric

enabledMetric :: EnabledMetric Source

EnabledMetric constructor.

The fields accessible through corresponding lenses are:

emGranularity :: Lens' EnabledMetric (Maybe Text) Source

The granularity of the metric.

emMetric :: Lens' EnabledMetric (Maybe Text) Source

The name of the metric.

Instance

iAvailabilityZone :: Lens' Instance Text Source

The Availability Zone associated with this instance.

iHealthStatus :: Lens' Instance Text Source

The health status of the instance.

iInstanceId :: Lens' Instance Text Source

The ID of the instance.

iLaunchConfigurationName :: Lens' Instance Text Source

The launch configuration associated with the instance.

iLifecycleState :: Lens' Instance LifecycleState Source

A description of the current lifecycle state.

The Quarantined lifecycle state is not used.

LifecycleState

AutoScalingInstanceDetails

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.

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.

asidLaunchConfigurationName :: Lens' AutoScalingInstanceDetails Text Source

The launch configuration associated with the instance.

asidLifecycleState :: Lens' AutoScalingInstanceDetails Text Source

The lifecycle state for the instance. For more information, see Auto ScalingInstance States in the Auto Scaling Developer Guide.

ScalingActivityStatusCode