Skip to main content

@swamp/aws/autoscaling

v2026.04.23.3

AWS AUTOSCALING infrastructure models

Repository

https://github.com/systeminit/swamp-extensions

Labels

awsautoscalingcloudinfrastructure

Contents

Quality score

Verified by Swamp

How well-documented and verifiable this extension is.

100%

Grade A

  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types1/1earned
  • Has description1/1earned
  • At least one platform tag (or universal)1/1earned
  • Two or more platform tags (or universal)1/1earned
  • License declared1/1earned
  • Verified public repository2/2earned

Install

$ swamp extension pull @swamp/aws/autoscaling

scaling_policy.tsv2026.04.23.2

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
MetricAggregationType?stringThe aggregation type for the CloudWatch metrics. The valid values are Minimum, Maximum, and Average. If the aggregation type is null, the value is treated as Average. Valid only if the policy type is StepScaling.
PolicyType?stringOne of the following policy types: TargetTrackingScaling, StepScaling, SimpleScaling (default), PredictiveScaling
PredictiveScalingConfiguration?objectA predictive scaling policy. Includes support for predefined metrics only.
ScalingAdjustment?numberThe amount by which to scale, based on the specified adjustment type. A positive value adds to the current capacity while a negative number removes from the current capacity. For exact capacity, you must specify a positive value. Required if the policy type is SimpleScaling. (Not used with any other policy type.)
Cooldown?stringThe duration of the policy's cooldown period, in seconds. When a cooldown period is specified here, it overrides the default cooldown period defined for the Auto Scaling group.
StepAdjustments?arrayA set of adjustments that enable you to scale based on the size of the alarm breach. Required if the policy type is StepScaling. (Not used with any other policy type.)
AutoScalingGroupNamestringThe name of the Auto Scaling group.
MinAdjustmentMagnitude?numberThe minimum value to scale by when the adjustment type is PercentChangeInCapacity. For example, suppose that you create a step scaling policy to scale out an Auto Scaling group by 25 percent and you specify a MinAdjustmentMagnitude of 2. If the group has 4 instances and the scaling policy is performed, 25 percent of 4 is 1. However, because you specified a MinAdjustmentMagnitude of 2, Amazon EC2 Auto Scaling scales out the group by 2 instances.
TargetTrackingConfiguration?objectA target tracking scaling policy. Includes support for predefined or customized metrics.
EstimatedInstanceWarmup?numberThe estimated time, in seconds, until a newly launched instance can contribute to the CloudWatch metrics. If not provided, the default is to use the value from the default cooldown period for the Auto Scaling group. Valid only if the policy type is TargetTrackingScaling or StepScaling.
AdjustmentType?stringSpecifies how the scaling adjustment is interpreted. The valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.
createCreate a AutoScaling ScalingPolicy
getGet a AutoScaling ScalingPolicy
ArgumentTypeDescription
identifierstringThe primary identifier of the AutoScaling ScalingPolicy
updateUpdate a AutoScaling ScalingPolicy
deleteDelete a AutoScaling ScalingPolicy
ArgumentTypeDescription
identifierstringThe primary identifier of the AutoScaling ScalingPolicy
syncSync AutoScaling ScalingPolicy state from AWS
launch_configuration.tsv2026.04.23.2

Global Arguments

