amazonka-autoscaling-1.4.5: Amazon Auto Scaling SDK.

Copyright(c) 2013-2016 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Network.AWS.AutoScaling.UpdateAutoScalingGroup

Contents

Description

Updates the configuration for the specified Auto Scaling group.

To update an Auto Scaling group with a launch configuration with InstanceMonitoring set to False , you must first disable the collection of group metrics. Otherwise, you will get an error. If you have previously enabled the collection of group metrics, you can disable it using DisableMetricsCollection .

The new settings are registered upon the completion of this call. Any launch configuration settings take effect on any triggers after this call returns. Scaling activities that are currently in progress aren't affected.

Note the following:

  • If you specify a new value for MinSize without specifying a value for DesiredCapacity , and the new MinSize is larger than the current size of the group, we implicitly call SetDesiredCapacity to set the size of the group to the new value of MinSize .
  • If you specify a new value for MaxSize without specifying a value for DesiredCapacity , and the new MaxSize is smaller than the current size of the group, we implicitly call SetDesiredCapacity to set the size of the group to the new value of MaxSize .
  • All other optional parameters are left unchanged if not specified.

Synopsis

Creating a Request

updateAutoScalingGroup #

Creates a value of UpdateAutoScalingGroup with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

  • uasgTerminationPolicies - A standalone termination policy or a list of termination policies used to select the instance to terminate. The policies are executed in the order that they are listed. For more information, see Controlling Which Instances Auto Scaling Terminates During Scale In in the Auto Scaling User Guide .
  • uasgHealthCheckGracePeriod - The amount of time, in seconds, that Auto Scaling waits before checking the health status of an EC2 instance that has come into service. The default is 0. For more information, see Health Checks in the Auto Scaling User Guide .
  • uasgNewInstancesProtectedFromScaleIn - Indicates whether newly launched instances are protected from termination by Auto Scaling when scaling in.
  • uasgVPCZoneIdentifier - The ID of the subnet, if you are launching into a VPC. You can specify several subnets in a comma-separated list. When you specify VPCZoneIdentifier with AvailabilityZones , ensure that the subnets' Availability Zones match the values you specify for AvailabilityZones . For more information, see Launching Auto Scaling Instances in a VPC in the Auto Scaling User Guide .
  • uasgDefaultCooldown - The amount of time, in seconds, after a scaling activity completes before another scaling activity can start. The default is 300. For more information, see Auto Scaling Cooldowns in the Auto Scaling User Guide .
  • uasgMaxSize - The maximum size of the Auto Scaling group.
  • uasgAvailabilityZones - One or more Availability Zones for the group.
  • uasgDesiredCapacity - The number of EC2 instances that should be running in the Auto Scaling group. This number must be greater than or equal to the minimum size of the group and less than or equal to the maximum size of the group.
  • uasgMinSize - The minimum size of the Auto Scaling group.
  • uasgLaunchConfigurationName - The name of the launch configuration.
  • uasgHealthCheckType - The service to use for the health checks. The valid values are EC2 and ELB .
  • uasgPlacementGroup - 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 .
  • uasgAutoScalingGroupName - The name of the Auto Scaling group.

data UpdateAutoScalingGroup #

Contains the parameters for UpdateAutoScalingGroup.

See: updateAutoScalingGroup smart constructor.

Instances

Eq UpdateAutoScalingGroup # 
Data UpdateAutoScalingGroup # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UpdateAutoScalingGroup -> c UpdateAutoScalingGroup #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UpdateAutoScalingGroup #

toConstr :: UpdateAutoScalingGroup -> Constr #

dataTypeOf :: UpdateAutoScalingGroup -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c UpdateAutoScalingGroup) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UpdateAutoScalingGroup) #

gmapT :: (forall b. Data b => b -> b) -> UpdateAutoScalingGroup -> UpdateAutoScalingGroup #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UpdateAutoScalingGroup -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UpdateAutoScalingGroup -> r #

gmapQ :: (forall d. Data d => d -> u) -> UpdateAutoScalingGroup -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> UpdateAutoScalingGroup -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> UpdateAutoScalingGroup -> m UpdateAutoScalingGroup #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UpdateAutoScalingGroup -> m UpdateAutoScalingGroup #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UpdateAutoScalingGroup -> m UpdateAutoScalingGroup #

Read UpdateAutoScalingGroup # 
Show UpdateAutoScalingGroup # 
Generic UpdateAutoScalingGroup # 
Hashable UpdateAutoScalingGroup # 
NFData UpdateAutoScalingGroup # 

Methods

rnf :: UpdateAutoScalingGroup -> () #

