amazonka-autoscaling-1.6.1: Amazon Auto Scaling SDK.

Copyright(c) 2013-2018 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 .
  • uasgServiceLinkedRoleARN - The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf.
  • 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. If you specify a launch configuration, you can't specify a launch template.
  • uasgHealthCheckType - The service to use for the health checks. The valid values are EC2 and ELB .
  • uasgLaunchTemplate - The launch template to use to specify the updates. If you specify a launch template, you can't specify a launch configuration.
  • 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 # 
Instance details

Defined in Network.AWS.AutoScaling.UpdateAutoScalingGroup

Data UpdateAutoScalingGroup Source # 
Instance details

Defined in Network.AWS.AutoScaling.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 Source # 
Instance details

Defined in Network.AWS.AutoScaling.UpdateAutoScalingGroup

Show UpdateAutoScalingGroup Source # 
Instance details

Defined in Network.AWS.AutoScaling.UpdateAutoScalingGroup

Generic UpdateAutoScalingGroup Source # 
Instance details

Defined in Network.AWS.AutoScaling.UpdateAutoScalingGroup

Associated Types

type Rep UpdateAutoScalingGroup :: Type -> Type #

Hashable UpdateAutoScalingGroup Source # 
Instance details

Defined in Network.AWS.AutoScaling.UpdateAutoScalingGroup

AWSRequest UpdateAutoScalingGroup Source # 
Instance details

Defined in Network.AWS.AutoScaling.UpdateAutoScalingGroup

Associated Types

type Rs UpdateAutoScalingGroup :: Type #

ToHeaders UpdateAutoScalingGroup Source # 
Instance details

Defined in Network.AWS.AutoScaling.UpdateAutoScalingGroup

ToPath UpdateAutoScalingGroup Source # 
Instance details

Defined in Network.AWS.AutoScaling.UpdateAutoScalingGroup

ToQuery UpdateAutoScalingGroup Source # 
Instance details

Defined in Network.AWS.AutoScaling.UpdateAutoScalingGroup

NFData UpdateAutoScalingGroup Source # 
Instance details

Defined in Network.AWS.AutoScaling.UpdateAutoScalingGroup

Methods

rnf :: UpdateAutoScalingGroup -> () #

type Rep UpdateAutoScalingGroup Source # 
Instance details

Defined in Network.AWS.AutoScaling.UpdateAutoScalingGroup

type Rep UpdateAutoScalingGroup = D1 (MetaData "UpdateAutoScalingGroup" "Network.AWS.AutoScaling.UpdateAutoScalingGroup" "amazonka-autoscaling-1.6.1-AbdWdH026wCXAk2CK79vG" False) (C1 (MetaCons "UpdateAutoScalingGroup'" PrefixI True) (((S1 (MetaSel (Just "_uasgTerminationPolicies") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe [Text])) :*: (S1 (MetaSel (Just "_uasgHealthCheckGracePeriod") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Int)) :*: S1 (MetaSel (Just "_uasgServiceLinkedRoleARN") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)))) :*: ((S1 (MetaSel (Just "_uasgNewInstancesProtectedFromScaleIn") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Bool)) :*: S1 (MetaSel (Just "_uasgVPCZoneIdentifier") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 (MetaSel (Just "_uasgDefaultCooldown") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Int)) :*: S1 (MetaSel (Just "_uasgMaxSize") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Int))))) :*: (((S1 (MetaSel (Just "_uasgAvailabilityZones") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe (List1 Text))) :*: S1 (MetaSel (Just "_uasgDesiredCapacity") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Int))) :*: (S1 (MetaSel (Just "_uasgMinSize") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Int)) :*: S1 (MetaSel (Just "_uasgLaunchConfigurationName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)))) :*: ((S1 (MetaSel (Just "_uasgHealthCheckType") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "_uasgLaunchTemplate") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe LaunchTemplateSpecification))) :*: (S1 (MetaSel (Just "_uasgPlacementGroup") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "_uasgAutoScalingGroupName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text))))))
type Rs UpdateAutoScalingGroup Source # 
Instance details

Defined in Network.AWS.AutoScaling.UpdateAutoScalingGroup

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 .

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

The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf.

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. If you specify a launch configuration, you can't specify a launch template.

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

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

uasgLaunchTemplate :: Lens' UpdateAutoScalingGroup (Maybe LaunchTemplateSpecification) Source #

The launch template to use to specify the updates. If you specify a launch template, you can't specify a launch configuration.

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 # 
Instance details

Defined in Network.AWS.AutoScaling.UpdateAutoScalingGroup

Data UpdateAutoScalingGroupResponse Source # 
Instance details

Defined in Network.AWS.AutoScaling.UpdateAutoScalingGroup

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 # 
Instance details

Defined in Network.AWS.AutoScaling.UpdateAutoScalingGroup

Show UpdateAutoScalingGroupResponse Source # 
Instance details

Defined in Network.AWS.AutoScaling.UpdateAutoScalingGroup

Generic UpdateAutoScalingGroupResponse Source # 
Instance details

Defined in Network.AWS.AutoScaling.UpdateAutoScalingGroup

Associated Types

type Rep UpdateAutoScalingGroupResponse :: Type -> Type #

NFData UpdateAutoScalingGroupResponse Source # 
Instance details

Defined in Network.AWS.AutoScaling.UpdateAutoScalingGroup

type Rep UpdateAutoScalingGroupResponse Source # 
Instance details

Defined in Network.AWS.AutoScaling.UpdateAutoScalingGroup

type Rep UpdateAutoScalingGroupResponse = D1 (MetaData "UpdateAutoScalingGroupResponse" "Network.AWS.AutoScaling.UpdateAutoScalingGroup" "amazonka-autoscaling-1.6.1-AbdWdH026wCXAk2CK79vG" False) (C1 (MetaCons "UpdateAutoScalingGroupResponse'" PrefixI False) (U1 :: Type -> Type))