amazonka-autoscaling-1.5.0: Amazon Auto Scaling SDK.

Copyright(c) 2013-2017 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay+amazonka@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.

The new settings take effect on any scaling activities after this call returns. Scaling activities that are currently in progress aren't affected.

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 .

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 Source #

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 Source #

See: updateAutoScalingGroup smart constructor.

Instances

Eq UpdateAutoScalingGroup Source # 
Data UpdateAutoScalingGroup Source # 

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 Source # 
Show UpdateAutoScalingGroup Source # 
Generic UpdateAutoScalingGroup Source # 
Hashable UpdateAutoScalingGroup Source # 
NFData UpdateAutoScalingGroup Source # 

Methods

rnf :: UpdateAutoScalingGroup -> () #

AWSRequest UpdateAutoScalingGroup Source # 
ToQuery UpdateAutoScalingGroup Source # 
ToPath UpdateAutoScalingGroup Source # 
ToHeaders UpdateAutoScalingGroup Source # 
type Rep UpdateAutoScalingGroup Source # 
type Rep UpdateAutoScalingGroup = D1 (MetaData "UpdateAutoScalingGroup" "Network.AWS.AutoScaling.UpdateAutoScalingGroup" "amazonka-autoscaling-1.5.0-3uSQ7rugLSPKBh89f6b4aY" 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 Source # 

Request Lenses

uasgTerminationPolicies :: Lens' UpdateAutoScalingGroup [Text] Source #

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) 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. The default is 0. For more information, see Health Checks in the Auto Scaling User Guide .

uasgNewInstancesProtectedFromScaleIn :: Lens' UpdateAutoScalingGroup (Maybe Bool) Source #

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

uasgVPCZoneIdentifier :: Lens' UpdateAutoScalingGroup (Maybe Text) Source #

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) Source #

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) Source #

The maximum size of the Auto Scaling group.

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

One or more Availability Zones for the group.

uasgDesiredCapacity :: Lens' UpdateAutoScalingGroup (Maybe Int) Source #

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) Source #

The minimum size of the Auto Scaling group.

uasgLaunchConfigurationName :: Lens' UpdateAutoScalingGroup (Maybe Text) Source #

The name of the launch configuration.

uasgHealthCheckType :: Lens' UpdateAutoScalingGroup (Maybe Text) Source #

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

uasgPlacementGroup :: Lens' UpdateAutoScalingGroup (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 .

uasgAutoScalingGroupName :: Lens' UpdateAutoScalingGroup Text Source #

The name of the Auto Scaling group.

Destructuring the Response

updateAutoScalingGroupResponse :: UpdateAutoScalingGroupResponse Source #

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

data UpdateAutoScalingGroupResponse Source #

See: updateAutoScalingGroupResponse smart constructor.

Instances

Eq UpdateAutoScalingGroupResponse Source # 
Data UpdateAutoScalingGroupResponse Source # 

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 Source # 
Show UpdateAutoScalingGroupResponse Source # 
Generic UpdateAutoScalingGroupResponse Source # 
NFData UpdateAutoScalingGroupResponse Source # 
type Rep UpdateAutoScalingGroupResponse Source # 
type Rep UpdateAutoScalingGroupResponse = D1 (MetaData "UpdateAutoScalingGroupResponse" "Network.AWS.AutoScaling.UpdateAutoScalingGroup" "amazonka-autoscaling-1.5.0-3uSQ7rugLSPKBh89f6b4aY" False) (C1 (MetaCons "UpdateAutoScalingGroupResponse'" PrefixI False) U1)