stratosphere-0.1.3: EDSL for AWS CloudFormation

Safe HaskellNone
LanguageHaskell2010

Stratosphere.Resources.AutoScalingGroup

Description

The AWS::AutoScaling::AutoScalingGroup type creates an Auto Scaling group. You can add an UpdatePolicy attribute to your Auto Scaling group to control how rolling updates are performed when a change has been made to the Auto Scaling group's launch configuration or subnet group membership.

Synopsis

Documentation

data AutoScalingGroup Source #

Full data type definition for AutoScalingGroup. See autoScalingGroup for a more convenient constructor.

Instances

Show AutoScalingGroup Source # 
Generic AutoScalingGroup Source # 
ToJSON AutoScalingGroup Source # 
FromJSON AutoScalingGroup Source # 
type Rep AutoScalingGroup Source # 
type Rep AutoScalingGroup = D1 (MetaData "AutoScalingGroup" "Stratosphere.Resources.AutoScalingGroup" "stratosphere-0.1.3-HXdWlc1MCh5Gppf0ypvPw" False) (C1 (MetaCons "AutoScalingGroup" PrefixI True) ((:*:) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_autoScalingGroupAvailabilityZones") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [Val Text]))) (S1 (MetaSel (Just Symbol "_autoScalingGroupCooldown") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Text))))) ((:*:) (S1 (MetaSel (Just Symbol "_autoScalingGroupDesiredCapacity") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Text)))) (S1 (MetaSel (Just Symbol "_autoScalingGroupHealthCheckGracePeriod") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Integer')))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_autoScalingGroupHealthCheckType") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Text)))) (S1 (MetaSel (Just Symbol "_autoScalingGroupInstanceId") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Text))))) ((:*:) (S1 (MetaSel (Just Symbol "_autoScalingGroupLaunchConfigurationName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Text)))) (S1 (MetaSel (Just Symbol "_autoScalingGroupLoadBalancerNames") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [Val Text])))))) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_autoScalingGroupMaxSize") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Val Text))) (S1 (MetaSel (Just Symbol "_autoScalingGroupMetricsCollection") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [AutoScalingMetricsCollection])))) ((:*:) (S1 (MetaSel (Just Symbol "_autoScalingGroupMinSize") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Val Text))) (S1 (MetaSel (Just Symbol "_autoScalingGroupNotificationConfigurations") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [AutoScalingNotificationConfigurations]))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_autoScalingGroupPlacementGroup") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Text)))) (S1 (MetaSel (Just Symbol "_autoScalingGroupTags") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [AutoScalingTags])))) ((:*:) (S1 (MetaSel (Just Symbol "_autoScalingGroupTerminationPolicies") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [Val Text]))) (S1 (MetaSel (Just Symbol "_autoScalingGroupVPCZoneIdentifier") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [Val Text]))))))))

autoScalingGroup Source #

Constructor for AutoScalingGroup containing required fields as arguments.

asgAvailabilityZones :: Lens' AutoScalingGroup (Maybe [Val Text]) Source #

Contains a list of availability zones for the group.

asgCooldown :: Lens' AutoScalingGroup (Maybe (Val Text)) Source #

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

asgDesiredCapacity :: Lens' AutoScalingGroup (Maybe (Val Text)) Source #

Specifies the desired capacity for the Auto Scaling group. If SpotPrice is not set in the AWS::AutoScaling::LaunchConfiguration for this Auto Scaling group, then Auto Scaling will begin to bring instances online based on DesiredCapacity. CloudFormation will not mark the Auto Scaling group as successful (by setting its status to CREATE_COMPLETE) until the desired capacity is reached. If SpotPrice is set, then DesiredCapacity will not be used as a criteria for success, since instances will only be started when the spot price has been matched. After the spot price has been matched, however, Auto Scaling uses DesiredCapacity as the target capacity for the group.

asgHealthCheckGracePeriod :: Lens' AutoScalingGroup (Maybe (Val Integer')) Source #

The length of time in seconds after a new EC2 instance comes into service that Auto Scaling starts checking its health.

asgHealthCheckType :: Lens' AutoScalingGroup (Maybe (Val Text)) Source #

The service you want the health status from, Amazon EC2 or Elastic Load Balancer. Valid values are EC2 or ELB.

asgInstanceId :: Lens' AutoScalingGroup (Maybe (Val Text)) Source #

The ID of the Amazon EC2 instance you want to use to create the Auto Scaling group. Use this property if you want to create an Auto Scaling group that uses an existing Amazon EC2 instance instead of a launch configuration. When you use an Amazon EC2 instance to create an Auto Scaling group, a new launch configuration is first created and then associated with the Auto Scaling group. The new launch configuration derives all its properties from the instance, with the exception of BlockDeviceMapping and AssociatePublicIpAddress.

asgLaunchConfigurationName :: Lens' AutoScalingGroup (Maybe (Val Text)) Source #

Specifies the name of the associated AWS::AutoScaling::LaunchConfiguration. Note If this resource has a public IP address and is also in a VPC that is defined in the same template, you must use the DependsOn attribute to declare a dependency on the VPC-gateway attachment. For more information, see DependsOn Attribute.

asgLoadBalancerNames :: Lens' AutoScalingGroup (Maybe [Val Text]) Source #

A list of load balancers associated with this Auto Scaling group.

asgMaxSize :: Lens' AutoScalingGroup (Val Text) Source #

The maximum size of the Auto Scaling group.

asgMetricsCollection :: Lens' AutoScalingGroup (Maybe [AutoScalingMetricsCollection]) Source #

Enables the monitoring of group metrics of an Auto Scaling group.

asgMinSize :: Lens' AutoScalingGroup (Val Text) Source #

The minimum size of the Auto Scaling group.

asgNotificationConfigurations :: Lens' AutoScalingGroup (Maybe [AutoScalingNotificationConfigurations]) Source #

An embedded property that configures an Auto Scaling group to send notifications when specified events take place.

asgPlacementGroup :: Lens' AutoScalingGroup (Maybe (Val Text)) Source #

The name of an existing cluster placement group into which you want to launch your instances. A placement group is a logical grouping of instances within a single Availability Zone. You cannot specify multiple Availability Zones and a placement group.

asgTags :: Lens' AutoScalingGroup (Maybe [AutoScalingTags]) Source #

The tags you want to attach to this resource. For more information about tags, go to Tagging Auto Scaling Groups and Amazon EC2 Instances in the Auto Scaling User Guide.

asgTerminationPolicies :: Lens' AutoScalingGroup (Maybe [Val Text]) Source #

A policy or a list of policies that are used to select the instances to terminate. The policies are executed in the order that you list them. For more information on configuring a termination policy for your Auto Scaling group, see Instance Termination Policy for Your Auto Scaling Group in the Auto Scaling User Guide.

asgVPCZoneIdentifier :: Lens' AutoScalingGroup (Maybe [Val Text]) Source #

A list of subnet identifiers of Amazon Virtual Private Cloud (Amazon VPCs). If you specify the AvailabilityZones property, the subnets that you specify for this property must reside in those Availability Zones. For more information, go to Using EC2 Dedicated Instances Within Your VPC in the Auto Scaling User Guide.