AWSRequest UpdateAutoScalingGroup # 
ToQuery UpdateAutoScalingGroup # 
ToPath UpdateAutoScalingGroup # 
ToHeaders UpdateAutoScalingGroup # 
type Rep UpdateAutoScalingGroup # 
type Rep UpdateAutoScalingGroup = D1 (MetaData "UpdateAutoScalingGroup" "Network.AWS.AutoScaling.UpdateAutoScalingGroup" "amazonka-autoscaling-1.4.5-7eWJWM4Di3O2fihmLpacNP" False) (C1 (MetaCons "UpdateAutoScalingGroup'" PrefixI True) ((:*:) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_uasgTerminationPolicies") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe [Text]))) ((:*:) (S1 (MetaSel (Just Symbol "_uasgHealthCheckGracePeriod") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Int))) (S1 (MetaSel (Just Symbol "_uasgNewInstancesProtectedFromScaleIn") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Bool))))) ((:*:) (S1 (MetaSel (Just Symbol "_uasgVPCZoneIdentifier") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "_uasgDefaultCooldown") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Int))) (S1 (MetaSel (Just Symbol "_uasgMaxSize") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Int)))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_uasgAvailabilityZones") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe (List1 Text)))) ((:*:) (S1 (MetaSel (Just Symbol "_uasgDesiredCapacity") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Int))) (S1 (MetaSel (Just Symbol "_uasgMinSize") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Int))))) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_uasgLaunchConfigurationName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "_uasgHealthCheckType") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)))) ((:*:) (S1 (MetaSel (Just Symbol "_uasgPlacementGroup") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "_uasgAutoScalingGroupName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text)))))))
type Rs UpdateAutoScalingGroup # 

Request Lenses

uasgTerminationPolicies :: Lens' UpdateAutoScalingGroup [Text] #

A standalone termination policy or a list of termination policies used to select the instance to terminate. The policies are executed in the order that they are listed. For more information, see Controlling Which Instances Auto Scaling Terminates During Scale In in the Auto Scaling User Guide .

uasgHealthCheckGracePeriod :: Lens' UpdateAutoScalingGroup (Maybe Int) #

The amount of time, in seconds, that Auto Scaling waits before checking the health status of an EC2 instance that has come into service. The default is 0. For more information, see Health Checks in the Auto Scaling User Guide .

uasgNewInstancesProtectedFromScaleIn :: Lens' UpdateAutoScalingGroup (Maybe Bool) #

Indicates whether newly launched instances are protected from termination by Auto Scaling when scaling in.

uasgVPCZoneIdentifier :: Lens' UpdateAutoScalingGroup (Maybe Text) #

The ID of the subnet, if you are launching into a VPC. You can specify several subnets in a comma-separated list. When you specify VPCZoneIdentifier with AvailabilityZones , ensure that the subnets' Availability Zones match the values you specify for AvailabilityZones . For more information, see Launching Auto Scaling Instances in a VPC in the Auto Scaling User Guide .

uasgDefaultCooldown :: Lens' UpdateAutoScalingGroup (Maybe Int) #

The amount of time, in seconds, after a scaling activity completes before another scaling activity can start. The default is 300. For more information, see Auto Scaling Cooldowns in the Auto Scaling User Guide .

uasgMaxSize :: Lens' UpdateAutoScalingGroup (Maybe Int) #

The maximum size of the Auto Scaling group.

uasgAvailabilityZones :: Lens' UpdateAutoScalingGroup (Maybe (NonEmpty Text)) #

One or more Availability Zones for the group.

uasgDesiredCapacity :: Lens' UpdateAutoScalingGroup (Maybe Int) #

The number of EC2 instances that should be running in the Auto Scaling group. This number must be greater than or equal to the minimum size of the group and less than or equal to the maximum size of the group.

uasgMinSize :: Lens' UpdateAutoScalingGroup (Maybe Int) #

The minimum size of the Auto Scaling group.

uasgLaunchConfigurationName :: Lens' UpdateAutoScalingGroup (Maybe Text) #

The name of the launch configuration.

uasgHealthCheckType :: Lens' UpdateAutoScalingGroup (Maybe Text) #

The service to use for the health checks. The valid values are EC2 and ELB .

uasgPlacementGroup :: Lens' UpdateAutoScalingGroup (Maybe Text) #

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 .

uasgAutoScalingGroupName :: Lens' UpdateAutoScalingGroup Text #

The name of the Auto Scaling group.

Destructuring the Response

updateAutoScalingGroupResponse :: UpdateAutoScalingGroupResponse #

Creates a value of UpdateAutoScalingGroupResponse with the minimum fields required to make a request.

data UpdateAutoScalingGroupResponse #

See: updateAutoScalingGroupResponse smart constructor.

Instances

Eq UpdateAutoScalingGroupResponse # 
Data UpdateAutoScalingGroupResponse # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UpdateAutoScalingGroupResponse -> c UpdateAutoScalingGroupResponse #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UpdateAutoScalingGroupResponse #

toConstr :: UpdateAutoScalingGroupResponse -> Constr #

dataTypeOf :: UpdateAutoScalingGroupResponse -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c UpdateAutoScalingGroupResponse) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UpdateAutoScalingGroupResponse) #

gmapT :: (forall b. Data b => b -> b) -> UpdateAutoScalingGroupResponse -> UpdateAutoScalingGroupResponse #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UpdateAutoScalingGroupResponse -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UpdateAutoScalingGroupResponse -> r #

gmapQ :: (forall d. Data d => d -> u) -> UpdateAutoScalingGroupResponse -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> UpdateAutoScalingGroupResponse -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> UpdateAutoScalingGroupResponse -> m UpdateAutoScalingGroupResponse #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UpdateAutoScalingGroupResponse -> m UpdateAutoScalingGroupResponse #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UpdateAutoScalingGroupResponse -> m UpdateAutoScalingGroupResponse #

Read UpdateAutoScalingGroupResponse # 
Show UpdateAutoScalingGroupResponse # 
Generic UpdateAutoScalingGroupResponse # 
NFData UpdateAutoScalingGroupResponse # 
type Rep UpdateAutoScalingGroupResponse # 
type Rep UpdateAutoScalingGroupResponse = D1 (MetaData "UpdateAutoScalingGroupResponse" "Network.AWS.AutoScaling.UpdateAutoScalingGroup" "amazonka-autoscaling-1.4.5-7eWJWM4Di3O2fihmLpacNP" False) (C1 (MetaCons "UpdateAutoScalingGroupResponse'" PrefixI False) U1)