Auto Scaling

2015/12/09 - Auto Scaling - 1 new10 updated api methods

SetInstanceProtection (new) Link ¶

Updates the instance protection settings of the specified instances.

For more information, see Instance Protection in the Auto Scaling Developer Guide.

Request Syntax

client.set_instance_protection(
    InstanceIds=[
        'string',
    ],
    AutoScalingGroupName='string',
    ProtectedFromScaleIn=True|False
)
type InstanceIds:

list

param InstanceIds:

[REQUIRED]

One or more instance IDs.

  • (string) --

type AutoScalingGroupName:

string

param AutoScalingGroupName:

[REQUIRED]

The name of the group.

type ProtectedFromScaleIn:

boolean

param ProtectedFromScaleIn:

[REQUIRED]

Indicates whether the instance is protected from termination by Auto Scaling when scaling in.

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --

CreateAutoScalingGroup (updated) Link ¶
Changes (request)
{'NewInstancesProtectedFromScaleIn': 'boolean'}

Creates an Auto Scaling group with the specified name and attributes.

If you exceed your maximum limit of Auto Scaling groups, which by default is 20 per region, the call fails. For information about viewing and updating this limit, see DescribeAccountLimits.

For more information, see Auto Scaling Groups in the Auto Scaling Developer Guide.

Request Syntax

client.create_auto_scaling_group(
    AutoScalingGroupName='string',
    LaunchConfigurationName='string',
    InstanceId='string',
    MinSize=123,
    MaxSize=123,
    DesiredCapacity=123,
    DefaultCooldown=123,
    AvailabilityZones=[
        'string',
    ],
    LoadBalancerNames=[
        'string',
    ],
    HealthCheckType='string',
    HealthCheckGracePeriod=123,
    PlacementGroup='string',
    VPCZoneIdentifier='string',
    TerminationPolicies=[
        'string',
    ],
    NewInstancesProtectedFromScaleIn=True|False,
    Tags=[
        {
            'ResourceId': 'string',
            'ResourceType': 'string',
            'Key': 'string',
            'Value': 'string',
            'PropagateAtLaunch': True|False
        },
    ]
)
type AutoScalingGroupName:

string

param AutoScalingGroupName:

[REQUIRED]

The name of the group. This name must be unique within the scope of your AWS account.

type LaunchConfigurationName:

string

param LaunchConfigurationName:

The name of the launch configuration. Alternatively, use the InstanceId parameter to specify an EC2 instance instead of a launch configuration.

type InstanceId:

string

param InstanceId:

The ID of the EC2 instance used to create a launch configuration for the group. Alternatively, use the LaunchConfigurationName parameter to specify a launch configuration instead of an EC2 instance.

When you specify an ID of an instance, Auto Scaling creates a new launch configuration and associates it with the group. This launch configuration derives its attributes from the specified instance, with the exception of the block device mapping.

For more information, see Create an Auto Scaling Group from an EC2 Instance in the Auto Scaling Developer Guide.

type MinSize:

integer

param MinSize:

[REQUIRED]

The minimum size of the group.

type MaxSize:

integer

param MaxSize:

[REQUIRED]

The maximum size of the group.

type DesiredCapacity:

integer

param DesiredCapacity:

The number of EC2 instances that should be running in the 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.

type DefaultCooldown:

integer

param DefaultCooldown:

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 Understanding Auto Scaling Cooldowns in the Auto Scaling Developer Guide.

type AvailabilityZones:

list

param AvailabilityZones:

One or more Availability Zones for the group. This parameter is optional if you specify subnets using the VPCZoneIdentifier parameter.

  • (string) --

type LoadBalancerNames:

list

param LoadBalancerNames:

One or more load balancers.

For more information, see Load Balance Your Auto Scaling Group in the Auto Scaling Developer Guide.

  • (string) --

type HealthCheckType:

string

param HealthCheckType:

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

By default, health checks use Amazon EC2 instance status checks to determine the health of an instance. For more information, see Health Checks in the Auto Scaling Developer Guide.

type HealthCheckGracePeriod:

integer

param HealthCheckGracePeriod:

The amount of time, in seconds, that Auto Scaling waits before checking the health status of an EC2 instance that has come into service. During this time, any health check failures for the instance are ignored. The default is 300.

This parameter is required if you are adding an ELB health check.

For more information, see Health Checks for Auto Scaling Instances in the Auto Scaling Developer Guide.

