Auto Scaling

Implementation details for API autoscaling

Coverage Overview

Auto Scaling is supported by LocalStack only in the pro image.

AvailabilityTesting*
OperationImplementedImageInternal Test SuiteExternal Test SuiteTerraform ValidatedAWS ValidatedSnapshot TestedDetails
AttachInstances✔️pro✔️
AttachLoadBalancerTargetGroups✔️pro✔️✔️
AttachLoadBalancers✔️pro✔️✔️
AttachTrafficSources
BatchDeleteScheduledAction✔️pro✔️
BatchPutScheduledUpdateGroupAction✔️pro✔️
CancelInstanceRefresh
CompleteLifecycleAction
CreateAutoScalingGroup✔️pro✔️✔️✔️✔️✔️Show Tests
CreateLaunchConfiguration✔️pro✔️✔️✔️✔️✔️Show Tests
CreateOrUpdateTags✔️pro✔️✔️
DeleteAutoScalingGroup✔️pro✔️✔️✔️✔️✔️Show Tests
DeleteLaunchConfiguration✔️pro✔️✔️✔️✔️✔️Show Tests
DeleteLifecycleHook✔️pro✔️✔️
DeleteNotificationConfiguration
DeletePolicy✔️pro✔️✔️
DeleteScheduledAction✔️pro✔️✔️
DeleteTags✔️pro✔️✔️
DeleteWarmPool✔️pro✔️✔️
DescribeAccountLimits
DescribeAdjustmentTypes
DescribeAutoScalingGroups✔️pro✔️✔️✔️✔️✔️Show Tests
DescribeAutoScalingInstances✔️pro✔️
DescribeAutoScalingNotificationTypes
DescribeInstanceRefreshes
DescribeLaunchConfigurations✔️pro✔️✔️
DescribeLifecycleHookTypes
DescribeLifecycleHooks✔️pro✔️✔️
DescribeLoadBalancerTargetGroups✔️pro✔️
DescribeLoadBalancers✔️pro✔️
DescribeMetricCollectionTypes✔️pro✔️✔️Show Tests
DescribeNotificationConfigurations
DescribePolicies✔️pro✔️✔️
DescribeScalingActivities✔️pro✔️✔️
DescribeScalingProcessTypes
DescribeScheduledActions✔️pro✔️✔️
DescribeTags✔️pro✔️✔️
DescribeTerminationPolicyTypes
DescribeTrafficSources
DescribeWarmPool✔️pro✔️✔️
DetachInstances✔️pro✔️
DetachLoadBalancerTargetGroups✔️pro✔️✔️
DetachLoadBalancers✔️pro✔️✔️
DetachTrafficSources
DisableMetricsCollection✔️pro✔️✔️Show Tests
EnableMetricsCollection✔️pro✔️✔️✔️✔️Show Tests
EnterStandby✔️pro✔️
ExecutePolicy✔️pro✔️
ExitStandby✔️pro✔️
GetPredictiveScalingForecast
PutLifecycleHook✔️pro✔️✔️
PutNotificationConfiguration
PutScalingPolicy✔️pro✔️✔️
PutScheduledUpdateGroupAction✔️pro✔️✔️
PutWarmPool✔️pro✔️✔️
RecordLifecycleActionHeartbeat
ResumeProcesses✔️pro✔️✔️
RollbackInstanceRefresh
SetDesiredCapacity✔️pro✔️
SetInstanceHealth✔️pro✔️
SetInstanceProtection✔️pro✔️✔️
StartInstanceRefresh
SuspendProcesses✔️pro✔️✔️
TerminateInstanceInAutoScalingGroup✔️pro✔️
UpdateAutoScalingGroup✔️pro✔️✔️

Terminology

  • Internal Test Suite: tested by LocalStack's internal integration test suite
  • External Test Suite: covered by an external integration test suite, that runs against LocalStack
  • Terraform Validated: operation tested with Terraform
  • AWS Validated: the integration test that includes this operation call was validated against AWS
  • Snapshot Tested: the operation is part of a snapshot parity test, which verifies the responses by LocalStack and AWS are the same

Testing Details

This section gives an overview about the internal integration test suite and the specific test cases that recorded the API call.

How to read the test details?

For each operation we put up a list of the related integration test cases.
Those operation calls have been recorded during the execution of the outlined test cases. Some calls might be internal, i.e., they are not explicitly called in the test, but are triggered implicitly by the LocalStack framework.

  • Parameters: The tests are ordered by the parameters used, which are highlighted in bold.
  • Test Details: LocalStack Community or LocalStack Pro indicates where the test originates. For each test you see:
    • test name
    • status code returned (which is the expected one for the test case)
    • information about validation:
      • AWS validated the test is validated against AWS, meaning it run successfully against real AWS as well
      • Snapshot Tested this is a snapshot parity test, meaning the responses are validated against AWS


CreateAutoScalingGroup

Parameters: AutoScalingGroupName, AvailabilityZones, LaunchConfigurationName, MaxSize, MinSize
  • LocalStack Pro
    • test_metrics_collection LocalStack Pro: tests/aws/services/autoscaling/test_autoscaling.py::TestAutoScaling::test_metrics_collection HTTP Status Code: 200 AWS validated