ArgumentTypeDescription
PlacementTenancy?stringThe tenancy of the instance, either default or dedicated.
SecurityGroups?arrayA list that contains the security groups to assign to the instances in the Auto Scaling group.
LaunchConfigurationName?stringThe name of the launch configuration. This name must be unique per Region per account.
MetadataOptions?objectThe desired HTTP PUT response hop limit for instance metadata requests.
InstanceId?stringThe ID of the Amazon EC2 instance you want to use to create the launch configuration.
UserData?stringThe Base64-encoded user data to make available to the launched EC2 instances.
ClassicLinkVPCSecurityGroups?arrayThe IDs of one or more security groups for the VPC that you specified in the ClassicLinkVPCId property.
BlockDeviceMappings?arraySpecifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes.
IamInstanceProfile?stringProvides the name or the Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance. The instance profile contains the IAM role.
KernelId?stringProvides the ID of the kernel associated with the EC2 AMI.
AssociatePublicIpAddress?booleanFor Auto Scaling groups that are running in a virtual private cloud (VPC), specifies whether to assign a public IP address to the group's instances.
ClassicLinkVPCId?stringThe ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.
EbsOptimized?booleanSpecifies whether the launch configuration is optimized for EBS I/O (true) or not (false).
KeyName?stringProvides the name of the EC2 key pair.
SpotPrice?stringThe maximum hourly price you are willing to pay for any Spot Instances launched to fulfill the request.
ImageIdstringProvides the unique ID of the Amazon Machine Image (AMI) that was assigned during registration.
InstanceTypestringSpecifies the instance type of the EC2 instance.
RamDiskId?stringThe ID of the RAM disk to select.
InstanceMonitoring?booleanControls whether instances in this group are launched with detailed (true) or basic (false) monitoring.
createCreate a AutoScaling LaunchConfiguration
getGet a AutoScaling LaunchConfiguration
ArgumentTypeDescription
identifierstringThe primary identifier of the AutoScaling LaunchConfiguration
deleteDelete a AutoScaling LaunchConfiguration
ArgumentTypeDescription
identifierstringThe primary identifier of the AutoScaling LaunchConfiguration
syncSync AutoScaling LaunchConfiguration state from AWS
scheduled_action.tsv2026.04.23.2

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
MinSize?numberThe minimum size of the Auto Scaling group.
Recurrence?stringThe recurring schedule for the action, in Unix cron syntax format. When StartTime and EndTime are specified with Recurrence, they form the boundaries of when the recurring action starts and stops.
TimeZone?stringThe time zone for the cron expression.
EndTime?stringThe latest scheduled start time to return. If scheduled action names are provided, this parameter is ignored.
AutoScalingGroupNamestringThe name of the Auto Scaling group.
StartTime?stringThe earliest scheduled start time to return. If scheduled action names are provided, this parameter is ignored.
DesiredCapacity?numberThe desired capacity is the initial capacity of the Auto Scaling group after the scheduled action runs and the capacity it attempts to maintain.
MaxSize?numberThe minimum size of the Auto Scaling group.
createCreate a AutoScaling ScheduledAction
getGet a AutoScaling ScheduledAction
ArgumentTypeDescription
identifierstringThe primary identifier of the AutoScaling ScheduledAction
updateUpdate a AutoScaling ScheduledAction
deleteDelete a AutoScaling ScheduledAction
ArgumentTypeDescription
identifierstringThe primary identifier of the AutoScaling ScheduledAction
syncSync AutoScaling ScheduledAction state from AWS
auto_scaling_group.tsv2026.04.23.2

Global Arguments