type PlacementGroup:

string

param PlacementGroup:

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.

type VPCZoneIdentifier:

string

param VPCZoneIdentifier:

A comma-separated list of subnet identifiers for your virtual private cloud (VPC).

If you specify subnets and Availability Zones with this call, ensure that the subnets' Availability Zones match the Availability Zones specified.

For more information, see Auto Scaling and Amazon Virtual Private Cloud in the Auto Scaling Developer Guide.

type TerminationPolicies:

list

param TerminationPolicies:

One or more termination policies used to select the instance to terminate. These policies are executed in the order that they are listed.

For more information, see Choosing a Termination Policy for Your Auto Scaling Group in the Auto Scaling Developer Guide.

  • (string) --

type NewInstancesProtectedFromScaleIn:

boolean

param NewInstancesProtectedFromScaleIn:

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

type Tags:

list

param Tags:

The tag to be created or updated. Each tag should be defined by its resource type, resource ID, key, value, and a propagate flag. Valid values: key=*value*, value=*value*, propagate=*true* or false. Value and propagate are optional parameters.

For more information, see Tagging Auto Scaling Groups and Instances in the Auto Scaling Developer Guide.

  • (dict) --

    Describes a tag for an Auto Scaling group.

    • ResourceId (string) --

      The name of the group.

    • ResourceType (string) --

      The type of resource. The only supported value is auto-scaling-group.

    • Key (string) -- [REQUIRED]

      The tag key.

    • Value (string) --

      The tag value.

    • PropagateAtLaunch (boolean) --

      Determines whether the tag is added to new instances as they are launched in the group.

returns:

None

DescribeAccountLimits (updated) Link ¶
Changes (response)
{'NumberOfAutoScalingGroups': 'integer',
 'NumberOfLaunchConfigurations': 'integer'}

Describes the current Auto Scaling resource limits for your AWS account.

For information about requesting an increase in these limits, see AWS Service Limits in the Amazon Web Services General Reference.

Request Syntax

client.describe_account_limits()
rtype:

dict

returns:

Response Syntax

{
    'MaxNumberOfAutoScalingGroups': 123,
    'MaxNumberOfLaunchConfigurations': 123,
    'NumberOfAutoScalingGroups': 123,
    'NumberOfLaunchConfigurations': 123
}

Response Structure

  • (dict) --

    • MaxNumberOfAutoScalingGroups (integer) --

      The maximum number of groups allowed for your AWS account. The default limit is 20 per region.

    • MaxNumberOfLaunchConfigurations (integer) --

      The maximum number of launch configurations allowed for your AWS account. The default limit is 100 per region.

    • NumberOfAutoScalingGroups (integer) --

      The current number of groups for your AWS account.

    • NumberOfLaunchConfigurations (integer) --

      The current number of launch configurations for your AWS account.

DescribeAutoScalingGroups (updated) Link ¶
Changes (response)
{'AutoScalingGroups': {'Instances': {'ProtectedFromScaleIn': 'boolean'},
                       'NewInstancesProtectedFromScaleIn': 'boolean'}}

Describes one or more Auto Scaling groups. If a list of names is not provided, the call describes all Auto Scaling groups.

Request Syntax

client.describe_auto_scaling_groups(
    AutoScalingGroupNames=[
        'string',
    ],
    NextToken='string',
    MaxRecords=123
)
type AutoScalingGroupNames:

list

param AutoScalingGroupNames:

The group names.

  • (string) --

type NextToken:

string

param NextToken:

The token for the next set of items to return. (You received this token from a previous call.)

type MaxRecords:

integer

param MaxRecords:

The maximum number of items to return with this call.

rtype:

dict

returns:

Response Syntax