Parameters: AutoScalingGroupName, DefaultCooldown, DesiredCapacity, LaunchConfigurationName, MaxSize, MinSize, Tags, VPCZoneIdentifier
  • LocalStack Pro
    • test_autoscaling_group LocalStack Pro: tests/aws/services/cloudformation/resources/test_autoscaling.py::test_autoscaling_group HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: AutoScalingGroupName, DefaultCooldown, LaunchConfigurationName, MaxSize, MinSize, NewInstancesProtectedFromScaleIn, Tags, VPCZoneIdentifier
  • LocalStack Pro
    • test_capacity_providers LocalStack Pro: tests/aws/services/cloudformation/resources/test_ecs.py::test_capacity_providers HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: AutoScalingGroupName, DefaultCooldown, LaunchConfigurationName, MaxSize, MinSize, Tags, VPCZoneIdentifier
  • LocalStack Pro
    • test_listener LocalStack Pro: tests/aws/services/ecs/test_ecs_samples.py::TestDurableStorageSample::test_listener HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: AutoScalingGroupName, LaunchConfigurationName, MaxSize, MinSize
  • LocalStack Pro
    • test_create_asg_errors LocalStack Pro: tests/aws/services/autoscaling/test_autoscaling.py::TestAutoScaling::test_create_asg_errors HTTP Status Code: 400 (CommonServiceException) AWS validated
Parameters: AutoScalingGroupName, MaxSize, MinSize
  • LocalStack Pro
    • test_create_asg_errors LocalStack Pro: tests/aws/services/autoscaling/test_autoscaling.py::TestAutoScaling::test_create_asg_errors HTTP Status Code: 400 (CommonServiceException) AWS validated

CreateLaunchConfiguration

Parameters: IamInstanceProfile, ImageId, InstanceMonitoring, InstanceType, LaunchConfigurationName, SecurityGroups, UserData
  • LocalStack Pro
    • test_autoscaling_group LocalStack Pro: tests/aws/services/cloudformation/resources/test_autoscaling.py::test_autoscaling_group HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_capacity_providers LocalStack Pro: tests/aws/services/cloudformation/resources/test_ecs.py::test_capacity_providers HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_listener LocalStack Pro: tests/aws/services/ecs/test_ecs_samples.py::TestDurableStorageSample::test_listener HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: ImageId, InstanceType, LaunchConfigurationName
  • LocalStack Pro
    • test_create_asg_errors LocalStack Pro: tests/aws/services/autoscaling/test_autoscaling.py::TestAutoScaling::test_create_asg_errors HTTP Status Code: 200 AWS validated
    • test_metrics_collection LocalStack Pro: tests/aws/services/autoscaling/test_autoscaling.py::TestAutoScaling::test_metrics_collection HTTP Status Code: 200 AWS validated

DeleteAutoScalingGroup

Parameters: AutoScalingGroupName
  • LocalStack Pro
    • test_metrics_collection LocalStack Pro: tests/aws/services/autoscaling/test_autoscaling.py::TestAutoScaling::test_metrics_collection HTTP Status Code: 200 AWS validated
    • test_autoscaling_group LocalStack Pro: tests/aws/services/cloudformation/resources/test_autoscaling.py::test_autoscaling_group HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_capacity_providers LocalStack Pro: tests/aws/services/cloudformation/resources/test_ecs.py::test_capacity_providers HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_listener LocalStack Pro: tests/aws/services/ecs/test_ecs_samples.py::TestDurableStorageSample::test_listener HTTP Status Code: 200 AWS validated Snapshot Tested

DeleteLaunchConfiguration

Parameters: LaunchConfigurationName
  • LocalStack Pro
    • test_create_asg_errors LocalStack Pro: tests/aws/services/autoscaling/test_autoscaling.py::TestAutoScaling::test_create_asg_errors HTTP Status Code: 200 AWS validated
    • test_metrics_collection LocalStack Pro: tests/aws/services/autoscaling/test_autoscaling.py::TestAutoScaling::test_metrics_collection HTTP Status Code: 200 AWS validated
    • test_autoscaling_group LocalStack Pro: tests/aws/services/cloudformation/resources/test_autoscaling.py::test_autoscaling_group HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_capacity_providers LocalStack Pro: tests/aws/services/cloudformation/resources/test_ecs.py::test_capacity_providers HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_listener LocalStack Pro: tests/aws/services/ecs/test_ecs_samples.py::TestDurableStorageSample::test_listener HTTP Status Code: 200 AWS validated Snapshot Tested

DescribeAutoScalingGroups

Parameters: AutoScalingGroupNames
  • LocalStack Pro
    • test_autoscaling_group LocalStack Pro: tests/aws/services/cloudformation/resources/test_autoscaling.py::test_autoscaling_group HTTP Status Code: 200 AWS validated Snapshot Tested

DescribeMetricCollectionTypes

Parameters: - (without any parameters)
  • LocalStack Pro
    • test_metrics_collection LocalStack Pro: tests/aws/services/autoscaling/test_autoscaling.py::TestAutoScaling::test_metrics_collection HTTP Status Code: 200 AWS validated

DisableMetricsCollection

Parameters: AutoScalingGroupName, Metrics
  • LocalStack Pro
    • test_metrics_collection LocalStack Pro: tests/aws/services/autoscaling/test_autoscaling.py::TestAutoScaling::test_metrics_collection HTTP Status Code: 200 AWS validated

EnableMetricsCollection

Parameters: AutoScalingGroupName, Granularity, Metrics
  • LocalStack Pro
    • test_metrics_collection LocalStack Pro: tests/aws/services/autoscaling/test_autoscaling.py::TestAutoScaling::test_metrics_collection HTTP Status Code: 200 AWS validated