ArgumentTypeDescription
LifecycleHookSpecificationList?arrayOne or more lifecycle hooks to add to the Auto Scaling group before instances are launched.
LoadBalancerNames?arrayA list of Classic Load Balancers associated with this Auto Scaling group. For Application Load Balancers, Network Load Balancers, and Gateway Load Balancers, specify the TargetGroupARNs property instead.
LaunchConfigurationName?stringThe name of the launch configuration to use to launch instances. Required only if you don't specify LaunchTemplate, MixedInstancesPolicy, or InstanceId.
ServiceLinkedRoleARN?stringThe Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS service on your behalf. By default, Amazon EC2 Auto Scaling uses a service-linked role named AWSServiceRoleForAutoScaling, which it creates if it does not exist. For more information, see [Service-linked roles](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-service-linked-role.html) in the *Amazon EC2 Auto Scaling User Guide*.
AvailabilityZoneImpairmentPolicy?objectIf true, enable zonal shift for your Auto Scaling group.
TargetGroupARNs?arrayThe Amazon Resource Names (ARN) of the Elastic Load Balancing target groups to associate with the Auto Scaling group. Instances are registered as targets with the target groups. The target groups receive incoming traffic and route requests to one or more registered targets. For more information, see [Use Elastic Load Balancing to distribute traffic across the instances in your Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html) in the *Amazon EC2 Auto Scaling User Guide*.
AvailabilityZoneIds?array
Cooldown?string*Only needed if you use simple scaling policies.* The amount of time, in seconds, between one scaling activity ending and another one starting due to simple scaling policies. For more information, see [Scaling cooldowns for Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-scaling-cooldowns.html) in the *Amazon EC2 Auto Scaling User Guide*. Default: 300 seconds
NotificationConfigurations?arrayConfigures an Auto Scaling group to send notifications when specified events take place.
DesiredCapacity?stringThe desired capacity is the initial capacity of the Auto Scaling group at the time of its creation and the capacity it attempts to maintain. It can scale beyond this capacity if you configure automatic scaling. The 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. If you do not specify a desired capacity when creating the stack, the default is the minimum size of the group. CloudFormation marks the Auto Scaling group as successful (by setting its status to CREATE_COMPLETE) when the desired capacity is reached. However, if a maximum Spot price is set in the launch template or launch configuration that you specified, then desired capacity is not used as a criteria for success. Whether your request is fulfilled depends on Spot Instance capacity and your maximum price.
HealthCheckGracePeriod?numberThe amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status of an EC2 instance that has come into service and marking it unhealthy due to a failed health check. This is useful if your instances do not immediately pass their health checks after they enter the InService state. For more information, see [Set the health check grace period for an Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/health-check-grace-period.html) in the *Amazon EC2 Auto Scaling User Guide*. Default: 0 seconds
InstanceLifecyclePolicy?objectSpecifies the conditions that trigger instance retention behavior. These triggers determine when instances should move to a Retained state instead of automatic termination. This allows you to maintain control over instance management when lifecycles transition and operations fail.
DefaultInstanceWarmup?numberThe amount of time, in seconds, until a new instance is considered to have finished initializing and resource consumption to become stable after it enters the InService state. During an instance refresh, Amazon EC2 Auto Scaling waits for the warm-up period after it replaces an instance before it moves on to replacing the next instance. Amazon EC2 Auto Scaling also waits for the warm-up period before aggregating the metrics for new instances with existing instances in the Amazon CloudWatch metrics that are used for scaling, resulting in more reliable usage data. For more information, see [Set the default instance warmup for an Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-default-instance-warmup.html) in the *Amazon EC2 Auto Scaling User Guide*. To manage various warm-up settings at the group level, we recommend that you set the default instance warmup, *even if it is set to 0 seconds*. To remove a value that you previously set, include the property but specify -1 for the value. However, we strongly recommend keeping the default instance warmup enabled by specifying a value of 0 or other nominal value. Default: None
SkipZonalShiftValidation?boolean
NewInstancesProtectedFromScaleIn?booleanIndicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see [Use instance scale-in protection](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-protection.html) in the *Amazon EC2 Auto Scaling User Guide*.
LaunchTemplate?objectThe name of the launch template. You must specify the LaunchTemplateName or the LaunchTemplateID, but not both.
MixedInstancesPolicy?objectThe instances distribution.
VPCZoneIdentifier?arrayA list of subnet IDs for a virtual private cloud (VPC) where instances in the Auto Scaling group can be created. If this resource specifies public subnets and is also in a VPC that is defined in the same stack template, you must use the [DependsOn attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) to declare a dependency on the [VPC-gateway attachment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc-gateway-attachment.html). When you update VPCZoneIdentifier, this retains the same Auto Scaling group and replaces old instances with new ones, according to the specified subnets. You can optionally specify how CloudFormation handles these updates by using an [UpdatePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html). Required to launch instances into a nondefault VPC. If you specify VPCZoneIdentifier with AvailabilityZones, the subnets that you specify for this property must reside in those Availability Zones.
Tags?arrayOne or more tags. You can tag your Auto Scaling group and propagate the tags to the Amazon EC2 instances it launches. Tags are not propagated to Amazon EBS volumes. To add tags to Amazon EBS volumes, specify the tags in a launch template but use caution. If the launch template specifies an instance tag with a key that is also specified for the Auto Scaling group, Amazon EC2 Auto Scaling overrides the value of that instance tag with the value specified by the Auto Scaling group. For more information, see [Tag Auto Scaling groups and instances](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-tagging.html) in the *Amazon EC2 Auto Scaling User Guide*.
Context?stringReserved.
CapacityRebalance?booleanIndicates whether Capacity Rebalancing is enabled. Otherwise, Capacity Rebalancing is disabled. When you turn on Capacity Rebalancing, Amazon EC2 Auto Scaling attempts to launch a Spot Instance whenever Amazon EC2 notifies that a Spot Instance is at an elevated risk of interruption. After launching a new instance, it then terminates an old instance. For more information, see [Use Capacity Rebalancing to handle Amazon EC2 Spot Interruptions](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html) in the in the *Amazon EC2 Auto Scaling User Guide*.
InstanceId?stringThe ID of the instance used to base the launch configuration on. For more information, see [Create an Auto Scaling group using an EC2 instance](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-from-instance.html) in the *Amazon EC2 Auto Scaling User Guide*. If you specify LaunchTemplate, MixedInstancesPolicy, or LaunchConfigurationName, don't specify InstanceId.
AvailabilityZones?arrayA list of Availability Zones where instances in the Auto Scaling group can be created. Used for launching into the default VPC subnet in each Availability Zone when not using the VPCZoneIdentifier property, or for attaching a network interface when an existing network interface ID is specified in a launch template.
NotificationConfiguration?objectThe Amazon Resource Name (ARN) of the Amazon SNS topic.
AvailabilityZoneDistribution?objectIf launches fail in an Availability Zone, the following strategies are available. The default is balanced-best-effort. balanced-only - If launches fail in an Availability Zone, Auto Scaling will continue to attempt to launch in the unhealthy zone to preserve a balanced distribution. balanced-best-effort - If launches fail in an Availability Zone, Auto Scaling will attempt to launch in another healthy Availability Zone instead.
MetricsCollection?arrayEnables the monitoring of group metrics of an Auto Scaling group. By default, these metrics are disabled.
DeletionProtection?stringThe deletion protection setting for the Auto Scaling group.
InstanceMaintenancePolicy?objectSpecifies the upper threshold as a percentage of the desired capacity of the Auto Scaling group. It represents the maximum percentage of the group that can be in service and healthy, or pending, to support your workload when replacing instances. Value range is 100 to 200. To clear a previously set value, specify a value of -1. Both MinHealthyPercentage and MaxHealthyPercentage must be specified, and the difference between them cannot be greater than 100. A large range increases the number of instances that can be replaced at the same time.
MaxSizestringThe maximum size of the group. With a mixed instances policy that uses instance weighting, Amazon EC2 Auto Scaling may need to go above MaxSize to meet your capacity requirements. In this event, Amazon EC2 Auto Scaling will never go above MaxSize by more than your largest instance weight (weights that define how many units each instance contributes to the desired capacity of the group).
MinSizestringThe minimum size of the group.
TerminationPolicies?arrayA policy or a list of policies that are used to select the instance to terminate. These policies are executed in the order that you list them. For more information, see [Configure termination policies for Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-termination-policies.html) in the *Amazon EC2 Auto Scaling User Guide*. Valid values: Default | AllocationStrategy | ClosestToNextInstanceHour | NewestInstance | OldestInstance | OldestLaunchConfiguration | OldestLaunchTemplate | arn:aws:lambda:region:account-id:function:my-function:my-alias
AutoScalingGroupName?stringThe name of the Auto Scaling group. This name must be unique per Region per account. The name can contain any ASCII character 33 to 126 including most punctuation characters, digits, and upper and lowercased letters. You cannot use a colon (:) in the name.
TrafficSources?arrayThe traffic sources associated with this Auto Scaling group.
DesiredCapacityType?stringThe unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling supports DesiredCapacityType for attribute-based instance type selection only. For more information, see [Create a mixed instances group using attribute-based instance type selection](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-mixed-instances-group-attribute-based-instance-type-selection.html) in the *Amazon EC2 Auto Scaling User Guide*. By default, Amazon EC2 Auto Scaling specifies units, which translates into number of instances. Valid values: units | vcpu | memory-mib
PlacementGroup?stringThe name of the placement group into which to launch your instances. For more information, see [Placement groups](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) in the *Amazon EC2 User Guide*. A *cluster* placement group is a logical grouping of instances within a single Availability Zone. You cannot specify multiple Availability Zones and a cluster placement group.
CapacityReservationSpecification?objectThe capacity reservation preference. The following options are available: capacity-reservations-only - Auto Scaling will only launch instances into a Capacity Reservation or Capacity Reservation resource group. If capacity isn't available, instances will fail to launch. capacity-reservations-first - Auto Scaling will try to launch instances into a Capacity Reservation or Capacity Reservation resource group first. If capacity isn't available, instances will run in On-Demand capacity. none - Auto Scaling will not launch instances into a Capacity Reservation. Instances will run in On-Demand capacity. default - Auto Scaling uses the Capacity Reservation preference from your launch template or an open Capacity Reservation.
HealthCheckType?stringA comma-separated value string of one or more health check types. The valid values are EC2, EBS, ELB, and VPC_LATTICE. EC2 is the default health check and cannot be disabled. For more information, see [Health checks for instances in an Auto Scaling group](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-health-checks.html) in the *Amazon EC2 Auto Scaling User Guide*. Only specify EC2 if you must clear a value that was previously set.
MaxInstanceLifetime?numberThe maximum amount of time, in seconds, that an instance can be in service. The default is null. If specified, the value must be either 0 or a number equal to or greater than 86,400 seconds (1 day). For more information, see [Replace Auto Scaling instances based on maximum instance lifetime](https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-max-instance-lifetime.html) in the *Amazon EC2 Auto Scaling User Guide*.
createCreate a AutoScaling AutoScalingGroup
getGet a AutoScaling AutoScalingGroup
ArgumentTypeDescription
identifierstringThe primary identifier of the AutoScaling AutoScalingGroup
updateUpdate a AutoScaling AutoScalingGroup
deleteDelete a AutoScaling AutoScalingGroup
ArgumentTypeDescription
identifierstringThe primary identifier of the AutoScaling AutoScalingGroup
syncSync AutoScaling AutoScalingGroup state from AWS
warm_pool.tsv2026.04.23.2

