stratosphere-0.2.1: EDSL for AWS CloudFormation

Safe HaskellNone
LanguageHaskell2010

Stratosphere.ResourceAttributes.AutoScalingRollingUpdate

Description

To specify how AWS CloudFormation handles rolling updates for an Auto Scaling group, use the AutoScalingRollingUpdate policy.

Synopsis

Documentation

data AutoScalingRollingUpdate Source #

Full data type definition for AutoScalingRollingUpdate. See autoScalingRollingUpdate for a more convenient constructor.

Instances

Show AutoScalingRollingUpdate Source # 
Generic AutoScalingRollingUpdate Source # 
ToJSON AutoScalingRollingUpdate Source # 
FromJSON AutoScalingRollingUpdate Source # 
type Rep AutoScalingRollingUpdate Source # 
type Rep AutoScalingRollingUpdate = D1 (MetaData "AutoScalingRollingUpdate" "Stratosphere.ResourceAttributes.AutoScalingRollingUpdate" "stratosphere-0.2.1-7UjeTxLOKRACY1vyFAxa7V" False) (C1 (MetaCons "AutoScalingRollingUpdate" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_autoScalingRollingUpdateMaxBatchSize") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Integer')))) ((:*:) (S1 (MetaSel (Just Symbol "_autoScalingRollingUpdateMinInstancesInService") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Integer')))) (S1 (MetaSel (Just Symbol "_autoScalingRollingUpdateMinSuccessfulInstancesPercent") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Integer')))))) ((:*:) (S1 (MetaSel (Just Symbol "_autoScalingRollingUpdatePauseTime") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Text)))) ((:*:) (S1 (MetaSel (Just Symbol "_autoScalingRollingUpdateSuspendProcess") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe [Val Text]))) (S1 (MetaSel (Just Symbol "_autoScalingRollingUpdateWaitOnResourceSignals") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe (Val Bool'))))))))

autoScalingRollingUpdate :: AutoScalingRollingUpdate Source #

Constructor for AutoScalingRollingUpdate containing required fields as arguments.

asruMaxBatchSize :: Lens' AutoScalingRollingUpdate (Maybe (Val Integer')) Source #

Specifies the maximum number of instances that AWS CloudFormation terminates.

asruMinInstancesInService :: Lens' AutoScalingRollingUpdate (Maybe (Val Integer')) Source #

Specifies the minimum number of instances that must be in service within the Auto Scaling group while AWS CloudFormation terminates obsolete instances.

asruMinSuccessfulInstancesPercent :: Lens' AutoScalingRollingUpdate (Maybe (Val Integer')) Source #

Specifies the percentage of instances in an Auto Scaling rolling update that must signal success for an update to succeed. You can specify a value from 0 to 100. AWS CloudFormation rounds to the nearest tenth of a percent. For example, if you update five instances with a minimum successful percentage of 50, three instances must signal success. If an instance doesn't send a signal within the time specified using the PauseTime property, AWS CloudFormation assumes that the instance wasn't successfully updated. If you specify this property, you must also enable the WaitOnResourceSignals and PauseTime properties.

asruPauseTime :: Lens' AutoScalingRollingUpdate (Maybe (Val Text)) Source #

Specifies the amount of time that AWS CloudFormation should pause after making a change to a batch of instances to give these instances time to start software applications. For example, you might need PauseTime when scaling up the number of instances in an Auto Scaling group. If you enable the WaitOnResourceSignals property, PauseTime is the amount of time AWS CloudFormation should wait for the Auto Scaling group to receive the required number of valid signals from added or replaced instances. If the PauseTime is exceeded before the Auto Scaling group receives the required number of signals, the update fails. For best results, specify a time period that gives your instances sufficient time to get started. If the update needs to be rolled back, a short PauseTime can cause the rollback to fail. Specify PauseTime in the ISO8601 duration format (in the format PTM is the number of hours, minutes, and seconds, respectively). The maximum PauseTime is one hour (PT1H).

asruSuspendProcess :: Lens' AutoScalingRollingUpdate (Maybe [Val Text]) Source #

Specifies the Auto Scaling processes to suspend during a stack update. Suspending processes prevents Auto Scaling from interfering with a stack update. For example, you can suspend alarming so that Auto Scaling doesn't execute scaling policies associated with an alarm. For valid values, see the ScalingProcesses.member.N parameter for the SuspendProcesses action in the Auto Scaling API Reference.

asruWaitOnResourceSignals :: Lens' AutoScalingRollingUpdate (Maybe (Val Bool')) Source #

Specifies whether the Auto Scaling group waits on signals from new instances during an update. AWS CloudFormation suspends the update of an Auto Scaling group after new Amazon EC2 instances are launched into the group. AWS CloudFormation must receive a signal from each new instance within the specified PauseTime before continuing the update. To signal the Auto Scaling group, use the cfn-signal helper script or SignalResource API. Use this property to ensure that instances have completed installing and configuring applications before the Auto Scaling group update proceeds.