{
    'AutoScalingGroups': [
        {
            'AutoScalingGroupName': 'string',
            'AutoScalingGroupARN': 'string',
            'LaunchConfigurationName': 'string',
            'MinSize': 123,
            'MaxSize': 123,
            'DesiredCapacity': 123,
            'DefaultCooldown': 123,
            'AvailabilityZones': [
                'string',
            ],
            'LoadBalancerNames': [
                'string',
            ],
            'HealthCheckType': 'string',
            'HealthCheckGracePeriod': 123,
            'Instances': [
                {
                    'InstanceId': 'string',
                    'AvailabilityZone': 'string',
                    'LifecycleState': 'Pending'|'Pending:Wait'|'Pending:Proceed'|'Quarantined'|'InService'|'Terminating'|'Terminating:Wait'|'Terminating:Proceed'|'Terminated'|'Detaching'|'Detached'|'EnteringStandby'|'Standby',
                    'HealthStatus': 'string',
                    'LaunchConfigurationName': 'string',
                    'ProtectedFromScaleIn': True|False
                },
            ],
            'CreatedTime': datetime(2015, 1, 1),
            'SuspendedProcesses': [
                {
                    'ProcessName': 'string',
                    'SuspensionReason': 'string'
                },
            ],
            'PlacementGroup': 'string',
            'VPCZoneIdentifier': 'string',
            'EnabledMetrics': [
                {
                    'Metric': 'string',
                    'Granularity': 'string'
                },
            ],
            'Status': 'string',
            'Tags': [
                {
                    'ResourceId': 'string',
                    'ResourceType': 'string',
                    'Key': 'string',
                    'Value': 'string',
                    'PropagateAtLaunch': True|False
                },
            ],
            'TerminationPolicies': [
                'string',
            ],
            'NewInstancesProtectedFromScaleIn': True|False
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • AutoScalingGroups (list) --

      The groups.

      • (dict) --

        Describes an Auto Scaling group.

        • AutoScalingGroupName (string) --

          The name of the group.

        • AutoScalingGroupARN (string) --

          The Amazon Resource Name (ARN) of the group.

        • LaunchConfigurationName (string) --

          The name of the associated launch configuration.

        • MinSize (integer) --

          The minimum size of the group.

        • MaxSize (integer) --

          The maximum size of the group.

        • DesiredCapacity (integer) --

          The desired size of the group.

        • DefaultCooldown (integer) --

          The amount of time, in seconds, after a scaling activity completes before another scaling activity can start.

        • AvailabilityZones (list) --

          One or more Availability Zones for the group.

          • (string) --

        • LoadBalancerNames (list) --

          One or more load balancers associated with the group.

          • (string) --

        • HealthCheckType (string) --

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

        • HealthCheckGracePeriod (integer) --

          The amount of time, in seconds, that Auto Scaling waits before checking the health status of an EC2 instance that has come into service.

        • Instances (list) --

          The EC2 instances associated with the group.

          • (dict) --

            Describes an EC2 instance.

            • InstanceId (string) --

              The ID of the instance.

            • AvailabilityZone (string) --

              The Availability Zone in which the instance is running.

            • LifecycleState (string) --

              A description of the current lifecycle state. Note that the Quarantined state is not used.

            • HealthStatus (string) --

              The health status of the instance.

            • LaunchConfigurationName (string) --

              The launch configuration associated with the instance.

            • ProtectedFromScaleIn (boolean) --

              Indicates whether the instance is protected from termination by Auto Scaling when scaling in.

        • CreatedTime (datetime) --

          The date and time the group was created.

        • SuspendedProcesses (list) --

          The suspended processes associated with the group.

          • (dict) --

            Describes an Auto Scaling process that has been suspended. For more information, see ProcessType.

            • ProcessName (string) --

              The name of the suspended process.

            • SuspensionReason (string) --

              The reason that the process was suspended.

        • PlacementGroup (string) --

          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.

        • VPCZoneIdentifier (string) --

          One or more subnet IDs, if applicable, separated by commas.

          If you specify VPCZoneIdentifier and AvailabilityZones, ensure that the Availability Zones of the subnets match the values for AvailabilityZones.

        • EnabledMetrics (list) --

          The metrics enabled for the group.

          • (dict) --

            Describes an enabled metric.

            • Metric (string) --

              One of the following metrics:

              • GroupMinSize

              • GroupMaxSize

              • GroupDesiredCapacity

              • GroupInServiceInstances

              • GroupPendingInstances

              • GroupStandbyInstances

              • GroupTerminatingInstances

              • GroupTotalInstances

            • Granularity (string) --

              The granularity of the metric. The only valid value is 1Minute.

        • Status (string) --

          The current state of the group when DeleteAutoScalingGroup is in progress.

        • Tags (list) --

          The tags for the group.

          • (dict) --

            Describes a tag for an Auto Scaling group.

            • ResourceId (string) --

              The name of the group.

            • ResourceType (string) --

              The type of resource. The only supported value is auto-scaling-group.

            • Key (string) --

              The tag key.

            • Value (string) --

              The tag value.

            • PropagateAtLaunch (boolean) --

              Determines whether the tag is added to new instances as they are launched in the group.

        • TerminationPolicies (list) --

          The termination policies for the group.

          • (string) --

        • NewInstancesProtectedFromScaleIn (boolean) --

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

    • NextToken (string) --

      The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

DescribeAutoScalingInstances (updated) Link ¶
Changes (response)
{'AutoScalingInstances': {'ProtectedFromScaleIn': 'boolean'}}

Describes one or more Auto Scaling instances. If a list is not provided, the call describes all instances.

Request Syntax

client.describe_auto_scaling_instances(
    InstanceIds=[
        'string',
    ],
    MaxRecords=123,
    NextToken='string'
)
type InstanceIds:

list

param InstanceIds:

One or more Auto Scaling instances to describe, up to 50 instances. If you omit this parameter, all Auto Scaling instances are described. If you specify an ID that does not exist, it is ignored with no error.

  • (string) --

type MaxRecords:

integer

param MaxRecords:

The maximum number of items to return with this call.

type NextToken:

string

param NextToken:

The token for the next set of items to return. (You received this token from a previous call.)

rtype:

dict

returns:

Response Syntax

{
    'AutoScalingInstances': [
        {
            'InstanceId': 'string',
            'AutoScalingGroupName': 'string',
            'AvailabilityZone': 'string',
            'LifecycleState': 'string',
            'HealthStatus': 'string',
            'LaunchConfigurationName': 'string',
            'ProtectedFromScaleIn': True|False
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • AutoScalingInstances (list) --

      The instances.

      • (dict) --

        Describes an EC2 instance associated with an Auto Scaling group.

        • InstanceId (string) --

          The ID of the instance.

        • AutoScalingGroupName (string) --

          The name of the Auto Scaling group associated with the instance.

        • AvailabilityZone (string) --

          The Availability Zone for the instance.

        • LifecycleState (string) --

          The lifecycle state for the instance. For more information, see Auto Scaling Instance States in the Auto Scaling Developer Guide.

        • HealthStatus (string) --

          The health status of this instance. "Healthy" means that the instance is healthy and should remain in service. "Unhealthy" means that the instance is unhealthy and Auto Scaling should terminate and replace it.

        • LaunchConfigurationName (string) --

          The launch configuration associated with the instance.

        • ProtectedFromScaleIn (boolean) --

          Indicates whether the instance is protected from termination by Auto Scaling when scaling in.

    • NextToken (string) --

      The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

DescribeScalingActivities (updated) Link ¶
Changes (response)
{'Activities': {'StatusCode': {'PendingSpotBidPlacement'}}}

Describes one or more scaling activities for the specified Auto Scaling group. If you omit the ActivityIds, the call returns all activities from the past six weeks. Activities are sorted by the start time. Activities still in progress appear first on the list.

Request Syntax

client.describe_scaling_activities(
    ActivityIds=[
        'string',
    ],
    AutoScalingGroupName='string',
    MaxRecords=123,
    NextToken='string'
)
type ActivityIds:

list

param ActivityIds:

The activity IDs of the desired scaling activities. If this list is omitted, all activities are described. If the AutoScalingGroupName parameter is provided, the results are limited to that group. The list of requested activities cannot contain more than 50 items. If unknown activities are requested, they are ignored with no error.

  • (string) --

type AutoScalingGroupName:

string

param AutoScalingGroupName:

The name of the group.

type MaxRecords:

integer

param MaxRecords:

The maximum number of items to return with this call.

type NextToken:

string

param NextToken:

The token for the next set of items to return. (You received this token from a previous call.)

rtype:

dict

returns:

Response Syntax

{
    'Activities': [
        {
            'ActivityId': 'string',
            'AutoScalingGroupName': 'string',
            'Description': 'string',
            'Cause': 'string',
            'StartTime': datetime(2015, 1, 1),
            'EndTime': datetime(2015, 1, 1),
            'StatusCode': 'PendingSpotBidPlacement'|'WaitingForSpotInstanceRequestId'|'WaitingForSpotInstanceId'|'WaitingForInstanceId'|'PreInService'|'InProgress'|'WaitingForELBConnectionDraining'|'MidLifecycleAction'|'WaitingForInstanceWarmup'|'Successful'|'Failed'|'Cancelled',
            'StatusMessage': 'string',
            'Progress': 123,
            'Details': 'string'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Activities (list) --

      The scaling activities.

      • (dict) --

        Describes scaling activity, which is a long-running process that represents a change to your Auto Scaling group, such as changing its size or replacing an instance.

        • ActivityId (string) --

          The ID of the activity.

        • AutoScalingGroupName (string) --

          The name of the Auto Scaling group.

        • Description (string) --

          A friendly, more verbose description of the activity.

        • Cause (string) --

          The reason the activity began.

        • StartTime (datetime) --

          The start time of the activity.

        • EndTime (datetime) --

          The end time of the activity.

        • StatusCode (string) --

          The current status of the activity.

        • StatusMessage (string) --

          A friendly, more verbose description of the activity status.

        • Progress (integer) --

          A value between 0 and 100 that indicates the progress of the activity.

        • Details (string) --

          The details about the activity.

    • NextToken (string) --

      The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

DetachInstances (updated) Link ¶
Changes (response)
{'Activities': {'StatusCode': {'PendingSpotBidPlacement'}}}

Removes one or more instances from the specified Auto Scaling group.

After the instances are detached, you can manage them independently from the rest of the Auto Scaling group.

If you do not specify the option to decrement the desired capacity, Auto Scaling launches instances to replace the ones that are detached.

For more information, see Detach EC2 Instances from Your Auto Scaling Group in the Auto Scaling Developer Guide.

Request Syntax

client.detach_instances(
    InstanceIds=[
        'string',
    ],
    AutoScalingGroupName='string',
    ShouldDecrementDesiredCapacity=True|False
)
type InstanceIds:

list

param InstanceIds:

One or more instance IDs.

  • (string) --

type AutoScalingGroupName:

string

param AutoScalingGroupName:

[REQUIRED]

The name of the group.

type ShouldDecrementDesiredCapacity:

boolean

param ShouldDecrementDesiredCapacity:

[REQUIRED]

If True, the Auto Scaling group decrements the desired capacity value by the number of instances detached.

rtype:

dict

returns:

Response Syntax

{
    'Activities': [
        {
            'ActivityId': 'string',
            'AutoScalingGroupName': 'string',
            'Description': 'string',
            'Cause': 'string',
            'StartTime': datetime(2015, 1, 1),
            'EndTime': datetime(2015, 1, 1),
            'StatusCode': 'PendingSpotBidPlacement'|'WaitingForSpotInstanceRequestId'|'WaitingForSpotInstanceId'|'WaitingForInstanceId'|'PreInService'|'InProgress'|'WaitingForELBConnectionDraining'|'MidLifecycleAction'|'WaitingForInstanceWarmup'|'Successful'|'Failed'|'Cancelled',
            'StatusMessage': 'string',
            'Progress': 123,
            'Details': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • Activities (list) --

      The activities related to detaching the instances from the Auto Scaling group.

      • (dict) --

        Describes scaling activity, which is a long-running process that represents a change to your Auto Scaling group, such as changing its size or replacing an instance.

        • ActivityId (string) --

          The ID of the activity.

        • AutoScalingGroupName (string) --

          The name of the Auto Scaling group.

        • Description (string) --

          A friendly, more verbose description of the activity.

        • Cause (string) --

          The reason the activity began.

        • StartTime (datetime) --

          The start time of the activity.

        • EndTime (datetime) --

          The end time of the activity.

        • StatusCode (string) --

          The current status of the activity.

        • StatusMessage (string) --

          A friendly, more verbose description of the activity status.

        • Progress (integer) --

          A value between 0 and 100 that indicates the progress of the activity.

        • Details (string) --

          The details about the activity.

EnterStandby (updated) Link ¶
Changes (response)
{'Activities': {'StatusCode': {'PendingSpotBidPlacement'}}}

Moves the specified instances into Standby mode.

For more information, see Auto Scaling InService State in the Auto Scaling Developer Guide.

Request Syntax

client.enter_standby(
    InstanceIds=[
        'string',
    ],
    AutoScalingGroupName='string',
    ShouldDecrementDesiredCapacity=True|False
)
type InstanceIds:

list

param InstanceIds:

One or more instances to move into Standby mode. You must specify at least one instance ID.

  • (string) --

type AutoScalingGroupName:

string

param AutoScalingGroupName:

[REQUIRED]

The name of the Auto Scaling group.

type ShouldDecrementDesiredCapacity:

boolean

param ShouldDecrementDesiredCapacity:

[REQUIRED]

Specifies whether the instances moved to Standby mode count as part of the Auto Scaling group's desired capacity. If set, the desired capacity for the Auto Scaling group decrements by the number of instances moved to Standby mode.

rtype:

dict

returns:

Response Syntax

{
    'Activities': [
        {
            'ActivityId': 'string',
            'AutoScalingGroupName': 'string',
            'Description': 'string',
            'Cause': 'string',
            'StartTime': datetime(2015, 1, 1),
            'EndTime': datetime(2015, 1, 1),
            'StatusCode': 'PendingSpotBidPlacement'|'WaitingForSpotInstanceRequestId'|'WaitingForSpotInstanceId'|'WaitingForInstanceId'|'PreInService'|'InProgress'|'WaitingForELBConnectionDraining'|'MidLifecycleAction'|'WaitingForInstanceWarmup'|'Successful'|'Failed'|'Cancelled',
            'StatusMessage': 'string',
            'Progress': 123,
            'Details': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • Activities (list) --

      The activities related to moving instances into Standby mode.

      • (dict) --

        Describes scaling activity, which is a long-running process that represents a change to your Auto Scaling group, such as changing its size or replacing an instance.

        • ActivityId (string) --

          The ID of the activity.

        • AutoScalingGroupName (string) --

          The name of the Auto Scaling group.

        • Description (string) --

          A friendly, more verbose description of the activity.

        • Cause (string) --

          The reason the activity began.

        • StartTime (datetime) --

          The start time of the activity.

        • EndTime (datetime) --

          The end time of the activity.

        • StatusCode (string) --

          The current status of the activity.

        • StatusMessage (string) --

          A friendly, more verbose description of the activity status.

        • Progress (integer) --

          A value between 0 and 100 that indicates the progress of the activity.

        • Details (string) --

          The details about the activity.

ExitStandby (updated) Link ¶
Changes (response)
{'Activities': {'StatusCode': {'PendingSpotBidPlacement'}}}

Moves the specified instances out of Standby mode.

For more information, see Auto Scaling InService State in the Auto Scaling Developer Guide.

Request Syntax

client.exit_standby(
    InstanceIds=[
        'string',
    ],
    AutoScalingGroupName='string'
)
type InstanceIds:

list

param InstanceIds:

One or more instance IDs. You must specify at least one instance ID.

  • (string) --

type AutoScalingGroupName:

string

param AutoScalingGroupName:

[REQUIRED]

The name of the Auto Scaling group.

rtype:

dict

returns:

Response Syntax

{
    'Activities': [
        {
            'ActivityId': 'string',
            'AutoScalingGroupName': 'string',
            'Description': 'string',
            'Cause': 'string',
            'StartTime': datetime(2015, 1, 1),
            'EndTime': datetime(2015, 1, 1),
            'StatusCode': 'PendingSpotBidPlacement'|'WaitingForSpotInstanceRequestId'|'WaitingForSpotInstanceId'|'WaitingForInstanceId'|'PreInService'|'InProgress'|'WaitingForELBConnectionDraining'|'MidLifecycleAction'|'WaitingForInstanceWarmup'|'Successful'|'Failed'|'Cancelled',
            'StatusMessage': 'string',
            'Progress': 123,
            'Details': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • Activities (list) --

      The activities related to moving instances out of Standby mode.

      • (dict) --

        Describes scaling activity, which is a long-running process that represents a change to your Auto Scaling group, such as changing its size or replacing an instance.

        • ActivityId (string) --

          The ID of the activity.

        • AutoScalingGroupName (string) --

          The name of the Auto Scaling group.

        • Description (string) --

          A friendly, more verbose description of the activity.

        • Cause (string) --

          The reason the activity began.

        • StartTime (datetime) --

          The start time of the activity.

        • EndTime (datetime) --

          The end time of the activity.

        • StatusCode (string) --

          The current status of the activity.

        • StatusMessage (string) --

          A friendly, more verbose description of the activity status.

        • Progress (integer) --

          A value between 0 and 100 that indicates the progress of the activity.

        • Details (string) --

          The details about the activity.

TerminateInstanceInAutoScalingGroup (updated) Link ¶
Changes (response)
{'Activity': {'StatusCode': {'PendingSpotBidPlacement'}}}

Terminates the specified instance and optionally adjusts the desired group size.

This call simply makes a termination request. The instance is not terminated immediately.

Request Syntax

client.terminate_instance_in_auto_scaling_group(
    InstanceId='string',
    ShouldDecrementDesiredCapacity=True|False
)
type InstanceId:

string

param InstanceId:

[REQUIRED]

The ID of the EC2 instance.

type ShouldDecrementDesiredCapacity:

boolean

param ShouldDecrementDesiredCapacity:

[REQUIRED]

If true, terminating the instance also decrements the size of the Auto Scaling group.

rtype:

dict

returns:

Response Syntax

{
    'Activity': {
        'ActivityId': 'string',
        'AutoScalingGroupName': 'string',
        'Description': 'string',
        'Cause': 'string',
        'StartTime': datetime(2015, 1, 1),
        'EndTime': datetime(2015, 1, 1),
        'StatusCode': 'PendingSpotBidPlacement'|'WaitingForSpotInstanceRequestId'|'WaitingForSpotInstanceId'|'WaitingForInstanceId'|'PreInService'|'InProgress'|'WaitingForELBConnectionDraining'|'MidLifecycleAction'|'WaitingForInstanceWarmup'|'Successful'|'Failed'|'Cancelled',
        'StatusMessage': 'string',
        'Progress': 123,
        'Details': 'string'
    }
}

Response Structure

  • (dict) --

    • Activity (dict) --

      A scaling activity.

      • ActivityId (string) --

        The ID of the activity.

      • AutoScalingGroupName (string) --

        The name of the Auto Scaling group.

      • Description (string) --

        A friendly, more verbose description of the activity.

      • Cause (string) --

        The reason the activity began.

      • StartTime (datetime) --

        The start time of the activity.

      • EndTime (datetime) --

        The end time of the activity.

      • StatusCode (string) --

        The current status of the activity.

      • StatusMessage (string) --

        A friendly, more verbose description of the activity status.

      • Progress (integer) --

        A value between 0 and 100 that indicates the progress of the activity.

      • Details (string) --

        The details about the activity.

UpdateAutoScalingGroup (updated) Link ¶
Changes (request)
{'NewInstancesProtectedFromScaleIn': 'boolean'}

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.

Request Syntax

client.update_auto_scaling_group(
    AutoScalingGroupName='string',
    LaunchConfigurationName='string',
    MinSize=123,
    MaxSize=123,
    DesiredCapacity=123,
    DefaultCooldown=123,
    AvailabilityZones=[
        'string',
    ],
    HealthCheckType='string',
    HealthCheckGracePeriod=123,
    PlacementGroup='string',
    VPCZoneIdentifier='string',
    TerminationPolicies=[
        'string',
    ],
    NewInstancesProtectedFromScaleIn=True|False
)
type AutoScalingGroupName:

string

param AutoScalingGroupName:

[REQUIRED]

The name of the Auto Scaling group.

type LaunchConfigurationName:

string

param LaunchConfigurationName:

The name of the launch configuration.

type MinSize:

integer

param MinSize:

The minimum size of the Auto Scaling group.

type MaxSize:

integer

param MaxSize:

The maximum size of the Auto Scaling group.

type DesiredCapacity:

integer

param DesiredCapacity:

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.

type DefaultCooldown:

integer

param DefaultCooldown:

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 Understanding Auto Scaling Cooldowns in the Auto Scaling Developer Guide.

type AvailabilityZones:

list

param AvailabilityZones:

One or more Availability Zones for the group.

  • (string) --

type HealthCheckType:

string

param HealthCheckType:

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

type HealthCheckGracePeriod:

integer

param HealthCheckGracePeriod:

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 300.

For more information, see Health Checks For Auto Scaling Instances in the Auto Scaling Developer Guide.

type PlacementGroup:

string

param PlacementGroup:

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.

type VPCZoneIdentifier:

string

param VPCZoneIdentifier:

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 Auto Scaling and Amazon Virtual Private Cloud in the Auto Scaling Developer Guide.

type TerminationPolicies:

list

param TerminationPolicies:

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 Choosing a Termination Policy for Your Auto Scaling Group in the Auto Scaling Developer Guide.

  • (string) --

type NewInstancesProtectedFromScaleIn:

boolean

param NewInstancesProtectedFromScaleIn:

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

returns:

None