Global Arguments

ArgumentTypeDescription
AutoScalingGroupNamestring
MaxGroupPreparedCapacity?number
MinSize?number
PoolState?string
InstanceReusePolicy?object
createCreate a AutoScaling WarmPool
getGet a AutoScaling WarmPool
ArgumentTypeDescription
identifierstringThe primary identifier of the AutoScaling WarmPool
updateUpdate a AutoScaling WarmPool
deleteDelete a AutoScaling WarmPool
ArgumentTypeDescription
identifierstringThe primary identifier of the AutoScaling WarmPool
syncSync AutoScaling WarmPool state from AWS
lifecycle_hook.tsv2026.04.23.2

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
AutoScalingGroupNamestringThe name of the Auto Scaling group for the lifecycle hook.
DefaultResult?stringThe action the Auto Scaling group takes when the lifecycle hook timeout elapses or if an unexpected failure occurs. The valid values are CONTINUE and ABANDON (default).
HeartbeatTimeout?numberThe maximum time, in seconds, that can elapse before the lifecycle hook times out. The range is from 30 to 7200 seconds. The default value is 3600 seconds (1 hour). If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the action that you specified in the DefaultResult property.
LifecycleHookName?stringThe name of the lifecycle hook.
LifecycleTransitionstringThe instance state to which you want to attach the lifecycle hook.
NotificationMetadata?stringAdditional information that is included any time Amazon EC2 Auto Scaling sends a message to the notification target.
NotificationTargetARN?stringThe Amazon Resource Name (ARN) of the notification target that Amazon EC2 Auto Scaling uses to notify you when an instance is in the transition state for the lifecycle hook. You can specify an Amazon SQS queue or an Amazon SNS topic. The notification message includes the following information: lifecycle action token, user account ID, Auto Scaling group name, lifecycle hook name, instance ID, lifecycle transition, and notification metadata.
RoleARN?stringThe ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target, for example, an Amazon SNS topic or an Amazon SQS queue.
createCreate a AutoScaling LifecycleHook
getGet a AutoScaling LifecycleHook
ArgumentTypeDescription
identifierstringThe primary identifier of the AutoScaling LifecycleHook
updateUpdate a AutoScaling LifecycleHook
deleteDelete a AutoScaling LifecycleHook
ArgumentTypeDescription
identifierstringThe primary identifier of the AutoScaling LifecycleHook
syncSync AutoScaling LifecycleHook state from AWS