aws.autoscaling.Group
Explore with Pulumi AI
Provides an Auto Scaling Group resource.
Note: You must specify either
launch_configuration,launch_template, ormixed_instances_policy.
NOTE on Auto Scaling Groups, Attachments and Traffic Source Attachments: Pulumi provides standalone Attachment (for attaching Classic Load Balancers and Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target groups) and Traffic Source Attachment (for attaching Load Balancers and VPC Lattice target groups) resources and an Auto Scaling Group resource with
load_balancers,target_group_arnsandtraffic_sourceattributes. Do not use the same traffic source in more than one of these resources. Doing so will cause a conflict of attachments. Alifecycleconfiguration block can be used to suppress differences if necessary.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = new aws.ec2.PlacementGroup("test", {
    name: "test",
    strategy: aws.ec2.PlacementStrategy.Cluster,
});
const bar = new aws.autoscaling.Group("bar", {
    name: "foobar3-test",
    maxSize: 5,
    minSize: 2,
    healthCheckGracePeriod: 300,
    healthCheckType: "ELB",
    desiredCapacity: 4,
    forceDelete: true,
    placementGroup: test.id,
    launchConfiguration: foobar.name,
    vpcZoneIdentifiers: [
        example1.id,
        example2.id,
    ],
    instanceMaintenancePolicy: {
        minHealthyPercentage: 90,
        maxHealthyPercentage: 120,
    },
    initialLifecycleHooks: [{
        name: "foobar",
        defaultResult: "CONTINUE",
        heartbeatTimeout: 2000,
        lifecycleTransition: "autoscaling:EC2_INSTANCE_LAUNCHING",
        notificationMetadata: JSON.stringify({
            foo: "bar",
        }),
        notificationTargetArn: "arn:aws:sqs:us-east-1:444455556666:queue1*",
        roleArn: "arn:aws:iam::123456789012:role/S3Access",
    }],
    tags: [
        {
            key: "foo",
            value: "bar",
            propagateAtLaunch: true,
        },
        {
            key: "lorem",
            value: "ipsum",
            propagateAtLaunch: false,
        },
    ],
});
import pulumi
import json
import pulumi_aws as aws
test = aws.ec2.PlacementGroup("test",
    name="test",
    strategy=aws.ec2.PlacementStrategy.CLUSTER)
bar = aws.autoscaling.Group("bar",
    name="foobar3-test",
    max_size=5,
    min_size=2,
    health_check_grace_period=300,
    health_check_type="ELB",
    desired_capacity=4,
    force_delete=True,
    placement_group=test.id,
    launch_configuration=foobar["name"],
    vpc_zone_identifiers=[
        example1["id"],
        example2["id"],
    ],
    instance_maintenance_policy={
        "min_healthy_percentage": 90,
        "max_healthy_percentage": 120,
    },
    initial_lifecycle_hooks=[{
        "name": "foobar",
        "default_result": "CONTINUE",
        "heartbeat_timeout": 2000,
        "lifecycle_transition": "autoscaling:EC2_INSTANCE_LAUNCHING",
        "notification_metadata": json.dumps({
            "foo": "bar",
        }),
        "notification_target_arn": "arn:aws:sqs:us-east-1:444455556666:queue1*",
        "role_arn": "arn:aws:iam::123456789012:role/S3Access",
    }],
    tags=[
        {
            "key": "foo",
            "value": "bar",
            "propagate_at_launch": True,
        },
        {
            "key": "lorem",
            "value": "ipsum",
            "propagate_at_launch": False,
        },
    ])
package main
import (
	"encoding/json"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		test, err := ec2.NewPlacementGroup(ctx, "test", &ec2.PlacementGroupArgs{
			Name:     pulumi.String("test"),
			Strategy: pulumi.String(ec2.PlacementStrategyCluster),
		})
		if err != nil {
			return err
		}
		tmpJSON0, err := json.Marshal(map[string]interface{}{
			"foo": "bar",
		})
		if err != nil {
			return err
		}
		json0 := string(tmpJSON0)
		_, err = autoscaling.NewGroup(ctx, "bar", &autoscaling.GroupArgs{
			Name:                   pulumi.String("foobar3-test"),
			MaxSize:                pulumi.Int(5),
			MinSize:                pulumi.Int(2),
			HealthCheckGracePeriod: pulumi.Int(300),
			HealthCheckType:        pulumi.String("ELB"),
			DesiredCapacity:        pulumi.Int(4),
			ForceDelete:            pulumi.Bool(true),
			PlacementGroup:         test.ID(),
			LaunchConfiguration:    pulumi.Any(foobar.Name),
			VpcZoneIdentifiers: pulumi.StringArray{
				example1.Id,
				example2.Id,
			},
			InstanceMaintenancePolicy: &autoscaling.GroupInstanceMaintenancePolicyArgs{
				MinHealthyPercentage: pulumi.Int(90),
				MaxHealthyPercentage: pulumi.Int(120),
			},
			InitialLifecycleHooks: autoscaling.GroupInitialLifecycleHookArray{
				&autoscaling.GroupInitialLifecycleHookArgs{
					Name:                  pulumi.String("foobar"),
					DefaultResult:         pulumi.String("CONTINUE"),
					HeartbeatTimeout:      pulumi.Int(2000),
					LifecycleTransition:   pulumi.String("autoscaling:EC2_INSTANCE_LAUNCHING"),
					NotificationMetadata:  pulumi.String(json0),
					NotificationTargetArn: pulumi.String("arn:aws:sqs:us-east-1:444455556666:queue1*"),
					RoleArn:               pulumi.String("arn:aws:iam::123456789012:role/S3Access"),
				},
			},
			Tags: autoscaling.GroupTagArray{
				&autoscaling.GroupTagArgs{
					Key:               pulumi.String("foo"),
					Value:             pulumi.String("bar"),
					PropagateAtLaunch: pulumi.Bool(true),
				},
				&autoscaling.GroupTagArgs{
					Key:               pulumi.String("lorem"),
					Value:             pulumi.String("ipsum"),
					PropagateAtLaunch: pulumi.Bool(false),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var test = new Aws.Ec2.PlacementGroup("test", new()
    {
        Name = "test",
        Strategy = Aws.Ec2.PlacementStrategy.Cluster,
    });
    var bar = new Aws.AutoScaling.Group("bar", new()
    {
        Name = "foobar3-test",
        MaxSize = 5,
        MinSize = 2,
        HealthCheckGracePeriod = 300,
        HealthCheckType = "ELB",
        DesiredCapacity = 4,
        ForceDelete = true,
        PlacementGroup = test.Id,
        LaunchConfiguration = foobar.Name,
        VpcZoneIdentifiers = new[]
        {
            example1.Id,
            example2.Id,
        },
        InstanceMaintenancePolicy = new Aws.AutoScaling.Inputs.GroupInstanceMaintenancePolicyArgs
        {
            MinHealthyPercentage = 90,
            MaxHealthyPercentage = 120,
        },
        InitialLifecycleHooks = new[]
        {
            new Aws.AutoScaling.Inputs.GroupInitialLifecycleHookArgs
            {
                Name = "foobar",
                DefaultResult = "CONTINUE",
                HeartbeatTimeout = 2000,
                LifecycleTransition = "autoscaling:EC2_INSTANCE_LAUNCHING",
                NotificationMetadata = JsonSerializer.Serialize(new Dictionary<string, object?>
                {
                    ["foo"] = "bar",
                }),
                NotificationTargetArn = "arn:aws:sqs:us-east-1:444455556666:queue1*",
                RoleArn = "arn:aws:iam::123456789012:role/S3Access",
            },
        },
        Tags = new[]
        {
            new Aws.AutoScaling.Inputs.GroupTagArgs
            {
                Key = "foo",
                Value = "bar",
                PropagateAtLaunch = true,
            },
            new Aws.AutoScaling.Inputs.GroupTagArgs
            {
                Key = "lorem",
                Value = "ipsum",
                PropagateAtLaunch = false,
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.PlacementGroup;
import com.pulumi.aws.ec2.PlacementGroupArgs;
import com.pulumi.aws.autoscaling.Group;
import com.pulumi.aws.autoscaling.GroupArgs;
import com.pulumi.aws.autoscaling.inputs.GroupInstanceMaintenancePolicyArgs;
import com.pulumi.aws.autoscaling.inputs.GroupInitialLifecycleHookArgs;
import com.pulumi.aws.autoscaling.inputs.GroupTagArgs;
import static com.pulumi.codegen.internal.Serialization.*;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var test = new PlacementGroup("test", PlacementGroupArgs.builder()
            .name("test")
            .strategy("cluster")
            .build());
        var bar = new Group("bar", GroupArgs.builder()
            .name("foobar3-test")
            .maxSize(5)
            .minSize(2)
            .healthCheckGracePeriod(300)
            .healthCheckType("ELB")
            .desiredCapacity(4)
            .forceDelete(true)
            .placementGroup(test.id())
            .launchConfiguration(foobar.name())
            .vpcZoneIdentifiers(            
                example1.id(),
                example2.id())
            .instanceMaintenancePolicy(GroupInstanceMaintenancePolicyArgs.builder()
                .minHealthyPercentage(90)
                .maxHealthyPercentage(120)
                .build())
            .initialLifecycleHooks(GroupInitialLifecycleHookArgs.builder()
                .name("foobar")
                .defaultResult("CONTINUE")
                .heartbeatTimeout(2000)
                .lifecycleTransition("autoscaling:EC2_INSTANCE_LAUNCHING")
                .notificationMetadata(serializeJson(
                    jsonObject(
                        jsonProperty("foo", "bar")
                    )))
                .notificationTargetArn("arn:aws:sqs:us-east-1:444455556666:queue1*")
                .roleArn("arn:aws:iam::123456789012:role/S3Access")
                .build())
            .tags(            
                GroupTagArgs.builder()
                    .key("foo")
                    .value("bar")
                    .propagateAtLaunch(true)
                    .build(),
                GroupTagArgs.builder()
                    .key("lorem")
                    .value("ipsum")
                    .propagateAtLaunch(false)
                    .build())
            .build());
    }
}
resources:
  test:
    type: aws:ec2:PlacementGroup
    properties:
      name: test
      strategy: cluster
  bar:
    type: aws:autoscaling:Group
    properties:
      name: foobar3-test
      maxSize: 5
      minSize: 2
      healthCheckGracePeriod: 300
      healthCheckType: ELB
      desiredCapacity: 4
      forceDelete: true
      placementGroup: ${test.id}
      launchConfiguration: ${foobar.name}
      vpcZoneIdentifiers:
        - ${example1.id}
        - ${example2.id}
      instanceMaintenancePolicy:
        minHealthyPercentage: 90
        maxHealthyPercentage: 120
      initialLifecycleHooks:
        - name: foobar
          defaultResult: CONTINUE
          heartbeatTimeout: 2000
          lifecycleTransition: autoscaling:EC2_INSTANCE_LAUNCHING
          notificationMetadata:
            fn::toJSON:
              foo: bar
          notificationTargetArn: arn:aws:sqs:us-east-1:444455556666:queue1*
          roleArn: arn:aws:iam::123456789012:role/S3Access
      tags:
        - key: foo
          value: bar
          propagateAtLaunch: true
        - key: lorem
          value: ipsum
          propagateAtLaunch: false
With Latest Version Of Launch Template
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const foobar = new aws.ec2.LaunchTemplate("foobar", {
    namePrefix: "foobar",
    imageId: "ami-1a2b3c",
    instanceType: "t2.micro",
});
const bar = new aws.autoscaling.Group("bar", {
    availabilityZones: ["us-east-1a"],
    desiredCapacity: 1,
    maxSize: 1,
    minSize: 1,
    launchTemplate: {
        id: foobar.id,
        version: "$Latest",
    },
});
import pulumi
import pulumi_aws as aws
foobar = aws.ec2.LaunchTemplate("foobar",
    name_prefix="foobar",
    image_id="ami-1a2b3c",
    instance_type="t2.micro")
bar = aws.autoscaling.Group("bar",
    availability_zones=["us-east-1a"],
    desired_capacity=1,
    max_size=1,
    min_size=1,
    launch_template={
        "id": foobar.id,
        "version": "$Latest",
    })
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		foobar, err := ec2.NewLaunchTemplate(ctx, "foobar", &ec2.LaunchTemplateArgs{
			NamePrefix:   pulumi.String("foobar"),
			ImageId:      pulumi.String("ami-1a2b3c"),
			InstanceType: pulumi.String("t2.micro"),
		})
		if err != nil {
			return err
		}
		_, err = autoscaling.NewGroup(ctx, "bar", &autoscaling.GroupArgs{
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-east-1a"),
			},
			DesiredCapacity: pulumi.Int(1),
			MaxSize:         pulumi.Int(1),
			MinSize:         pulumi.Int(1),
			LaunchTemplate: &autoscaling.GroupLaunchTemplateArgs{
				Id:      foobar.ID(),
				Version: pulumi.String("$Latest"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var foobar = new Aws.Ec2.LaunchTemplate("foobar", new()
    {
        NamePrefix = "foobar",
        ImageId = "ami-1a2b3c",
        InstanceType = "t2.micro",
    });
    var bar = new Aws.AutoScaling.Group("bar", new()
    {
        AvailabilityZones = new[]
        {
            "us-east-1a",
        },
        DesiredCapacity = 1,
        MaxSize = 1,
        MinSize = 1,
        LaunchTemplate = new Aws.AutoScaling.Inputs.GroupLaunchTemplateArgs
        {
            Id = foobar.Id,
            Version = "$Latest",
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.LaunchTemplate;
import com.pulumi.aws.ec2.LaunchTemplateArgs;
import com.pulumi.aws.autoscaling.Group;
import com.pulumi.aws.autoscaling.GroupArgs;
import com.pulumi.aws.autoscaling.inputs.GroupLaunchTemplateArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var foobar = new LaunchTemplate("foobar", LaunchTemplateArgs.builder()
            .namePrefix("foobar")
            .imageId("ami-1a2b3c")
            .instanceType("t2.micro")
            .build());
        var bar = new Group("bar", GroupArgs.builder()
            .availabilityZones("us-east-1a")
            .desiredCapacity(1)
            .maxSize(1)
            .minSize(1)
            .launchTemplate(GroupLaunchTemplateArgs.builder()
                .id(foobar.id())
                .version("$Latest")
                .build())
            .build());
    }
}
resources:
  foobar:
    type: aws:ec2:LaunchTemplate
    properties:
      namePrefix: foobar
      imageId: ami-1a2b3c
      instanceType: t2.micro
  bar:
    type: aws:autoscaling:Group
    properties:
      availabilityZones:
        - us-east-1a
      desiredCapacity: 1
      maxSize: 1
      minSize: 1
      launchTemplate:
        id: ${foobar.id}
        version: $Latest
Mixed Instances Policy
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.ec2.LaunchTemplate("example", {
    namePrefix: "example",
    imageId: exampleAwsAmi.id,
    instanceType: "c5.large",
});
const exampleGroup = new aws.autoscaling.Group("example", {
    availabilityZones: ["us-east-1a"],
    desiredCapacity: 1,
    maxSize: 1,
    minSize: 1,
    mixedInstancesPolicy: {
        launchTemplate: {
            launchTemplateSpecification: {
                launchTemplateId: example.id,
            },
            overrides: [
                {
                    instanceType: "c4.large",
                    weightedCapacity: "3",
                },
                {
                    instanceType: "c3.large",
                    weightedCapacity: "2",
                },
            ],
        },
    },
});
import pulumi
import pulumi_aws as aws
example = aws.ec2.LaunchTemplate("example",
    name_prefix="example",
    image_id=example_aws_ami["id"],
    instance_type="c5.large")
example_group = aws.autoscaling.Group("example",
    availability_zones=["us-east-1a"],
    desired_capacity=1,
    max_size=1,
    min_size=1,
    mixed_instances_policy={
        "launch_template": {
            "launch_template_specification": {
                "launch_template_id": example.id,
            },
            "overrides": [
                {
                    "instance_type": "c4.large",
                    "weighted_capacity": "3",
                },
                {
                    "instance_type": "c3.large",
                    "weighted_capacity": "2",
                },
            ],
        },
    })
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := ec2.NewLaunchTemplate(ctx, "example", &ec2.LaunchTemplateArgs{
			NamePrefix:   pulumi.String("example"),
			ImageId:      pulumi.Any(exampleAwsAmi.Id),
			InstanceType: pulumi.String("c5.large"),
		})
		if err != nil {
			return err
		}
		_, err = autoscaling.NewGroup(ctx, "example", &autoscaling.GroupArgs{
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-east-1a"),
			},
			DesiredCapacity: pulumi.Int(1),
			MaxSize:         pulumi.Int(1),
			MinSize:         pulumi.Int(1),
			MixedInstancesPolicy: &autoscaling.GroupMixedInstancesPolicyArgs{
				LaunchTemplate: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs{
					LaunchTemplateSpecification: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{
						LaunchTemplateId: example.ID(),
					},
					Overrides: autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArray{
						&autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{
							InstanceType:     pulumi.String("c4.large"),
							WeightedCapacity: pulumi.String("3"),
						},
						&autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{
							InstanceType:     pulumi.String("c3.large"),
							WeightedCapacity: pulumi.String("2"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var example = new Aws.Ec2.LaunchTemplate("example", new()
    {
        NamePrefix = "example",
        ImageId = exampleAwsAmi.Id,
        InstanceType = "c5.large",
    });
    var exampleGroup = new Aws.AutoScaling.Group("example", new()
    {
        AvailabilityZones = new[]
        {
            "us-east-1a",
        },
        DesiredCapacity = 1,
        MaxSize = 1,
        MinSize = 1,
        MixedInstancesPolicy = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyArgs
        {
            LaunchTemplate = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateArgs
            {
                LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs
                {
                    LaunchTemplateId = example.Id,
                },
                Overrides = new[]
                {
                    new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs
                    {
                        InstanceType = "c4.large",
                        WeightedCapacity = "3",
                    },
                    new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs
                    {
                        InstanceType = "c3.large",
                        WeightedCapacity = "2",
                    },
                },
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.LaunchTemplate;
import com.pulumi.aws.ec2.LaunchTemplateArgs;
import com.pulumi.aws.autoscaling.Group;
import com.pulumi.aws.autoscaling.GroupArgs;
import com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyArgs;
import com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateArgs;
import com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var example = new LaunchTemplate("example", LaunchTemplateArgs.builder()
            .namePrefix("example")
            .imageId(exampleAwsAmi.id())
            .instanceType("c5.large")
            .build());
        var exampleGroup = new Group("exampleGroup", GroupArgs.builder()
            .availabilityZones("us-east-1a")
            .desiredCapacity(1)
            .maxSize(1)
            .minSize(1)
            .mixedInstancesPolicy(GroupMixedInstancesPolicyArgs.builder()
                .launchTemplate(GroupMixedInstancesPolicyLaunchTemplateArgs.builder()
                    .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs.builder()
                        .launchTemplateId(example.id())
                        .build())
                    .overrides(                    
                        GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()
                            .instanceType("c4.large")
                            .weightedCapacity("3")
                            .build(),
                        GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()
                            .instanceType("c3.large")
                            .weightedCapacity("2")
                            .build())
                    .build())
                .build())
            .build());
    }
}
resources:
  example:
    type: aws:ec2:LaunchTemplate
    properties:
      namePrefix: example
      imageId: ${exampleAwsAmi.id}
      instanceType: c5.large
  exampleGroup:
    type: aws:autoscaling:Group
    name: example
    properties:
      availabilityZones:
        - us-east-1a
      desiredCapacity: 1
      maxSize: 1
      minSize: 1
      mixedInstancesPolicy:
        launchTemplate:
          launchTemplateSpecification:
            launchTemplateId: ${example.id}
          overrides:
            - instanceType: c4.large
              weightedCapacity: '3'
            - instanceType: c3.large
              weightedCapacity: '2'
Mixed Instances Policy with Spot Instances and Capacity Rebalance
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.ec2.LaunchTemplate("example", {
    namePrefix: "example",
    imageId: exampleAwsAmi.id,
    instanceType: "c5.large",
});
const exampleGroup = new aws.autoscaling.Group("example", {
    capacityRebalance: true,
    desiredCapacity: 12,
    maxSize: 15,
    minSize: 12,
    vpcZoneIdentifiers: [
        example1.id,
        example2.id,
    ],
    mixedInstancesPolicy: {
        instancesDistribution: {
            onDemandBaseCapacity: 0,
            onDemandPercentageAboveBaseCapacity: 25,
            spotAllocationStrategy: "capacity-optimized",
        },
        launchTemplate: {
            launchTemplateSpecification: {
                launchTemplateId: example.id,
            },
            overrides: [
                {
                    instanceType: "c4.large",
                    weightedCapacity: "3",
                },
                {
                    instanceType: "c3.large",
                    weightedCapacity: "2",
                },
            ],
        },
    },
});
import pulumi
import pulumi_aws as aws
example = aws.ec2.LaunchTemplate("example",
    name_prefix="example",
    image_id=example_aws_ami["id"],
    instance_type="c5.large")
example_group = aws.autoscaling.Group("example",
    capacity_rebalance=True,
    desired_capacity=12,
    max_size=15,
    min_size=12,
    vpc_zone_identifiers=[
        example1["id"],
        example2["id"],
    ],
    mixed_instances_policy={
        "instances_distribution": {
            "on_demand_base_capacity": 0,
            "on_demand_percentage_above_base_capacity": 25,
            "spot_allocation_strategy": "capacity-optimized",
        },
        "launch_template": {
            "launch_template_specification": {
                "launch_template_id": example.id,
            },
            "overrides": [
                {
                    "instance_type": "c4.large",
                    "weighted_capacity": "3",
                },
                {
                    "instance_type": "c3.large",
                    "weighted_capacity": "2",
                },
            ],
        },
    })
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := ec2.NewLaunchTemplate(ctx, "example", &ec2.LaunchTemplateArgs{
			NamePrefix:   pulumi.String("example"),
			ImageId:      pulumi.Any(exampleAwsAmi.Id),
			InstanceType: pulumi.String("c5.large"),
		})
		if err != nil {
			return err
		}
		_, err = autoscaling.NewGroup(ctx, "example", &autoscaling.GroupArgs{
			CapacityRebalance: pulumi.Bool(true),
			DesiredCapacity:   pulumi.Int(12),
			MaxSize:           pulumi.Int(15),
			MinSize:           pulumi.Int(12),
			VpcZoneIdentifiers: pulumi.StringArray{
				example1.Id,
				example2.Id,
			},
			MixedInstancesPolicy: &autoscaling.GroupMixedInstancesPolicyArgs{
				InstancesDistribution: &autoscaling.GroupMixedInstancesPolicyInstancesDistributionArgs{
					OnDemandBaseCapacity:                pulumi.Int(0),
					OnDemandPercentageAboveBaseCapacity: pulumi.Int(25),
					SpotAllocationStrategy:              pulumi.String("capacity-optimized"),
				},
				LaunchTemplate: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs{
					LaunchTemplateSpecification: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{
						LaunchTemplateId: example.ID(),
					},
					Overrides: autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArray{
						&autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{
							InstanceType:     pulumi.String("c4.large"),
							WeightedCapacity: pulumi.String("3"),
						},
						&autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{
							InstanceType:     pulumi.String("c3.large"),
							WeightedCapacity: pulumi.String("2"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var example = new Aws.Ec2.LaunchTemplate("example", new()
    {
        NamePrefix = "example",
        ImageId = exampleAwsAmi.Id,
        InstanceType = "c5.large",
    });
    var exampleGroup = new Aws.AutoScaling.Group("example", new()
    {
        CapacityRebalance = true,
        DesiredCapacity = 12,
        MaxSize = 15,
        MinSize = 12,
        VpcZoneIdentifiers = new[]
        {
            example1.Id,
            example2.Id,
        },
        MixedInstancesPolicy = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyArgs
        {
            InstancesDistribution = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyInstancesDistributionArgs
            {
                OnDemandBaseCapacity = 0,
                OnDemandPercentageAboveBaseCapacity = 25,
                SpotAllocationStrategy = "capacity-optimized",
            },
            LaunchTemplate = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateArgs
            {
                LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs
                {
                    LaunchTemplateId = example.Id,
                },
                Overrides = new[]
                {
                    new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs
                    {
                        InstanceType = "c4.large",
                        WeightedCapacity = "3",
                    },
                    new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs
                    {
                        InstanceType = "c3.large",
                        WeightedCapacity = "2",
                    },
                },
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.LaunchTemplate;
import com.pulumi.aws.ec2.LaunchTemplateArgs;
import com.pulumi.aws.autoscaling.Group;
import com.pulumi.aws.autoscaling.GroupArgs;
import com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyArgs;
import com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyInstancesDistributionArgs;
import com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateArgs;
import com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var example = new LaunchTemplate("example", LaunchTemplateArgs.builder()
            .namePrefix("example")
            .imageId(exampleAwsAmi.id())
            .instanceType("c5.large")
            .build());
        var exampleGroup = new Group("exampleGroup", GroupArgs.builder()
            .capacityRebalance(true)
            .desiredCapacity(12)
            .maxSize(15)
            .minSize(12)
            .vpcZoneIdentifiers(            
                example1.id(),
                example2.id())
            .mixedInstancesPolicy(GroupMixedInstancesPolicyArgs.builder()
                .instancesDistribution(GroupMixedInstancesPolicyInstancesDistributionArgs.builder()
                    .onDemandBaseCapacity(0)
                    .onDemandPercentageAboveBaseCapacity(25)
                    .spotAllocationStrategy("capacity-optimized")
                    .build())
                .launchTemplate(GroupMixedInstancesPolicyLaunchTemplateArgs.builder()
                    .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs.builder()
                        .launchTemplateId(example.id())
                        .build())
                    .overrides(                    
                        GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()
                            .instanceType("c4.large")
                            .weightedCapacity("3")
                            .build(),
                        GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()
                            .instanceType("c3.large")
                            .weightedCapacity("2")
                            .build())
                    .build())
                .build())
            .build());
    }
}
resources:
  example:
    type: aws:ec2:LaunchTemplate
    properties:
      namePrefix: example
      imageId: ${exampleAwsAmi.id}
      instanceType: c5.large
  exampleGroup:
    type: aws:autoscaling:Group
    name: example
    properties:
      capacityRebalance: true
      desiredCapacity: 12
      maxSize: 15
      minSize: 12
      vpcZoneIdentifiers:
        - ${example1.id}
        - ${example2.id}
      mixedInstancesPolicy:
        instancesDistribution:
          onDemandBaseCapacity: 0
          onDemandPercentageAboveBaseCapacity: 25
          spotAllocationStrategy: capacity-optimized
        launchTemplate:
          launchTemplateSpecification:
            launchTemplateId: ${example.id}
          overrides:
            - instanceType: c4.large
              weightedCapacity: '3'
            - instanceType: c3.large
              weightedCapacity: '2'
Mixed Instances Policy with Instance level LaunchTemplateSpecification Overrides
When using a diverse instance set, some instance types might require a launch template with configuration values unique to that instance type such as a different AMI (Graviton2), architecture specific user data script, different EBS configuration, or different networking configuration.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.ec2.LaunchTemplate("example", {
    namePrefix: "example",
    imageId: exampleAwsAmi.id,
    instanceType: "c5.large",
});
const example2 = new aws.ec2.LaunchTemplate("example2", {
    namePrefix: "example2",
    imageId: example2AwsAmi.id,
});
const exampleGroup = new aws.autoscaling.Group("example", {
    availabilityZones: ["us-east-1a"],
    desiredCapacity: 1,
    maxSize: 1,
    minSize: 1,
    mixedInstancesPolicy: {
        launchTemplate: {
            launchTemplateSpecification: {
                launchTemplateId: example.id,
            },
            overrides: [
                {
                    instanceType: "c4.large",
                    weightedCapacity: "3",
                },
                {
                    instanceType: "c6g.large",
                    launchTemplateSpecification: {
                        launchTemplateId: example2.id,
                    },
                    weightedCapacity: "2",
                },
            ],
        },
    },
});
import pulumi
import pulumi_aws as aws
example = aws.ec2.LaunchTemplate("example",
    name_prefix="example",
    image_id=example_aws_ami["id"],
    instance_type="c5.large")
example2 = aws.ec2.LaunchTemplate("example2",
    name_prefix="example2",
    image_id=example2_aws_ami["id"])
example_group = aws.autoscaling.Group("example",
    availability_zones=["us-east-1a"],
    desired_capacity=1,
    max_size=1,
    min_size=1,
    mixed_instances_policy={
        "launch_template": {
            "launch_template_specification": {
                "launch_template_id": example.id,
            },
            "overrides": [
                {
                    "instance_type": "c4.large",
                    "weighted_capacity": "3",
                },
                {
                    "instance_type": "c6g.large",
                    "launch_template_specification": {
                        "launch_template_id": example2.id,
                    },
                    "weighted_capacity": "2",
                },
            ],
        },
    })
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := ec2.NewLaunchTemplate(ctx, "example", &ec2.LaunchTemplateArgs{
			NamePrefix:   pulumi.String("example"),
			ImageId:      pulumi.Any(exampleAwsAmi.Id),
			InstanceType: pulumi.String("c5.large"),
		})
		if err != nil {
			return err
		}
		example2, err := ec2.NewLaunchTemplate(ctx, "example2", &ec2.LaunchTemplateArgs{
			NamePrefix: pulumi.String("example2"),
			ImageId:    pulumi.Any(example2AwsAmi.Id),
		})
		if err != nil {
			return err
		}
		_, err = autoscaling.NewGroup(ctx, "example", &autoscaling.GroupArgs{
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-east-1a"),
			},
			DesiredCapacity: pulumi.Int(1),
			MaxSize:         pulumi.Int(1),
			MinSize:         pulumi.Int(1),
			MixedInstancesPolicy: &autoscaling.GroupMixedInstancesPolicyArgs{
				LaunchTemplate: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs{
					LaunchTemplateSpecification: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{
						LaunchTemplateId: example.ID(),
					},
					Overrides: autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArray{
						&autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{
							InstanceType:     pulumi.String("c4.large"),
							WeightedCapacity: pulumi.String("3"),
						},
						&autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{
							InstanceType: pulumi.String("c6g.large"),
							LaunchTemplateSpecification: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs{
								LaunchTemplateId: example2.ID(),
							},
							WeightedCapacity: pulumi.String("2"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var example = new Aws.Ec2.LaunchTemplate("example", new()
    {
        NamePrefix = "example",
        ImageId = exampleAwsAmi.Id,
        InstanceType = "c5.large",
    });
    var example2 = new Aws.Ec2.LaunchTemplate("example2", new()
    {
        NamePrefix = "example2",
        ImageId = example2AwsAmi.Id,
    });
    var exampleGroup = new Aws.AutoScaling.Group("example", new()
    {
        AvailabilityZones = new[]
        {
            "us-east-1a",
        },
        DesiredCapacity = 1,
        MaxSize = 1,
        MinSize = 1,
        MixedInstancesPolicy = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyArgs
        {
            LaunchTemplate = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateArgs
            {
                LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs
                {
                    LaunchTemplateId = example.Id,
                },
                Overrides = new[]
                {
                    new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs
                    {
                        InstanceType = "c4.large",
                        WeightedCapacity = "3",
                    },
                    new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs
                    {
                        InstanceType = "c6g.large",
                        LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs
                        {
                            LaunchTemplateId = example2.Id,
                        },
                        WeightedCapacity = "2",
                    },
                },
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.LaunchTemplate;
import com.pulumi.aws.ec2.LaunchTemplateArgs;
import com.pulumi.aws.autoscaling.Group;
import com.pulumi.aws.autoscaling.GroupArgs;
import com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyArgs;
import com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateArgs;
import com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var example = new LaunchTemplate("example", LaunchTemplateArgs.builder()
            .namePrefix("example")
            .imageId(exampleAwsAmi.id())
            .instanceType("c5.large")
            .build());
        var example2 = new LaunchTemplate("example2", LaunchTemplateArgs.builder()
            .namePrefix("example2")
            .imageId(example2AwsAmi.id())
            .build());
        var exampleGroup = new Group("exampleGroup", GroupArgs.builder()
            .availabilityZones("us-east-1a")
            .desiredCapacity(1)
            .maxSize(1)
            .minSize(1)
            .mixedInstancesPolicy(GroupMixedInstancesPolicyArgs.builder()
                .launchTemplate(GroupMixedInstancesPolicyLaunchTemplateArgs.builder()
                    .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs.builder()
                        .launchTemplateId(example.id())
                        .build())
                    .overrides(                    
                        GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()
                            .instanceType("c4.large")
                            .weightedCapacity("3")
                            .build(),
                        GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()
                            .instanceType("c6g.large")
                            .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs.builder()
                                .launchTemplateId(example2.id())
                                .build())
                            .weightedCapacity("2")
                            .build())
                    .build())
                .build())
            .build());
    }
}
resources:
  example:
    type: aws:ec2:LaunchTemplate
    properties:
      namePrefix: example
      imageId: ${exampleAwsAmi.id}
      instanceType: c5.large
  example2:
    type: aws:ec2:LaunchTemplate
    properties:
      namePrefix: example2
      imageId: ${example2AwsAmi.id}
  exampleGroup:
    type: aws:autoscaling:Group
    name: example
    properties:
      availabilityZones:
        - us-east-1a
      desiredCapacity: 1
      maxSize: 1
      minSize: 1
      mixedInstancesPolicy:
        launchTemplate:
          launchTemplateSpecification:
            launchTemplateId: ${example.id}
          overrides:
            - instanceType: c4.large
              weightedCapacity: '3'
            - instanceType: c6g.large
              launchTemplateSpecification:
                launchTemplateId: ${example2.id}
              weightedCapacity: '2'
Mixed Instances Policy with Attribute-based Instance Type Selection
As an alternative to manually choosing instance types when creating a mixed instances group, you can specify a set of instance attributes that describe your compute requirements.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.ec2.LaunchTemplate("example", {
    namePrefix: "example",
    imageId: exampleAwsAmi.id,
    instanceType: "c5.large",
});
const exampleGroup = new aws.autoscaling.Group("example", {
    availabilityZones: ["us-east-1a"],
    desiredCapacity: 1,
    maxSize: 1,
    minSize: 1,
    mixedInstancesPolicy: {
        launchTemplate: {
            launchTemplateSpecification: {
                launchTemplateId: example.id,
            },
            overrides: [{
                instanceRequirements: {
                    memoryMib: {
                        min: 1000,
                    },
                    vcpuCount: {
                        min: 4,
                    },
                },
            }],
        },
    },
});
import pulumi
import pulumi_aws as aws
example = aws.ec2.LaunchTemplate("example",
    name_prefix="example",
    image_id=example_aws_ami["id"],
    instance_type="c5.large")
example_group = aws.autoscaling.Group("example",
    availability_zones=["us-east-1a"],
    desired_capacity=1,
    max_size=1,
    min_size=1,
    mixed_instances_policy={
        "launch_template": {
            "launch_template_specification": {
                "launch_template_id": example.id,
            },
            "overrides": [{
                "instance_requirements": {
                    "memory_mib": {
                        "min": 1000,
                    },
                    "vcpu_count": {
                        "min": 4,
                    },
                },
            }],
        },
    })
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := ec2.NewLaunchTemplate(ctx, "example", &ec2.LaunchTemplateArgs{
			NamePrefix:   pulumi.String("example"),
			ImageId:      pulumi.Any(exampleAwsAmi.Id),
			InstanceType: pulumi.String("c5.large"),
		})
		if err != nil {
			return err
		}
		_, err = autoscaling.NewGroup(ctx, "example", &autoscaling.GroupArgs{
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-east-1a"),
			},
			DesiredCapacity: pulumi.Int(1),
			MaxSize:         pulumi.Int(1),
			MinSize:         pulumi.Int(1),
			MixedInstancesPolicy: &autoscaling.GroupMixedInstancesPolicyArgs{
				LaunchTemplate: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs{
					LaunchTemplateSpecification: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{
						LaunchTemplateId: example.ID(),
					},
					Overrides: autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArray{
						&autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{
							InstanceRequirements: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsArgs{
								MemoryMib: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibArgs{
									Min: pulumi.Int(1000),
								},
								VcpuCount: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountArgs{
									Min: pulumi.Int(4),
								},
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var example = new Aws.Ec2.LaunchTemplate("example", new()
    {
        NamePrefix = "example",
        ImageId = exampleAwsAmi.Id,
        InstanceType = "c5.large",
    });
    var exampleGroup = new Aws.AutoScaling.Group("example", new()
    {
        AvailabilityZones = new[]
        {
            "us-east-1a",
        },
        DesiredCapacity = 1,
        MaxSize = 1,
        MinSize = 1,
        MixedInstancesPolicy = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyArgs
        {
            LaunchTemplate = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateArgs
            {
                LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs
                {
                    LaunchTemplateId = example.Id,
                },
                Overrides = new[]
                {
                    new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs
                    {
                        InstanceRequirements = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsArgs
                        {
                            MemoryMib = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibArgs
                            {
                                Min = 1000,
                            },
                            VcpuCount = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountArgs
                            {
                                Min = 4,
                            },
                        },
                    },
                },
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.LaunchTemplate;
import com.pulumi.aws.ec2.LaunchTemplateArgs;
import com.pulumi.aws.autoscaling.Group;
import com.pulumi.aws.autoscaling.GroupArgs;
import com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyArgs;
import com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateArgs;
import com.pulumi.aws.autoscaling.inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var example = new LaunchTemplate("example", LaunchTemplateArgs.builder()
            .namePrefix("example")
            .imageId(exampleAwsAmi.id())
            .instanceType("c5.large")
            .build());
        var exampleGroup = new Group("exampleGroup", GroupArgs.builder()
            .availabilityZones("us-east-1a")
            .desiredCapacity(1)
            .maxSize(1)
            .minSize(1)
            .mixedInstancesPolicy(GroupMixedInstancesPolicyArgs.builder()
                .launchTemplate(GroupMixedInstancesPolicyLaunchTemplateArgs.builder()
                    .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs.builder()
                        .launchTemplateId(example.id())
                        .build())
                    .overrides(GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()
                        .instanceRequirements(GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsArgs.builder()
                            .memoryMib(GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibArgs.builder()
                                .min(1000)
                                .build())
                            .vcpuCount(GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountArgs.builder()
                                .min(4)
                                .build())
                            .build())
                        .build())
                    .build())
                .build())
            .build());
    }
}
resources:
  example:
    type: aws:ec2:LaunchTemplate
    properties:
      namePrefix: example
      imageId: ${exampleAwsAmi.id}
      instanceType: c5.large
  exampleGroup:
    type: aws:autoscaling:Group
    name: example
    properties:
      availabilityZones:
        - us-east-1a
      desiredCapacity: 1
      maxSize: 1
      minSize: 1
      mixedInstancesPolicy:
        launchTemplate:
          launchTemplateSpecification:
            launchTemplateId: ${example.id}
          overrides:
            - instanceRequirements:
                memoryMib:
                  min: 1000
                vcpuCount:
                  min: 4
Dynamic tagging
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const config = new pulumi.Config();
const extraTags = config.getObject("extraTags") || [
    {
        key: "Foo",
        propagateAtLaunch: true,
        value: "Bar",
    },
    {
        key: "Baz",
        propagateAtLaunch: true,
        value: "Bam",
    },
];
const test = new aws.autoscaling.Group("test", {
    tags: [
        {
            key: "explicit1",
            value: "value1",
            propagateAtLaunch: true,
        },
        {
            key: "explicit2",
            value: "value2",
            propagateAtLaunch: true,
        },
    ],
    name: "foobar3-test",
    maxSize: 5,
    minSize: 2,
    launchConfiguration: foobar.name,
    vpcZoneIdentifiers: [
        example1.id,
        example2.id,
    ],
});
import pulumi
import pulumi_aws as aws
config = pulumi.Config()
extra_tags = config.get_object("extraTags")
if extra_tags is None:
    extra_tags = [
        {
            "key": "Foo",
            "propagateAtLaunch": True,
            "value": "Bar",
        },
        {
            "key": "Baz",
            "propagateAtLaunch": True,
            "value": "Bam",
        },
    ]
test = aws.autoscaling.Group("test",
    tags=[
        {
            "key": "explicit1",
            "value": "value1",
            "propagate_at_launch": True,
        },
        {
            "key": "explicit2",
            "value": "value2",
            "propagate_at_launch": True,
        },
    ],
    name="foobar3-test",
    max_size=5,
    min_size=2,
    launch_configuration=foobar["name"],
    vpc_zone_identifiers=[
        example1["id"],
        example2["id"],
    ])
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		extraTags := []map[string]interface{}{
			map[string]interface{}{
				"key":               "Foo",
				"propagateAtLaunch": true,
				"value":             "Bar",
			},
			map[string]interface{}{
				"key":               "Baz",
				"propagateAtLaunch": true,
				"value":             "Bam",
			},
		}
		if param := cfg.GetObject("extraTags"); param != nil {
			extraTags = param
		}
		_, err := autoscaling.NewGroup(ctx, "test", &autoscaling.GroupArgs{
			Tags: autoscaling.GroupTagArray{
				&autoscaling.GroupTagArgs{
					Key:               pulumi.String("explicit1"),
					Value:             pulumi.String("value1"),
					PropagateAtLaunch: pulumi.Bool(true),
				},
				&autoscaling.GroupTagArgs{
					Key:               pulumi.String("explicit2"),
					Value:             pulumi.String("value2"),
					PropagateAtLaunch: pulumi.Bool(true),
				},
			},
			Name:                pulumi.String("foobar3-test"),
			MaxSize:             pulumi.Int(5),
			MinSize:             pulumi.Int(2),
			LaunchConfiguration: pulumi.Any(foobar.Name),
			VpcZoneIdentifiers: pulumi.StringArray{
				example1.Id,
				example2.Id,
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var config = new Config();
    var extraTags = config.GetObject<dynamic>("extraTags") ?? new[]
    {
        
        {
            { "key", "Foo" },
            { "propagateAtLaunch", true },
            { "value", "Bar" },
        },
        
        {
            { "key", "Baz" },
            { "propagateAtLaunch", true },
            { "value", "Bam" },
        },
    };
    var test = new Aws.AutoScaling.Group("test", new()
    {
        Tags = new[]
        {
            new Aws.AutoScaling.Inputs.GroupTagArgs
            {
                Key = "explicit1",
                Value = "value1",
                PropagateAtLaunch = true,
            },
            new Aws.AutoScaling.Inputs.GroupTagArgs
            {
                Key = "explicit2",
                Value = "value2",
                PropagateAtLaunch = true,
            },
        },
        Name = "foobar3-test",
        MaxSize = 5,
        MinSize = 2,
        LaunchConfiguration = foobar.Name,
        VpcZoneIdentifiers = new[]
        {
            example1.Id,
            example2.Id,
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.autoscaling.Group;
import com.pulumi.aws.autoscaling.GroupArgs;
import com.pulumi.aws.autoscaling.inputs.GroupTagArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        final var config = ctx.config();
        final var extraTags = config.get("extraTags").orElse(        
            %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),
            %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference));
        var test = new Group("test", GroupArgs.builder()
            .tags(            
                GroupTagArgs.builder()
                    .key("explicit1")
                    .value("value1")
                    .propagateAtLaunch(true)
                    .build(),
                GroupTagArgs.builder()
                    .key("explicit2")
                    .value("value2")
                    .propagateAtLaunch(true)
                    .build())
            .name("foobar3-test")
            .maxSize(5)
            .minSize(2)
            .launchConfiguration(foobar.name())
            .vpcZoneIdentifiers(            
                example1.id(),
                example2.id())
            .build());
    }
}
configuration:
  extraTags:
    type: dynamic
    default:
      - key: Foo
        propagateAtLaunch: true
        value: Bar
      - key: Baz
        propagateAtLaunch: true
        value: Bam
resources:
  test:
    type: aws:autoscaling:Group
    properties:
      tags:
        - key: explicit1
          value: value1
          propagateAtLaunch: true
        - key: explicit2
          value: value2
          propagateAtLaunch: true
      name: foobar3-test
      maxSize: 5
      minSize: 2
      launchConfiguration: ${foobar.name}
      vpcZoneIdentifiers:
        - ${example1.id}
        - ${example2.id}
Automatically refresh all instances after the group is updated
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = aws.ec2.getAmi({
    mostRecent: true,
    owners: ["amazon"],
    filters: [{
        name: "name",
        values: ["amzn-ami-hvm-*-x86_64-gp2"],
    }],
});
const exampleLaunchTemplate = new aws.ec2.LaunchTemplate("example", {
    imageId: example.then(example => example.id),
    instanceType: "t3.nano",
});
const exampleGroup = new aws.autoscaling.Group("example", {
    availabilityZones: ["us-east-1a"],
    desiredCapacity: 1,
    maxSize: 2,
    minSize: 1,
    launchTemplate: {
        id: exampleLaunchTemplate.id,
        version: exampleLaunchTemplate.latestVersion,
    },
    tags: [{
        key: "Key",
        value: "Value",
        propagateAtLaunch: true,
    }],
    instanceRefresh: {
        strategy: "Rolling",
        preferences: {
            minHealthyPercentage: 50,
        },
        triggers: ["tag"],
    },
});
import pulumi
import pulumi_aws as aws
example = aws.ec2.get_ami(most_recent=True,
    owners=["amazon"],
    filters=[{
        "name": "name",
        "values": ["amzn-ami-hvm-*-x86_64-gp2"],
    }])
example_launch_template = aws.ec2.LaunchTemplate("example",
    image_id=example.id,
    instance_type="t3.nano")
example_group = aws.autoscaling.Group("example",
    availability_zones=["us-east-1a"],
    desired_capacity=1,
    max_size=2,
    min_size=1,
    launch_template={
        "id": example_launch_template.id,
        "version": example_launch_template.latest_version,
    },
    tags=[{
        "key": "Key",
        "value": "Value",
        "propagate_at_launch": True,
    }],
    instance_refresh={
        "strategy": "Rolling",
        "preferences": {
            "min_healthy_percentage": 50,
        },
        "triggers": ["tag"],
    })
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := ec2.LookupAmi(ctx, &ec2.LookupAmiArgs{
			MostRecent: pulumi.BoolRef(true),
			Owners: []string{
				"amazon",
			},
			Filters: []ec2.GetAmiFilter{
				{
					Name: "name",
					Values: []string{
						"amzn-ami-hvm-*-x86_64-gp2",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		exampleLaunchTemplate, err := ec2.NewLaunchTemplate(ctx, "example", &ec2.LaunchTemplateArgs{
			ImageId:      pulumi.String(example.Id),
			InstanceType: pulumi.String("t3.nano"),
		})
		if err != nil {
			return err
		}
		_, err = autoscaling.NewGroup(ctx, "example", &autoscaling.GroupArgs{
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-east-1a"),
			},
			DesiredCapacity: pulumi.Int(1),
			MaxSize:         pulumi.Int(2),
			MinSize:         pulumi.Int(1),
			LaunchTemplate: &autoscaling.GroupLaunchTemplateArgs{
				Id:      exampleLaunchTemplate.ID(),
				Version: exampleLaunchTemplate.LatestVersion,
			},
			Tags: autoscaling.GroupTagArray{
				&autoscaling.GroupTagArgs{
					Key:               pulumi.String("Key"),
					Value:             pulumi.String("Value"),
					PropagateAtLaunch: pulumi.Bool(true),
				},
			},
			InstanceRefresh: &autoscaling.GroupInstanceRefreshArgs{
				Strategy: pulumi.String("Rolling"),
				Preferences: &autoscaling.GroupInstanceRefreshPreferencesArgs{
					MinHealthyPercentage: pulumi.Int(50),
				},
				Triggers: pulumi.StringArray{
					pulumi.String("tag"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var example = Aws.Ec2.GetAmi.Invoke(new()
    {
        MostRecent = true,
        Owners = new[]
        {
            "amazon",
        },
        Filters = new[]
        {
            new Aws.Ec2.Inputs.GetAmiFilterInputArgs
            {
                Name = "name",
                Values = new[]
                {
                    "amzn-ami-hvm-*-x86_64-gp2",
                },
            },
        },
    });
    var exampleLaunchTemplate = new Aws.Ec2.LaunchTemplate("example", new()
    {
        ImageId = example.Apply(getAmiResult => getAmiResult.Id),
        InstanceType = "t3.nano",
    });
    var exampleGroup = new Aws.AutoScaling.Group("example", new()
    {
        AvailabilityZones = new[]
        {
            "us-east-1a",
        },
        DesiredCapacity = 1,
        MaxSize = 2,
        MinSize = 1,
        LaunchTemplate = new Aws.AutoScaling.Inputs.GroupLaunchTemplateArgs
        {
            Id = exampleLaunchTemplate.Id,
            Version = exampleLaunchTemplate.LatestVersion,
        },
        Tags = new[]
        {
            new Aws.AutoScaling.Inputs.GroupTagArgs
            {
                Key = "Key",
                Value = "Value",
                PropagateAtLaunch = true,
            },
        },
        InstanceRefresh = new Aws.AutoScaling.Inputs.GroupInstanceRefreshArgs
        {
            Strategy = "Rolling",
            Preferences = new Aws.AutoScaling.Inputs.GroupInstanceRefreshPreferencesArgs
            {
                MinHealthyPercentage = 50,
            },
            Triggers = new[]
            {
                "tag",
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.Ec2Functions;
import com.pulumi.aws.ec2.inputs.GetAmiArgs;
import com.pulumi.aws.ec2.LaunchTemplate;
import com.pulumi.aws.ec2.LaunchTemplateArgs;
import com.pulumi.aws.autoscaling.Group;
import com.pulumi.aws.autoscaling.GroupArgs;
import com.pulumi.aws.autoscaling.inputs.GroupLaunchTemplateArgs;
import com.pulumi.aws.autoscaling.inputs.GroupTagArgs;
import com.pulumi.aws.autoscaling.inputs.GroupInstanceRefreshArgs;
import com.pulumi.aws.autoscaling.inputs.GroupInstanceRefreshPreferencesArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        final var example = Ec2Functions.getAmi(GetAmiArgs.builder()
            .mostRecent(true)
            .owners("amazon")
            .filters(GetAmiFilterArgs.builder()
                .name("name")
                .values("amzn-ami-hvm-*-x86_64-gp2")
                .build())
            .build());
        var exampleLaunchTemplate = new LaunchTemplate("exampleLaunchTemplate", LaunchTemplateArgs.builder()
            .imageId(example.applyValue(getAmiResult -> getAmiResult.id()))
            .instanceType("t3.nano")
            .build());
        var exampleGroup = new Group("exampleGroup", GroupArgs.builder()
            .availabilityZones("us-east-1a")
            .desiredCapacity(1)
            .maxSize(2)
            .minSize(1)
            .launchTemplate(GroupLaunchTemplateArgs.builder()
                .id(exampleLaunchTemplate.id())
                .version(exampleLaunchTemplate.latestVersion())
                .build())
            .tags(GroupTagArgs.builder()
                .key("Key")
                .value("Value")
                .propagateAtLaunch(true)
                .build())
            .instanceRefresh(GroupInstanceRefreshArgs.builder()
                .strategy("Rolling")
                .preferences(GroupInstanceRefreshPreferencesArgs.builder()
                    .minHealthyPercentage(50)
                    .build())
                .triggers("tag")
                .build())
            .build());
    }
}
resources:
  exampleGroup:
    type: aws:autoscaling:Group
    name: example
    properties:
      availabilityZones:
        - us-east-1a
      desiredCapacity: 1
      maxSize: 2
      minSize: 1
      launchTemplate:
        id: ${exampleLaunchTemplate.id}
        version: ${exampleLaunchTemplate.latestVersion}
      tags:
        - key: Key
          value: Value
          propagateAtLaunch: true
      instanceRefresh:
        strategy: Rolling
        preferences:
          minHealthyPercentage: 50
        triggers:
          - tag
  exampleLaunchTemplate:
    type: aws:ec2:LaunchTemplate
    name: example
    properties:
      imageId: ${example.id}
      instanceType: t3.nano
variables:
  example:
    fn::invoke:
      function: aws:ec2:getAmi
      arguments:
        mostRecent: true
        owners:
          - amazon
        filters:
          - name: name
            values:
              - amzn-ami-hvm-*-x86_64-gp2
Auto Scaling group with Warm Pool
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.ec2.LaunchTemplate("example", {
    namePrefix: "example",
    imageId: exampleAwsAmi.id,
    instanceType: "c5.large",
});
const exampleGroup = new aws.autoscaling.Group("example", {
    availabilityZones: ["us-east-1a"],
    desiredCapacity: 1,
    maxSize: 5,
    minSize: 1,
    warmPool: {
        poolState: "Hibernated",
        minSize: 1,
        maxGroupPreparedCapacity: 10,
        instanceReusePolicy: {
            reuseOnScaleIn: true,
        },
    },
});
import pulumi
import pulumi_aws as aws
example = aws.ec2.LaunchTemplate("example",
    name_prefix="example",
    image_id=example_aws_ami["id"],
    instance_type="c5.large")
example_group = aws.autoscaling.Group("example",
    availability_zones=["us-east-1a"],
    desired_capacity=1,
    max_size=5,
    min_size=1,
    warm_pool={
        "pool_state": "Hibernated",
        "min_size": 1,
        "max_group_prepared_capacity": 10,
        "instance_reuse_policy": {
            "reuse_on_scale_in": True,
        },
    })
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ec2.NewLaunchTemplate(ctx, "example", &ec2.LaunchTemplateArgs{
			NamePrefix:   pulumi.String("example"),
			ImageId:      pulumi.Any(exampleAwsAmi.Id),
			InstanceType: pulumi.String("c5.large"),
		})
		if err != nil {
			return err
		}
		_, err = autoscaling.NewGroup(ctx, "example", &autoscaling.GroupArgs{
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-east-1a"),
			},
			DesiredCapacity: pulumi.Int(1),
			MaxSize:         pulumi.Int(5),
			MinSize:         pulumi.Int(1),
			WarmPool: &autoscaling.GroupWarmPoolArgs{
				PoolState:                pulumi.String("Hibernated"),
				MinSize:                  pulumi.Int(1),
				MaxGroupPreparedCapacity: pulumi.Int(10),
				InstanceReusePolicy: &autoscaling.GroupWarmPoolInstanceReusePolicyArgs{
					ReuseOnScaleIn: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var example = new Aws.Ec2.LaunchTemplate("example", new()
    {
        NamePrefix = "example",
        ImageId = exampleAwsAmi.Id,
        InstanceType = "c5.large",
    });
    var exampleGroup = new Aws.AutoScaling.Group("example", new()
    {
        AvailabilityZones = new[]
        {
            "us-east-1a",
        },
        DesiredCapacity = 1,
        MaxSize = 5,
        MinSize = 1,
        WarmPool = new Aws.AutoScaling.Inputs.GroupWarmPoolArgs
        {
            PoolState = "Hibernated",
            MinSize = 1,
            MaxGroupPreparedCapacity = 10,
            InstanceReusePolicy = new Aws.AutoScaling.Inputs.GroupWarmPoolInstanceReusePolicyArgs
            {
                ReuseOnScaleIn = true,
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.LaunchTemplate;
import com.pulumi.aws.ec2.LaunchTemplateArgs;
import com.pulumi.aws.autoscaling.Group;
import com.pulumi.aws.autoscaling.GroupArgs;
import com.pulumi.aws.autoscaling.inputs.GroupWarmPoolArgs;
import com.pulumi.aws.autoscaling.inputs.GroupWarmPoolInstanceReusePolicyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var example = new LaunchTemplate("example", LaunchTemplateArgs.builder()
            .namePrefix("example")
            .imageId(exampleAwsAmi.id())
            .instanceType("c5.large")
            .build());
        var exampleGroup = new Group("exampleGroup", GroupArgs.builder()
            .availabilityZones("us-east-1a")
            .desiredCapacity(1)
            .maxSize(5)
            .minSize(1)
            .warmPool(GroupWarmPoolArgs.builder()
                .poolState("Hibernated")
                .minSize(1)
                .maxGroupPreparedCapacity(10)
                .instanceReusePolicy(GroupWarmPoolInstanceReusePolicyArgs.builder()
                    .reuseOnScaleIn(true)
                    .build())
                .build())
            .build());
    }
}
resources:
  example:
    type: aws:ec2:LaunchTemplate
    properties:
      namePrefix: example
      imageId: ${exampleAwsAmi.id}
      instanceType: c5.large
  exampleGroup:
    type: aws:autoscaling:Group
    name: example
    properties:
      availabilityZones:
        - us-east-1a
      desiredCapacity: 1
      maxSize: 5
      minSize: 1
      warmPool:
        poolState: Hibernated
        minSize: 1
        maxGroupPreparedCapacity: 10
        instanceReusePolicy:
          reuseOnScaleIn: true
Auto Scaling group with Traffic Sources
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = new aws.autoscaling.Group("test", {
    trafficSources: testAwsVpclatticeTargetGroup.map(__item => __item).map((v, k) => ({key: k, value: v})).map(entry => ({
        identifier: entry.value.arn,
        type: "vpc-lattice",
    })),
    vpcZoneIdentifiers: testAwsSubnet.id,
    maxSize: 1,
    minSize: 1,
    forceDelete: true,
});
import pulumi
import pulumi_aws as aws
test = aws.autoscaling.Group("test",
    traffic_sources=[{
        "identifier": entry["value"]["arn"],
        "type": "vpc-lattice",
    } for entry in [{"key": k, "value": v} for k, v in [__item for __item in test_aws_vpclattice_target_group]]],
    vpc_zone_identifiers=test_aws_subnet["id"],
    max_size=1,
    min_size=1,
    force_delete=True)
Coming soon!
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var test = new Aws.AutoScaling.Group("test", new()
    {
        TrafficSources = testAwsVpclatticeTargetGroup.Select(__item => __item).ToList().Select((v, k) => new { Key = k, Value = v }).Select(entry => 
        {
            return new Aws.AutoScaling.Inputs.GroupTrafficSourceArgs
            {
                Identifier = entry.Value.Arn,
                Type = "vpc-lattice",
            };
        }).ToList(),
        VpcZoneIdentifiers = testAwsSubnet.Id,
        MaxSize = 1,
        MinSize = 1,
        ForceDelete = true,
    });
});
Coming soon!
Coming soon!
Waiting for Capacity
A newly-created ASG is initially empty and begins to scale to min_size (or
desired_capacity, if specified) by launching instances using the provided
Launch Configuration. These instances take time to launch and boot.
On ASG Update, changes to these values also take time to result in the target number of instances providing service.
This provider provides two mechanisms to help consistently manage ASG scale up time across dependent resources.
Waiting for ASG Capacity
The first is default behavior. This provider waits after ASG creation for
min_size (or desired_capacity, if specified) healthy instances to show up
in the ASG before continuing.
If min_size or desired_capacity are changed in a subsequent update,
this provider will also wait for the correct number of healthy instances before
continuing.
This provider considers an instance “healthy” when the ASG reports HealthStatus: "Healthy" and LifecycleState: "InService". See the AWS AutoScaling
Docs
for more information on an ASG’s lifecycle.
This provider will wait for healthy instances for up to
wait_for_capacity_timeout. If ASG creation is taking more than a few minutes,
it’s worth investigating for scaling activity errors, which can be caused by
problems with the selected Launch Configuration.
Setting wait_for_capacity_timeout to "0" disables ASG Capacity waiting.
Waiting for ELB Capacity
The second mechanism is optional, and affects ASGs with attached ELBs specified
via the load_balancers attribute or with ALBs specified with target_group_arns.
The min_elb_capacity parameter causes the provider to wait for at least the
requested number of instances to show up "InService" in all attached ELBs
during ASG creation. It has no effect on ASG updates.
If wait_for_elb_capacity is set, the provider will wait for exactly that number
of Instances to be "InService" in all attached ELBs on both creation and
updates.
These parameters can be used to ensure that service is being provided before the provider moves on. If new instances don’t pass the ELB’s health checks for any reason, the apply will time out, and the ASG will be marked as tainted (i.e., marked to be destroyed in a follow up run).
As with ASG Capacity, the provider will wait for up to wait_for_capacity_timeout
for the proper number of instances to be healthy.
Troubleshooting Capacity Waiting Timeouts
If ASG creation takes more than a few minutes, this could indicate one of a number of configuration problems. See the AWS Docs on Load Balancer Troubleshooting for more information.
Create Group Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Group(name: string, args: GroupArgs, opts?: CustomResourceOptions);@overload
def Group(resource_name: str,
          args: GroupArgs,
          opts: Optional[ResourceOptions] = None)
@overload
def Group(resource_name: str,
          opts: Optional[ResourceOptions] = None,
          max_size: Optional[int] = None,
          min_size: Optional[int] = None,
          max_instance_lifetime: Optional[int] = None,
          wait_for_elb_capacity: Optional[int] = None,
          default_cooldown: Optional[int] = None,
          default_instance_warmup: Optional[int] = None,
          desired_capacity: Optional[int] = None,
          desired_capacity_type: Optional[str] = None,
          enabled_metrics: Optional[Sequence[str]] = None,
          force_delete: Optional[bool] = None,
          availability_zone_distribution: Optional[GroupAvailabilityZoneDistributionArgs] = None,
          health_check_grace_period: Optional[int] = None,
          health_check_type: Optional[str] = None,
          ignore_failed_scaling_activities: Optional[bool] = None,
          initial_lifecycle_hooks: Optional[Sequence[GroupInitialLifecycleHookArgs]] = None,
          instance_maintenance_policy: Optional[GroupInstanceMaintenancePolicyArgs] = None,
          instance_refresh: Optional[GroupInstanceRefreshArgs] = None,
          launch_configuration: Optional[str] = None,
          launch_template: Optional[GroupLaunchTemplateArgs] = None,
          load_balancers: Optional[Sequence[str]] = None,
          force_delete_warm_pool: Optional[bool] = None,
          context: Optional[str] = None,
          name_prefix: Optional[str] = None,
          min_elb_capacity: Optional[int] = None,
          availability_zones: Optional[Sequence[str]] = None,
          mixed_instances_policy: Optional[GroupMixedInstancesPolicyArgs] = None,
          name: Optional[str] = None,
          metrics_granularity: Optional[Union[str, MetricsGranularity]] = None,
          placement_group: Optional[str] = None,
          protect_from_scale_in: Optional[bool] = None,
          service_linked_role_arn: Optional[str] = None,
          suspended_processes: Optional[Sequence[str]] = None,
          tags: Optional[Sequence[GroupTagArgs]] = None,
          target_group_arns: Optional[Sequence[str]] = None,
          termination_policies: Optional[Sequence[str]] = None,
          traffic_sources: Optional[Sequence[GroupTrafficSourceArgs]] = None,
          vpc_zone_identifiers: Optional[Sequence[str]] = None,
          wait_for_capacity_timeout: Optional[str] = None,
          capacity_rebalance: Optional[bool] = None,
          warm_pool: Optional[GroupWarmPoolArgs] = None)func NewGroup(ctx *Context, name string, args GroupArgs, opts ...ResourceOption) (*Group, error)public Group(string name, GroupArgs args, CustomResourceOptions? opts = null)type: aws:autoscaling:Group
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args GroupArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args GroupArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args GroupArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args GroupArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args GroupArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var groupResource = new Aws.AutoScaling.Group("groupResource", new()
{
    MaxSize = 0,
    MinSize = 0,
    MaxInstanceLifetime = 0,
    WaitForElbCapacity = 0,
    DefaultCooldown = 0,
    DefaultInstanceWarmup = 0,
    DesiredCapacity = 0,
    DesiredCapacityType = "string",
    EnabledMetrics = new[]
    {
        "string",
    },
    ForceDelete = false,
    AvailabilityZoneDistribution = new Aws.AutoScaling.Inputs.GroupAvailabilityZoneDistributionArgs
    {
        CapacityDistributionStrategy = "string",
    },
    HealthCheckGracePeriod = 0,
    HealthCheckType = "string",
    IgnoreFailedScalingActivities = false,
    InitialLifecycleHooks = new[]
    {
        new Aws.AutoScaling.Inputs.GroupInitialLifecycleHookArgs
        {
            LifecycleTransition = "string",
            Name = "string",
            DefaultResult = "string",
            HeartbeatTimeout = 0,
            NotificationMetadata = "string",
            NotificationTargetArn = "string",
            RoleArn = "string",
        },
    },
    InstanceMaintenancePolicy = new Aws.AutoScaling.Inputs.GroupInstanceMaintenancePolicyArgs
    {
        MaxHealthyPercentage = 0,
        MinHealthyPercentage = 0,
    },
    InstanceRefresh = new Aws.AutoScaling.Inputs.GroupInstanceRefreshArgs
    {
        Strategy = "string",
        Preferences = new Aws.AutoScaling.Inputs.GroupInstanceRefreshPreferencesArgs
        {
            AlarmSpecification = new Aws.AutoScaling.Inputs.GroupInstanceRefreshPreferencesAlarmSpecificationArgs
            {
                Alarms = new[]
                {
                    "string",
                },
            },
            AutoRollback = false,
            CheckpointDelay = "string",
            CheckpointPercentages = new[]
            {
                0,
            },
            InstanceWarmup = "string",
            MaxHealthyPercentage = 0,
            MinHealthyPercentage = 0,
            ScaleInProtectedInstances = "string",
            SkipMatching = false,
            StandbyInstances = "string",
        },
        Triggers = new[]
        {
            "string",
        },
    },
    LaunchConfiguration = "string",
    LaunchTemplate = new Aws.AutoScaling.Inputs.GroupLaunchTemplateArgs
    {
        Id = "string",
        Name = "string",
        Version = "string",
    },
    LoadBalancers = new[]
    {
        "string",
    },
    ForceDeleteWarmPool = false,
    Context = "string",
    NamePrefix = "string",
    MinElbCapacity = 0,
    AvailabilityZones = new[]
    {
        "string",
    },
    MixedInstancesPolicy = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyArgs
    {
        LaunchTemplate = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateArgs
        {
            LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs
            {
                LaunchTemplateId = "string",
                LaunchTemplateName = "string",
                Version = "string",
            },
            Overrides = new[]
            {
                new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs
                {
                    InstanceRequirements = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsArgs
                    {
                        AcceleratorCount = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCountArgs
                        {
                            Max = 0,
                            Min = 0,
                        },
                        AcceleratorManufacturers = new[]
                        {
                            "string",
                        },
                        AcceleratorNames = new[]
                        {
                            "string",
                        },
                        AcceleratorTotalMemoryMib = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs
                        {
                            Max = 0,
                            Min = 0,
                        },
                        AcceleratorTypes = new[]
                        {
                            "string",
                        },
                        AllowedInstanceTypes = new[]
                        {
                            "string",
                        },
                        BareMetal = "string",
                        BaselineEbsBandwidthMbps = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs
                        {
                            Max = 0,
                            Min = 0,
                        },
                        BurstablePerformance = "string",
                        CpuManufacturers = new[]
                        {
                            "string",
                        },
                        ExcludedInstanceTypes = new[]
                        {
                            "string",
                        },
                        InstanceGenerations = new[]
                        {
                            "string",
                        },
                        LocalStorage = "string",
                        LocalStorageTypes = new[]
                        {
                            "string",
                        },
                        MaxSpotPriceAsPercentageOfOptimalOnDemandPrice = 0,
                        MemoryGibPerVcpu = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryGibPerVcpuArgs
                        {
                            Max = 0,
                            Min = 0,
                        },
                        MemoryMib = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibArgs
                        {
                            Max = 0,
                            Min = 0,
                        },
                        NetworkBandwidthGbps = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkBandwidthGbpsArgs
                        {
                            Max = 0,
                            Min = 0,
                        },
                        NetworkInterfaceCount = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkInterfaceCountArgs
                        {
                            Max = 0,
                            Min = 0,
                        },
                        OnDemandMaxPricePercentageOverLowestPrice = 0,
                        RequireHibernateSupport = false,
                        SpotMaxPricePercentageOverLowestPrice = 0,
                        TotalLocalStorageGb = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsTotalLocalStorageGbArgs
                        {
                            Max = 0,
                            Min = 0,
                        },
                        VcpuCount = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountArgs
                        {
                            Max = 0,
                            Min = 0,
                        },
                    },
                    InstanceType = "string",
                    LaunchTemplateSpecification = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs
                    {
                        LaunchTemplateId = "string",
                        LaunchTemplateName = "string",
                        Version = "string",
                    },
                    WeightedCapacity = "string",
                },
            },
        },
        InstancesDistribution = new Aws.AutoScaling.Inputs.GroupMixedInstancesPolicyInstancesDistributionArgs
        {
            OnDemandAllocationStrategy = "string",
            OnDemandBaseCapacity = 0,
            OnDemandPercentageAboveBaseCapacity = 0,
            SpotAllocationStrategy = "string",
            SpotInstancePools = 0,
            SpotMaxPrice = "string",
        },
    },
    Name = "string",
    MetricsGranularity = "string",
    PlacementGroup = "string",
    ProtectFromScaleIn = false,
    ServiceLinkedRoleArn = "string",
    SuspendedProcesses = new[]
    {
        "string",
    },
    Tags = new[]
    {
        new Aws.AutoScaling.Inputs.GroupTagArgs
        {
            Key = "string",
            PropagateAtLaunch = false,
            Value = "string",
        },
    },
    TargetGroupArns = new[]
    {
        "string",
    },
    TerminationPolicies = new[]
    {
        "string",
    },
    TrafficSources = new[]
    {
        new Aws.AutoScaling.Inputs.GroupTrafficSourceArgs
        {
            Identifier = "string",
            Type = "string",
        },
    },
    VpcZoneIdentifiers = new[]
    {
        "string",
    },
    WaitForCapacityTimeout = "string",
    CapacityRebalance = false,
    WarmPool = new Aws.AutoScaling.Inputs.GroupWarmPoolArgs
    {
        InstanceReusePolicy = new Aws.AutoScaling.Inputs.GroupWarmPoolInstanceReusePolicyArgs
        {
            ReuseOnScaleIn = false,
        },
        MaxGroupPreparedCapacity = 0,
        MinSize = 0,
        PoolState = "string",
    },
});
example, err := autoscaling.NewGroup(ctx, "groupResource", &autoscaling.GroupArgs{
	MaxSize:               pulumi.Int(0),
	MinSize:               pulumi.Int(0),
	MaxInstanceLifetime:   pulumi.Int(0),
	WaitForElbCapacity:    pulumi.Int(0),
	DefaultCooldown:       pulumi.Int(0),
	DefaultInstanceWarmup: pulumi.Int(0),
	DesiredCapacity:       pulumi.Int(0),
	DesiredCapacityType:   pulumi.String("string"),
	EnabledMetrics: pulumi.StringArray{
		pulumi.String("string"),
	},
	ForceDelete: pulumi.Bool(false),
	AvailabilityZoneDistribution: &autoscaling.GroupAvailabilityZoneDistributionArgs{
		CapacityDistributionStrategy: pulumi.String("string"),
	},
	HealthCheckGracePeriod:        pulumi.Int(0),
	HealthCheckType:               pulumi.String("string"),
	IgnoreFailedScalingActivities: pulumi.Bool(false),
	InitialLifecycleHooks: autoscaling.GroupInitialLifecycleHookArray{
		&autoscaling.GroupInitialLifecycleHookArgs{
			LifecycleTransition:   pulumi.String("string"),
			Name:                  pulumi.String("string"),
			DefaultResult:         pulumi.String("string"),
			HeartbeatTimeout:      pulumi.Int(0),
			NotificationMetadata:  pulumi.String("string"),
			NotificationTargetArn: pulumi.String("string"),
			RoleArn:               pulumi.String("string"),
		},
	},
	InstanceMaintenancePolicy: &autoscaling.GroupInstanceMaintenancePolicyArgs{
		MaxHealthyPercentage: pulumi.Int(0),
		MinHealthyPercentage: pulumi.Int(0),
	},
	InstanceRefresh: &autoscaling.GroupInstanceRefreshArgs{
		Strategy: pulumi.String("string"),
		Preferences: &autoscaling.GroupInstanceRefreshPreferencesArgs{
			AlarmSpecification: &autoscaling.GroupInstanceRefreshPreferencesAlarmSpecificationArgs{
				Alarms: pulumi.StringArray{
					pulumi.String("string"),
				},
			},
			AutoRollback:    pulumi.Bool(false),
			CheckpointDelay: pulumi.String("string"),
			CheckpointPercentages: pulumi.IntArray{
				pulumi.Int(0),
			},
			InstanceWarmup:            pulumi.String("string"),
			MaxHealthyPercentage:      pulumi.Int(0),
			MinHealthyPercentage:      pulumi.Int(0),
			ScaleInProtectedInstances: pulumi.String("string"),
			SkipMatching:              pulumi.Bool(false),
			StandbyInstances:          pulumi.String("string"),
		},
		Triggers: pulumi.StringArray{
			pulumi.String("string"),
		},
	},
	LaunchConfiguration: pulumi.Any("string"),
	LaunchTemplate: &autoscaling.GroupLaunchTemplateArgs{
		Id:      pulumi.String("string"),
		Name:    pulumi.String("string"),
		Version: pulumi.String("string"),
	},
	LoadBalancers: pulumi.StringArray{
		pulumi.String("string"),
	},
	ForceDeleteWarmPool: pulumi.Bool(false),
	Context:             pulumi.String("string"),
	NamePrefix:          pulumi.String("string"),
	MinElbCapacity:      pulumi.Int(0),
	AvailabilityZones: pulumi.StringArray{
		pulumi.String("string"),
	},
	MixedInstancesPolicy: &autoscaling.GroupMixedInstancesPolicyArgs{
		LaunchTemplate: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs{
			LaunchTemplateSpecification: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{
				LaunchTemplateId:   pulumi.String("string"),
				LaunchTemplateName: pulumi.String("string"),
				Version:            pulumi.String("string"),
			},
			Overrides: autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArray{
				&autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{
					InstanceRequirements: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsArgs{
						AcceleratorCount: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCountArgs{
							Max: pulumi.Int(0),
							Min: pulumi.Int(0),
						},
						AcceleratorManufacturers: pulumi.StringArray{
							pulumi.String("string"),
						},
						AcceleratorNames: pulumi.StringArray{
							pulumi.String("string"),
						},
						AcceleratorTotalMemoryMib: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs{
							Max: pulumi.Int(0),
							Min: pulumi.Int(0),
						},
						AcceleratorTypes: pulumi.StringArray{
							pulumi.String("string"),
						},
						AllowedInstanceTypes: pulumi.StringArray{
							pulumi.String("string"),
						},
						BareMetal: pulumi.String("string"),
						BaselineEbsBandwidthMbps: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs{
							Max: pulumi.Int(0),
							Min: pulumi.Int(0),
						},
						BurstablePerformance: pulumi.String("string"),
						CpuManufacturers: pulumi.StringArray{
							pulumi.String("string"),
						},
						ExcludedInstanceTypes: pulumi.StringArray{
							pulumi.String("string"),
						},
						InstanceGenerations: pulumi.StringArray{
							pulumi.String("string"),
						},
						LocalStorage: pulumi.String("string"),
						LocalStorageTypes: pulumi.StringArray{
							pulumi.String("string"),
						},
						MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: pulumi.Int(0),
						MemoryGibPerVcpu: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryGibPerVcpuArgs{
							Max: pulumi.Float64(0),
							Min: pulumi.Float64(0),
						},
						MemoryMib: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibArgs{
							Max: pulumi.Int(0),
							Min: pulumi.Int(0),
						},
						NetworkBandwidthGbps: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkBandwidthGbpsArgs{
							Max: pulumi.Float64(0),
							Min: pulumi.Float64(0),
						},
						NetworkInterfaceCount: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkInterfaceCountArgs{
							Max: pulumi.Int(0),
							Min: pulumi.Int(0),
						},
						OnDemandMaxPricePercentageOverLowestPrice: pulumi.Int(0),
						RequireHibernateSupport:                   pulumi.Bool(false),
						SpotMaxPricePercentageOverLowestPrice:     pulumi.Int(0),
						TotalLocalStorageGb: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsTotalLocalStorageGbArgs{
							Max: pulumi.Float64(0),
							Min: pulumi.Float64(0),
						},
						VcpuCount: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountArgs{
							Max: pulumi.Int(0),
							Min: pulumi.Int(0),
						},
					},
					InstanceType: pulumi.String("string"),
					LaunchTemplateSpecification: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs{
						LaunchTemplateId:   pulumi.String("string"),
						LaunchTemplateName: pulumi.String("string"),
						Version:            pulumi.String("string"),
					},
					WeightedCapacity: pulumi.String("string"),
				},
			},
		},
		InstancesDistribution: &autoscaling.GroupMixedInstancesPolicyInstancesDistributionArgs{
			OnDemandAllocationStrategy:          pulumi.String("string"),
			OnDemandBaseCapacity:                pulumi.Int(0),
			OnDemandPercentageAboveBaseCapacity: pulumi.Int(0),
			SpotAllocationStrategy:              pulumi.String("string"),
			SpotInstancePools:                   pulumi.Int(0),
			SpotMaxPrice:                        pulumi.String("string"),
		},
	},
	Name:                 pulumi.String("string"),
	MetricsGranularity:   pulumi.String("string"),
	PlacementGroup:       pulumi.Any("string"),
	ProtectFromScaleIn:   pulumi.Bool(false),
	ServiceLinkedRoleArn: pulumi.String("string"),
	SuspendedProcesses: pulumi.StringArray{
		pulumi.String("string"),
	},
	Tags: autoscaling.GroupTagArray{
		&autoscaling.GroupTagArgs{
			Key:               pulumi.String("string"),
			PropagateAtLaunch: pulumi.Bool(false),
			Value:             pulumi.String("string"),
		},
	},
	TargetGroupArns: pulumi.StringArray{
		pulumi.String("string"),
	},
	TerminationPolicies: pulumi.StringArray{
		pulumi.String("string"),
	},
	TrafficSources: autoscaling.GroupTrafficSourceArray{
		&autoscaling.GroupTrafficSourceArgs{
			Identifier: pulumi.String("string"),
			Type:       pulumi.String("string"),
		},
	},
	VpcZoneIdentifiers: pulumi.StringArray{
		pulumi.String("string"),
	},
	WaitForCapacityTimeout: pulumi.String("string"),
	CapacityRebalance:      pulumi.Bool(false),
	WarmPool: &autoscaling.GroupWarmPoolArgs{
		InstanceReusePolicy: &autoscaling.GroupWarmPoolInstanceReusePolicyArgs{
			ReuseOnScaleIn: pulumi.Bool(false),
		},
		MaxGroupPreparedCapacity: pulumi.Int(0),
		MinSize:                  pulumi.Int(0),
		PoolState:                pulumi.String("string"),
	},
})
var groupResource = new Group("groupResource", GroupArgs.builder()
    .maxSize(0)
    .minSize(0)
    .maxInstanceLifetime(0)
    .waitForElbCapacity(0)
    .defaultCooldown(0)
    .defaultInstanceWarmup(0)
    .desiredCapacity(0)
    .desiredCapacityType("string")
    .enabledMetrics("string")
    .forceDelete(false)
    .availabilityZoneDistribution(GroupAvailabilityZoneDistributionArgs.builder()
        .capacityDistributionStrategy("string")
        .build())
    .healthCheckGracePeriod(0)
    .healthCheckType("string")
    .ignoreFailedScalingActivities(false)
    .initialLifecycleHooks(GroupInitialLifecycleHookArgs.builder()
        .lifecycleTransition("string")
        .name("string")
        .defaultResult("string")
        .heartbeatTimeout(0)
        .notificationMetadata("string")
        .notificationTargetArn("string")
        .roleArn("string")
        .build())
    .instanceMaintenancePolicy(GroupInstanceMaintenancePolicyArgs.builder()
        .maxHealthyPercentage(0)
        .minHealthyPercentage(0)
        .build())
    .instanceRefresh(GroupInstanceRefreshArgs.builder()
        .strategy("string")
        .preferences(GroupInstanceRefreshPreferencesArgs.builder()
            .alarmSpecification(GroupInstanceRefreshPreferencesAlarmSpecificationArgs.builder()
                .alarms("string")
                .build())
            .autoRollback(false)
            .checkpointDelay("string")
            .checkpointPercentages(0)
            .instanceWarmup("string")
            .maxHealthyPercentage(0)
            .minHealthyPercentage(0)
            .scaleInProtectedInstances("string")
            .skipMatching(false)
            .standbyInstances("string")
            .build())
        .triggers("string")
        .build())
    .launchConfiguration("string")
    .launchTemplate(GroupLaunchTemplateArgs.builder()
        .id("string")
        .name("string")
        .version("string")
        .build())
    .loadBalancers("string")
    .forceDeleteWarmPool(false)
    .context("string")
    .namePrefix("string")
    .minElbCapacity(0)
    .availabilityZones("string")
    .mixedInstancesPolicy(GroupMixedInstancesPolicyArgs.builder()
        .launchTemplate(GroupMixedInstancesPolicyLaunchTemplateArgs.builder()
            .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs.builder()
                .launchTemplateId("string")
                .launchTemplateName("string")
                .version("string")
                .build())
            .overrides(GroupMixedInstancesPolicyLaunchTemplateOverrideArgs.builder()
                .instanceRequirements(GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsArgs.builder()
                    .acceleratorCount(GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCountArgs.builder()
                        .max(0)
                        .min(0)
                        .build())
                    .acceleratorManufacturers("string")
                    .acceleratorNames("string")
                    .acceleratorTotalMemoryMib(GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs.builder()
                        .max(0)
                        .min(0)
                        .build())
                    .acceleratorTypes("string")
                    .allowedInstanceTypes("string")
                    .bareMetal("string")
                    .baselineEbsBandwidthMbps(GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs.builder()
                        .max(0)
                        .min(0)
                        .build())
                    .burstablePerformance("string")
                    .cpuManufacturers("string")
                    .excludedInstanceTypes("string")
                    .instanceGenerations("string")
                    .localStorage("string")
                    .localStorageTypes("string")
                    .maxSpotPriceAsPercentageOfOptimalOnDemandPrice(0)
                    .memoryGibPerVcpu(GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryGibPerVcpuArgs.builder()
                        .max(0)
                        .min(0)
                        .build())
                    .memoryMib(GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibArgs.builder()
                        .max(0)
                        .min(0)
                        .build())
                    .networkBandwidthGbps(GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkBandwidthGbpsArgs.builder()
                        .max(0)
                        .min(0)
                        .build())
                    .networkInterfaceCount(GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkInterfaceCountArgs.builder()
                        .max(0)
                        .min(0)
                        .build())
                    .onDemandMaxPricePercentageOverLowestPrice(0)
                    .requireHibernateSupport(false)
                    .spotMaxPricePercentageOverLowestPrice(0)
                    .totalLocalStorageGb(GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsTotalLocalStorageGbArgs.builder()
                        .max(0)
                        .min(0)
                        .build())
                    .vcpuCount(GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountArgs.builder()
                        .max(0)
                        .min(0)
                        .build())
                    .build())
                .instanceType("string")
                .launchTemplateSpecification(GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs.builder()
                    .launchTemplateId("string")
                    .launchTemplateName("string")
                    .version("string")
                    .build())
                .weightedCapacity("string")
                .build())
            .build())
        .instancesDistribution(GroupMixedInstancesPolicyInstancesDistributionArgs.builder()
            .onDemandAllocationStrategy("string")
            .onDemandBaseCapacity(0)
            .onDemandPercentageAboveBaseCapacity(0)
            .spotAllocationStrategy("string")
            .spotInstancePools(0)
            .spotMaxPrice("string")
            .build())
        .build())
    .name("string")
    .metricsGranularity("string")
    .placementGroup("string")
    .protectFromScaleIn(false)
    .serviceLinkedRoleArn("string")
    .suspendedProcesses("string")
    .tags(GroupTagArgs.builder()
        .key("string")
        .propagateAtLaunch(false)
        .value("string")
        .build())
    .targetGroupArns("string")
    .terminationPolicies("string")
    .trafficSources(GroupTrafficSourceArgs.builder()
        .identifier("string")
        .type("string")
        .build())
    .vpcZoneIdentifiers("string")
    .waitForCapacityTimeout("string")
    .capacityRebalance(false)
    .warmPool(GroupWarmPoolArgs.builder()
        .instanceReusePolicy(GroupWarmPoolInstanceReusePolicyArgs.builder()
            .reuseOnScaleIn(false)
            .build())
        .maxGroupPreparedCapacity(0)
        .minSize(0)
        .poolState("string")
        .build())
    .build());
group_resource = aws.autoscaling.Group("groupResource",
    max_size=0,
    min_size=0,
    max_instance_lifetime=0,
    wait_for_elb_capacity=0,
    default_cooldown=0,
    default_instance_warmup=0,
    desired_capacity=0,
    desired_capacity_type="string",
    enabled_metrics=["string"],
    force_delete=False,
    availability_zone_distribution={
        "capacity_distribution_strategy": "string",
    },
    health_check_grace_period=0,
    health_check_type="string",
    ignore_failed_scaling_activities=False,
    initial_lifecycle_hooks=[{
        "lifecycle_transition": "string",
        "name": "string",
        "default_result": "string",
        "heartbeat_timeout": 0,
        "notification_metadata": "string",
        "notification_target_arn": "string",
        "role_arn": "string",
    }],
    instance_maintenance_policy={
        "max_healthy_percentage": 0,
        "min_healthy_percentage": 0,
    },
    instance_refresh={
        "strategy": "string",
        "preferences": {
            "alarm_specification": {
                "alarms": ["string"],
            },
            "auto_rollback": False,
            "checkpoint_delay": "string",
            "checkpoint_percentages": [0],
            "instance_warmup": "string",
            "max_healthy_percentage": 0,
            "min_healthy_percentage": 0,
            "scale_in_protected_instances": "string",
            "skip_matching": False,
            "standby_instances": "string",
        },
        "triggers": ["string"],
    },
    launch_configuration="string",
    launch_template={
        "id": "string",
        "name": "string",
        "version": "string",
    },
    load_balancers=["string"],
    force_delete_warm_pool=False,
    context="string",
    name_prefix="string",
    min_elb_capacity=0,
    availability_zones=["string"],
    mixed_instances_policy={
        "launch_template": {
            "launch_template_specification": {
                "launch_template_id": "string",
                "launch_template_name": "string",
                "version": "string",
            },
            "overrides": [{
                "instance_requirements": {
                    "accelerator_count": {
                        "max": 0,
                        "min": 0,
                    },
                    "accelerator_manufacturers": ["string"],
                    "accelerator_names": ["string"],
                    "accelerator_total_memory_mib": {
                        "max": 0,
                        "min": 0,
                    },
                    "accelerator_types": ["string"],
                    "allowed_instance_types": ["string"],
                    "bare_metal": "string",
                    "baseline_ebs_bandwidth_mbps": {
                        "max": 0,
                        "min": 0,
                    },
                    "burstable_performance": "string",
                    "cpu_manufacturers": ["string"],
                    "excluded_instance_types": ["string"],
                    "instance_generations": ["string"],
                    "local_storage": "string",
                    "local_storage_types": ["string"],
                    "max_spot_price_as_percentage_of_optimal_on_demand_price": 0,
                    "memory_gib_per_vcpu": {
                        "max": 0,
                        "min": 0,
                    },
                    "memory_mib": {
                        "max": 0,
                        "min": 0,
                    },
                    "network_bandwidth_gbps": {
                        "max": 0,
                        "min": 0,
                    },
                    "network_interface_count": {
                        "max": 0,
                        "min": 0,
                    },
                    "on_demand_max_price_percentage_over_lowest_price": 0,
                    "require_hibernate_support": False,
                    "spot_max_price_percentage_over_lowest_price": 0,
                    "total_local_storage_gb": {
                        "max": 0,
                        "min": 0,
                    },
                    "vcpu_count": {
                        "max": 0,
                        "min": 0,
                    },
                },
                "instance_type": "string",
                "launch_template_specification": {
                    "launch_template_id": "string",
                    "launch_template_name": "string",
                    "version": "string",
                },
                "weighted_capacity": "string",
            }],
        },
        "instances_distribution": {
            "on_demand_allocation_strategy": "string",
            "on_demand_base_capacity": 0,
            "on_demand_percentage_above_base_capacity": 0,
            "spot_allocation_strategy": "string",
            "spot_instance_pools": 0,
            "spot_max_price": "string",
        },
    },
    name="string",
    metrics_granularity="string",
    placement_group="string",
    protect_from_scale_in=False,
    service_linked_role_arn="string",
    suspended_processes=["string"],
    tags=[{
        "key": "string",
        "propagate_at_launch": False,
        "value": "string",
    }],
    target_group_arns=["string"],
    termination_policies=["string"],
    traffic_sources=[{
        "identifier": "string",
        "type": "string",
    }],
    vpc_zone_identifiers=["string"],
    wait_for_capacity_timeout="string",
    capacity_rebalance=False,
    warm_pool={
        "instance_reuse_policy": {
            "reuse_on_scale_in": False,
        },
        "max_group_prepared_capacity": 0,
        "min_size": 0,
        "pool_state": "string",
    })
const groupResource = new aws.autoscaling.Group("groupResource", {
    maxSize: 0,
    minSize: 0,
    maxInstanceLifetime: 0,
    waitForElbCapacity: 0,
    defaultCooldown: 0,
    defaultInstanceWarmup: 0,
    desiredCapacity: 0,
    desiredCapacityType: "string",
    enabledMetrics: ["string"],
    forceDelete: false,
    availabilityZoneDistribution: {
        capacityDistributionStrategy: "string",
    },
    healthCheckGracePeriod: 0,
    healthCheckType: "string",
    ignoreFailedScalingActivities: false,
    initialLifecycleHooks: [{
        lifecycleTransition: "string",
        name: "string",
        defaultResult: "string",
        heartbeatTimeout: 0,
        notificationMetadata: "string",
        notificationTargetArn: "string",
        roleArn: "string",
    }],
    instanceMaintenancePolicy: {
        maxHealthyPercentage: 0,
        minHealthyPercentage: 0,
    },
    instanceRefresh: {
        strategy: "string",
        preferences: {
            alarmSpecification: {
                alarms: ["string"],
            },
            autoRollback: false,
            checkpointDelay: "string",
            checkpointPercentages: [0],
            instanceWarmup: "string",
            maxHealthyPercentage: 0,
            minHealthyPercentage: 0,
            scaleInProtectedInstances: "string",
            skipMatching: false,
            standbyInstances: "string",
        },
        triggers: ["string"],
    },
    launchConfiguration: "string",
    launchTemplate: {
        id: "string",
        name: "string",
        version: "string",
    },
    loadBalancers: ["string"],
    forceDeleteWarmPool: false,
    context: "string",
    namePrefix: "string",
    minElbCapacity: 0,
    availabilityZones: ["string"],
    mixedInstancesPolicy: {
        launchTemplate: {
            launchTemplateSpecification: {
                launchTemplateId: "string",
                launchTemplateName: "string",
                version: "string",
            },
            overrides: [{
                instanceRequirements: {
                    acceleratorCount: {
                        max: 0,
                        min: 0,
                    },
                    acceleratorManufacturers: ["string"],
                    acceleratorNames: ["string"],
                    acceleratorTotalMemoryMib: {
                        max: 0,
                        min: 0,
                    },
                    acceleratorTypes: ["string"],
                    allowedInstanceTypes: ["string"],
                    bareMetal: "string",
                    baselineEbsBandwidthMbps: {
                        max: 0,
                        min: 0,
                    },
                    burstablePerformance: "string",
                    cpuManufacturers: ["string"],
                    excludedInstanceTypes: ["string"],
                    instanceGenerations: ["string"],
                    localStorage: "string",
                    localStorageTypes: ["string"],
                    maxSpotPriceAsPercentageOfOptimalOnDemandPrice: 0,
                    memoryGibPerVcpu: {
                        max: 0,
                        min: 0,
                    },
                    memoryMib: {
                        max: 0,
                        min: 0,
                    },
                    networkBandwidthGbps: {
                        max: 0,
                        min: 0,
                    },
                    networkInterfaceCount: {
                        max: 0,
                        min: 0,
                    },
                    onDemandMaxPricePercentageOverLowestPrice: 0,
                    requireHibernateSupport: false,
                    spotMaxPricePercentageOverLowestPrice: 0,
                    totalLocalStorageGb: {
                        max: 0,
                        min: 0,
                    },
                    vcpuCount: {
                        max: 0,
                        min: 0,
                    },
                },
                instanceType: "string",
                launchTemplateSpecification: {
                    launchTemplateId: "string",
                    launchTemplateName: "string",
                    version: "string",
                },
                weightedCapacity: "string",
            }],
        },
        instancesDistribution: {
            onDemandAllocationStrategy: "string",
            onDemandBaseCapacity: 0,
            onDemandPercentageAboveBaseCapacity: 0,
            spotAllocationStrategy: "string",
            spotInstancePools: 0,
            spotMaxPrice: "string",
        },
    },
    name: "string",
    metricsGranularity: "string",
    placementGroup: "string",
    protectFromScaleIn: false,
    serviceLinkedRoleArn: "string",
    suspendedProcesses: ["string"],
    tags: [{
        key: "string",
        propagateAtLaunch: false,
        value: "string",
    }],
    targetGroupArns: ["string"],
    terminationPolicies: ["string"],
    trafficSources: [{
        identifier: "string",
        type: "string",
    }],
    vpcZoneIdentifiers: ["string"],
    waitForCapacityTimeout: "string",
    capacityRebalance: false,
    warmPool: {
        instanceReusePolicy: {
            reuseOnScaleIn: false,
        },
        maxGroupPreparedCapacity: 0,
        minSize: 0,
        poolState: "string",
    },
});
type: aws:autoscaling:Group
properties:
    availabilityZoneDistribution:
        capacityDistributionStrategy: string
    availabilityZones:
        - string
    capacityRebalance: false
    context: string
    defaultCooldown: 0
    defaultInstanceWarmup: 0
    desiredCapacity: 0
    desiredCapacityType: string
    enabledMetrics:
        - string
    forceDelete: false
    forceDeleteWarmPool: false
    healthCheckGracePeriod: 0
    healthCheckType: string
    ignoreFailedScalingActivities: false
    initialLifecycleHooks:
        - defaultResult: string
          heartbeatTimeout: 0
          lifecycleTransition: string
          name: string
          notificationMetadata: string
          notificationTargetArn: string
          roleArn: string
    instanceMaintenancePolicy:
        maxHealthyPercentage: 0
        minHealthyPercentage: 0
    instanceRefresh:
        preferences:
            alarmSpecification:
                alarms:
                    - string
            autoRollback: false
            checkpointDelay: string
            checkpointPercentages:
                - 0
            instanceWarmup: string
            maxHealthyPercentage: 0
            minHealthyPercentage: 0
            scaleInProtectedInstances: string
            skipMatching: false
            standbyInstances: string
        strategy: string
        triggers:
            - string
    launchConfiguration: string
    launchTemplate:
        id: string
        name: string
        version: string
    loadBalancers:
        - string
    maxInstanceLifetime: 0
    maxSize: 0
    metricsGranularity: string
    minElbCapacity: 0
    minSize: 0
    mixedInstancesPolicy:
        instancesDistribution:
            onDemandAllocationStrategy: string
            onDemandBaseCapacity: 0
            onDemandPercentageAboveBaseCapacity: 0
            spotAllocationStrategy: string
            spotInstancePools: 0
            spotMaxPrice: string
        launchTemplate:
            launchTemplateSpecification:
                launchTemplateId: string
                launchTemplateName: string
                version: string
            overrides:
                - instanceRequirements:
                    acceleratorCount:
                        max: 0
                        min: 0
                    acceleratorManufacturers:
                        - string
                    acceleratorNames:
                        - string
                    acceleratorTotalMemoryMib:
                        max: 0
                        min: 0
                    acceleratorTypes:
                        - string
                    allowedInstanceTypes:
                        - string
                    bareMetal: string
                    baselineEbsBandwidthMbps:
                        max: 0
                        min: 0
                    burstablePerformance: string
                    cpuManufacturers:
                        - string
                    excludedInstanceTypes:
                        - string
                    instanceGenerations:
                        - string
                    localStorage: string
                    localStorageTypes:
                        - string
                    maxSpotPriceAsPercentageOfOptimalOnDemandPrice: 0
                    memoryGibPerVcpu:
                        max: 0
                        min: 0
                    memoryMib:
                        max: 0
                        min: 0
                    networkBandwidthGbps:
                        max: 0
                        min: 0
                    networkInterfaceCount:
                        max: 0
                        min: 0
                    onDemandMaxPricePercentageOverLowestPrice: 0
                    requireHibernateSupport: false
                    spotMaxPricePercentageOverLowestPrice: 0
                    totalLocalStorageGb:
                        max: 0
                        min: 0
                    vcpuCount:
                        max: 0
                        min: 0
                  instanceType: string
                  launchTemplateSpecification:
                    launchTemplateId: string
                    launchTemplateName: string
                    version: string
                  weightedCapacity: string
    name: string
    namePrefix: string
    placementGroup: string
    protectFromScaleIn: false
    serviceLinkedRoleArn: string
    suspendedProcesses:
        - string
    tags:
        - key: string
          propagateAtLaunch: false
          value: string
    targetGroupArns:
        - string
    terminationPolicies:
        - string
    trafficSources:
        - identifier: string
          type: string
    vpcZoneIdentifiers:
        - string
    waitForCapacityTimeout: string
    waitForElbCapacity: 0
    warmPool:
        instanceReusePolicy:
            reuseOnScaleIn: false
        maxGroupPreparedCapacity: 0
        minSize: 0
        poolState: string
Group Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Group resource accepts the following input properties:
- MaxSize int
- Maximum size of the Auto Scaling Group.
- MinSize int
- Minimum size of the Auto Scaling Group. (See also Waiting for Capacity below.)
- AvailabilityZone GroupDistribution Availability Zone Distribution 
- The instance capacity distribution across Availability Zones. See Availability Zone Distribution below for more details.
- AvailabilityZones List<string>
- A 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 vpc_zone_identifierattribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts withvpc_zone_identifier.
- CapacityRebalance bool
- Whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled.
- Context string
- Reserved.
- DefaultCooldown int
- Amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
- DefaultInstance intWarmup 
- Amount of time, in seconds, until a newly launched instance can contribute to the Amazon CloudWatch metrics. This delay lets an instance finish initializing before Amazon EC2 Auto Scaling aggregates instance metrics, resulting in more reliable usage data. Set this value equal to the amount of time that it takes for resource consumption to become stable after an instance reaches the InService state. (See Set the default instance warmup for an Auto Scaling group)
- DesiredCapacity int
- Number of Amazon EC2 instances that should be running in the group. (See also Waiting for Capacity below.)
- DesiredCapacity stringType 
- The unit of measurement for the value specified for desired_capacity. Supported for attribute-based instance type selection only. Valid values:"units","vcpu","memory-mib".
- EnabledMetrics List<string>
- List of metrics to collect. The allowed values are defined by the underlying AWS API.
- ForceDelete bool
- Allows deleting the Auto Scaling Group without waiting for all instances in the pool to terminate. You can force an Auto Scaling Group to delete even if it's in the process of scaling a resource. Normally, this provider drains all the instances before deleting the group. This bypasses that behavior and potentially leaves resources dangling.
- ForceDelete boolWarm Pool 
- Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate.
- HealthCheck intGrace Period 
- Time (in seconds) after instance comes into service before checking health.
- HealthCheck stringType 
- "EC2" or "ELB". Controls how health checking is done.
- IgnoreFailed boolScaling Activities 
- Whether to ignore failed Auto Scaling scaling activities while waiting for capacity. The default is false-- failed scaling activities cause errors to be returned.
- InitialLifecycle List<GroupHooks Initial Lifecycle Hook> 
- One or more
Lifecycle Hooks
to attach to the Auto Scaling Group before instances are launched. The
syntax is exactly the same as the separate
aws.autoscaling.LifecycleHookresource, without theautoscaling_group_nameattribute. Please note that this will only work when creating a new Auto Scaling Group. For all other use-cases, please useaws.autoscaling.LifecycleHookresource.
- InstanceMaintenance GroupPolicy Instance Maintenance Policy 
- If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below.
- InstanceRefresh GroupInstance Refresh 
- If this block is configured, start an Instance Refresh when this Auto Scaling Group is updated. Defined below.
- LaunchConfiguration string | string
- Name of the launch configuration to use.
- LaunchTemplate GroupLaunch Template 
- Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details.
- LoadBalancers List<string>
- List of elastic load balancer names to add to the autoscaling
group names. Only valid for classic load balancers. For ALBs, use target_group_arnsinstead. To remove all load balancer attachments an empty list should be specified.
- MaxInstance intLifetime 
- Maximum amount of time, in seconds, that an instance can be in service, values must be either equal to 0 or between 86400 and 31536000 seconds.
- MetricsGranularity string | Pulumi.Aws. Auto Scaling. Metrics Granularity 
- Granularity to associate with the metrics to collect. The only valid value is 1Minute. Default is1Minute.
- MinElb intCapacity 
- Setting this causes Pulumi to wait for this number of instances from this Auto Scaling Group to show up healthy in the ELB only on creation. Updates will not wait on ELB instance number changes. (See also Waiting for Capacity below.)
- MixedInstances GroupPolicy Mixed Instances Policy 
- Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details.
- Name string
- Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with name_prefix.
- NamePrefix string
- Creates a unique name beginning with the specified
prefix. Conflicts with name.
- PlacementGroup string | string
- Name of the placement group into which you'll launch your instances, if any.
- ProtectFrom boolScale In 
- Whether newly launched instances are automatically protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see Using instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.
- ServiceLinked stringRole Arn 
- ARN of the service-linked role that the ASG will use to call other AWS services
- SuspendedProcesses List<string>
- List of processes to suspend for the Auto Scaling Group. The allowed values are Launch,Terminate,HealthCheck,ReplaceUnhealthy,AZRebalance,AlarmNotification,ScheduledActions,AddToLoadBalancer,InstanceRefresh. Note that if you suspend either theLaunchorTerminateprocess types, it can prevent your Auto Scaling Group from functioning properly.
- 
List<GroupTag> 
- Configuration block(s) containing resource tags. See Tag below for more details.
- TargetGroup List<string>Arns 
- Set of aws.alb.TargetGroupARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified.
- TerminationPolicies List<string>
- List of policies to decide how the instances in the Auto Scaling Group should be terminated. The allowed values are OldestInstance,NewestInstance,OldestLaunchConfiguration,ClosestToNextInstanceHour,OldestLaunchTemplate,AllocationStrategy,Default. Additionally, the ARN of a Lambda function can be specified for custom termination policies.
- TrafficSources List<GroupTraffic Source> 
- Attaches one or more traffic sources to the specified Auto Scaling group.
- VpcZone List<string>Identifiers 
- List of subnet IDs to launch resources in. Subnets automatically determine which availability zones the group will reside. Conflicts with availability_zones.
- WaitFor stringCapacity Timeout 
- Maximum duration that the provider should wait for ASG instances to be healthy before timing out. (See also Waiting for Capacity below.) Setting this to "0" causes the provider to skip all Capacity Waiting behavior.
- WaitFor intElb Capacity 
- Setting this will cause Pulumi to wait
for exactly this number of healthy instances from this Auto Scaling Group in
all attached load balancers on both create and update operations. (Takes
precedence over min_elb_capacitybehavior.) (See also Waiting for Capacity below.)
- WarmPool GroupWarm Pool 
- If this block is configured, add a Warm Pool to the specified Auto Scaling group. Defined below
- MaxSize int
- Maximum size of the Auto Scaling Group.
- MinSize int
- Minimum size of the Auto Scaling Group. (See also Waiting for Capacity below.)
- AvailabilityZone GroupDistribution Availability Zone Distribution Args 
- The instance capacity distribution across Availability Zones. See Availability Zone Distribution below for more details.
- AvailabilityZones []string
- A 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 vpc_zone_identifierattribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts withvpc_zone_identifier.
- CapacityRebalance bool
- Whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled.
- Context string
- Reserved.
- DefaultCooldown int
- Amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
- DefaultInstance intWarmup 
- Amount of time, in seconds, until a newly launched instance can contribute to the Amazon CloudWatch metrics. This delay lets an instance finish initializing before Amazon EC2 Auto Scaling aggregates instance metrics, resulting in more reliable usage data. Set this value equal to the amount of time that it takes for resource consumption to become stable after an instance reaches the InService state. (See Set the default instance warmup for an Auto Scaling group)
- DesiredCapacity int
- Number of Amazon EC2 instances that should be running in the group. (See also Waiting for Capacity below.)
- DesiredCapacity stringType 
- The unit of measurement for the value specified for desired_capacity. Supported for attribute-based instance type selection only. Valid values:"units","vcpu","memory-mib".
- EnabledMetrics []string
- List of metrics to collect. The allowed values are defined by the underlying AWS API.
- ForceDelete bool
- Allows deleting the Auto Scaling Group without waiting for all instances in the pool to terminate. You can force an Auto Scaling Group to delete even if it's in the process of scaling a resource. Normally, this provider drains all the instances before deleting the group. This bypasses that behavior and potentially leaves resources dangling.
- ForceDelete boolWarm Pool 
- Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate.
- HealthCheck intGrace Period 
- Time (in seconds) after instance comes into service before checking health.
- HealthCheck stringType 
- "EC2" or "ELB". Controls how health checking is done.
- IgnoreFailed boolScaling Activities 
- Whether to ignore failed Auto Scaling scaling activities while waiting for capacity. The default is false-- failed scaling activities cause errors to be returned.
- InitialLifecycle []GroupHooks Initial Lifecycle Hook Args 
- One or more
Lifecycle Hooks
to attach to the Auto Scaling Group before instances are launched. The
syntax is exactly the same as the separate
aws.autoscaling.LifecycleHookresource, without theautoscaling_group_nameattribute. Please note that this will only work when creating a new Auto Scaling Group. For all other use-cases, please useaws.autoscaling.LifecycleHookresource.
- InstanceMaintenance GroupPolicy Instance Maintenance Policy Args 
- If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below.
- InstanceRefresh GroupInstance Refresh Args 
- If this block is configured, start an Instance Refresh when this Auto Scaling Group is updated. Defined below.
- LaunchConfiguration string | string
- Name of the launch configuration to use.
- LaunchTemplate GroupLaunch Template Args 
- Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details.
- LoadBalancers []string
- List of elastic load balancer names to add to the autoscaling
group names. Only valid for classic load balancers. For ALBs, use target_group_arnsinstead. To remove all load balancer attachments an empty list should be specified.
- MaxInstance intLifetime 
- Maximum amount of time, in seconds, that an instance can be in service, values must be either equal to 0 or between 86400 and 31536000 seconds.
- MetricsGranularity string | MetricsGranularity 
- Granularity to associate with the metrics to collect. The only valid value is 1Minute. Default is1Minute.
- MinElb intCapacity 
- Setting this causes Pulumi to wait for this number of instances from this Auto Scaling Group to show up healthy in the ELB only on creation. Updates will not wait on ELB instance number changes. (See also Waiting for Capacity below.)
- MixedInstances GroupPolicy Mixed Instances Policy Args 
- Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details.
- Name string
- Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with name_prefix.
- NamePrefix string
- Creates a unique name beginning with the specified
prefix. Conflicts with name.
- PlacementGroup string | string
- Name of the placement group into which you'll launch your instances, if any.
- ProtectFrom boolScale In 
- Whether newly launched instances are automatically protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see Using instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.
- ServiceLinked stringRole Arn 
- ARN of the service-linked role that the ASG will use to call other AWS services
- SuspendedProcesses []string
- List of processes to suspend for the Auto Scaling Group. The allowed values are Launch,Terminate,HealthCheck,ReplaceUnhealthy,AZRebalance,AlarmNotification,ScheduledActions,AddToLoadBalancer,InstanceRefresh. Note that if you suspend either theLaunchorTerminateprocess types, it can prevent your Auto Scaling Group from functioning properly.
- 
[]GroupTag Args 
- Configuration block(s) containing resource tags. See Tag below for more details.
- TargetGroup []stringArns 
- Set of aws.alb.TargetGroupARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified.
- TerminationPolicies []string
- List of policies to decide how the instances in the Auto Scaling Group should be terminated. The allowed values are OldestInstance,NewestInstance,OldestLaunchConfiguration,ClosestToNextInstanceHour,OldestLaunchTemplate,AllocationStrategy,Default. Additionally, the ARN of a Lambda function can be specified for custom termination policies.
- TrafficSources []GroupTraffic Source Args 
- Attaches one or more traffic sources to the specified Auto Scaling group.
- VpcZone []stringIdentifiers 
- List of subnet IDs to launch resources in. Subnets automatically determine which availability zones the group will reside. Conflicts with availability_zones.
- WaitFor stringCapacity Timeout 
- Maximum duration that the provider should wait for ASG instances to be healthy before timing out. (See also Waiting for Capacity below.) Setting this to "0" causes the provider to skip all Capacity Waiting behavior.
- WaitFor intElb Capacity 
- Setting this will cause Pulumi to wait
for exactly this number of healthy instances from this Auto Scaling Group in
all attached load balancers on both create and update operations. (Takes
precedence over min_elb_capacitybehavior.) (See also Waiting for Capacity below.)
- WarmPool GroupWarm Pool Args 
- If this block is configured, add a Warm Pool to the specified Auto Scaling group. Defined below
- maxSize Integer
- Maximum size of the Auto Scaling Group.
- minSize Integer
- Minimum size of the Auto Scaling Group. (See also Waiting for Capacity below.)
- availabilityZone GroupDistribution Availability Zone Distribution 
- The instance capacity distribution across Availability Zones. See Availability Zone Distribution below for more details.
- availabilityZones List<String>
- A 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 vpc_zone_identifierattribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts withvpc_zone_identifier.
- capacityRebalance Boolean
- Whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled.
- context String
- Reserved.
- defaultCooldown Integer
- Amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
- defaultInstance IntegerWarmup 
- Amount of time, in seconds, until a newly launched instance can contribute to the Amazon CloudWatch metrics. This delay lets an instance finish initializing before Amazon EC2 Auto Scaling aggregates instance metrics, resulting in more reliable usage data. Set this value equal to the amount of time that it takes for resource consumption to become stable after an instance reaches the InService state. (See Set the default instance warmup for an Auto Scaling group)
- desiredCapacity Integer
- Number of Amazon EC2 instances that should be running in the group. (See also Waiting for Capacity below.)
- desiredCapacity StringType 
- The unit of measurement for the value specified for desired_capacity. Supported for attribute-based instance type selection only. Valid values:"units","vcpu","memory-mib".
- enabledMetrics List<String>
- List of metrics to collect. The allowed values are defined by the underlying AWS API.
- forceDelete Boolean
- Allows deleting the Auto Scaling Group without waiting for all instances in the pool to terminate. You can force an Auto Scaling Group to delete even if it's in the process of scaling a resource. Normally, this provider drains all the instances before deleting the group. This bypasses that behavior and potentially leaves resources dangling.
- forceDelete BooleanWarm Pool 
- Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate.
- healthCheck IntegerGrace Period 
- Time (in seconds) after instance comes into service before checking health.
- healthCheck StringType 
- "EC2" or "ELB". Controls how health checking is done.
- ignoreFailed BooleanScaling Activities 
- Whether to ignore failed Auto Scaling scaling activities while waiting for capacity. The default is false-- failed scaling activities cause errors to be returned.
- initialLifecycle List<GroupHooks Initial Lifecycle Hook> 
- One or more
Lifecycle Hooks
to attach to the Auto Scaling Group before instances are launched. The
syntax is exactly the same as the separate
aws.autoscaling.LifecycleHookresource, without theautoscaling_group_nameattribute. Please note that this will only work when creating a new Auto Scaling Group. For all other use-cases, please useaws.autoscaling.LifecycleHookresource.
- instanceMaintenance GroupPolicy Instance Maintenance Policy 
- If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below.
- instanceRefresh GroupInstance Refresh 
- If this block is configured, start an Instance Refresh when this Auto Scaling Group is updated. Defined below.
- launchConfiguration String | String
- Name of the launch configuration to use.
- launchTemplate GroupLaunch Template 
- Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details.
- loadBalancers List<String>
- List of elastic load balancer names to add to the autoscaling
group names. Only valid for classic load balancers. For ALBs, use target_group_arnsinstead. To remove all load balancer attachments an empty list should be specified.
- maxInstance IntegerLifetime 
- Maximum amount of time, in seconds, that an instance can be in service, values must be either equal to 0 or between 86400 and 31536000 seconds.
- metricsGranularity String | MetricsGranularity 
- Granularity to associate with the metrics to collect. The only valid value is 1Minute. Default is1Minute.
- minElb IntegerCapacity 
- Setting this causes Pulumi to wait for this number of instances from this Auto Scaling Group to show up healthy in the ELB only on creation. Updates will not wait on ELB instance number changes. (See also Waiting for Capacity below.)
- mixedInstances GroupPolicy Mixed Instances Policy 
- Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details.
- name String
- Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with name_prefix.
- namePrefix String
- Creates a unique name beginning with the specified
prefix. Conflicts with name.
- placementGroup String | String
- Name of the placement group into which you'll launch your instances, if any.
- protectFrom BooleanScale In 
- Whether newly launched instances are automatically protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see Using instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.
- serviceLinked StringRole Arn 
- ARN of the service-linked role that the ASG will use to call other AWS services
- suspendedProcesses List<String>
- List of processes to suspend for the Auto Scaling Group. The allowed values are Launch,Terminate,HealthCheck,ReplaceUnhealthy,AZRebalance,AlarmNotification,ScheduledActions,AddToLoadBalancer,InstanceRefresh. Note that if you suspend either theLaunchorTerminateprocess types, it can prevent your Auto Scaling Group from functioning properly.
- 
List<GroupTag> 
- Configuration block(s) containing resource tags. See Tag below for more details.
- targetGroup List<String>Arns 
- Set of aws.alb.TargetGroupARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified.
- terminationPolicies List<String>
- List of policies to decide how the instances in the Auto Scaling Group should be terminated. The allowed values are OldestInstance,NewestInstance,OldestLaunchConfiguration,ClosestToNextInstanceHour,OldestLaunchTemplate,AllocationStrategy,Default. Additionally, the ARN of a Lambda function can be specified for custom termination policies.
- trafficSources List<GroupTraffic Source> 
- Attaches one or more traffic sources to the specified Auto Scaling group.
- vpcZone List<String>Identifiers 
- List of subnet IDs to launch resources in. Subnets automatically determine which availability zones the group will reside. Conflicts with availability_zones.
- waitFor StringCapacity Timeout 
- Maximum duration that the provider should wait for ASG instances to be healthy before timing out. (See also Waiting for Capacity below.) Setting this to "0" causes the provider to skip all Capacity Waiting behavior.
- waitFor IntegerElb Capacity 
- Setting this will cause Pulumi to wait
for exactly this number of healthy instances from this Auto Scaling Group in
all attached load balancers on both create and update operations. (Takes
precedence over min_elb_capacitybehavior.) (See also Waiting for Capacity below.)
- warmPool GroupWarm Pool 
- If this block is configured, add a Warm Pool to the specified Auto Scaling group. Defined below
- maxSize number
- Maximum size of the Auto Scaling Group.
- minSize number
- Minimum size of the Auto Scaling Group. (See also Waiting for Capacity below.)
- availabilityZone GroupDistribution Availability Zone Distribution 
- The instance capacity distribution across Availability Zones. See Availability Zone Distribution below for more details.
- availabilityZones string[]
- A 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 vpc_zone_identifierattribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts withvpc_zone_identifier.
- capacityRebalance boolean
- Whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled.
- context string
- Reserved.
- defaultCooldown number
- Amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
- defaultInstance numberWarmup 
- Amount of time, in seconds, until a newly launched instance can contribute to the Amazon CloudWatch metrics. This delay lets an instance finish initializing before Amazon EC2 Auto Scaling aggregates instance metrics, resulting in more reliable usage data. Set this value equal to the amount of time that it takes for resource consumption to become stable after an instance reaches the InService state. (See Set the default instance warmup for an Auto Scaling group)
- desiredCapacity number
- Number of Amazon EC2 instances that should be running in the group. (See also Waiting for Capacity below.)
- desiredCapacity stringType 
- The unit of measurement for the value specified for desired_capacity. Supported for attribute-based instance type selection only. Valid values:"units","vcpu","memory-mib".
- enabledMetrics Metric[]
- List of metrics to collect. The allowed values are defined by the underlying AWS API.
- forceDelete boolean
- Allows deleting the Auto Scaling Group without waiting for all instances in the pool to terminate. You can force an Auto Scaling Group to delete even if it's in the process of scaling a resource. Normally, this provider drains all the instances before deleting the group. This bypasses that behavior and potentially leaves resources dangling.
- forceDelete booleanWarm Pool 
- Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate.
- healthCheck numberGrace Period 
- Time (in seconds) after instance comes into service before checking health.
- healthCheck stringType 
- "EC2" or "ELB". Controls how health checking is done.
- ignoreFailed booleanScaling Activities 
- Whether to ignore failed Auto Scaling scaling activities while waiting for capacity. The default is false-- failed scaling activities cause errors to be returned.
- initialLifecycle GroupHooks Initial Lifecycle Hook[] 
- One or more
Lifecycle Hooks
to attach to the Auto Scaling Group before instances are launched. The
syntax is exactly the same as the separate
aws.autoscaling.LifecycleHookresource, without theautoscaling_group_nameattribute. Please note that this will only work when creating a new Auto Scaling Group. For all other use-cases, please useaws.autoscaling.LifecycleHookresource.
- instanceMaintenance GroupPolicy Instance Maintenance Policy 
- If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below.
- instanceRefresh GroupInstance Refresh 
- If this block is configured, start an Instance Refresh when this Auto Scaling Group is updated. Defined below.
- launchConfiguration string | LaunchConfiguration 
- Name of the launch configuration to use.
- launchTemplate GroupLaunch Template 
- Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details.
- loadBalancers string[]
- List of elastic load balancer names to add to the autoscaling
group names. Only valid for classic load balancers. For ALBs, use target_group_arnsinstead. To remove all load balancer attachments an empty list should be specified.
- maxInstance numberLifetime 
- Maximum amount of time, in seconds, that an instance can be in service, values must be either equal to 0 or between 86400 and 31536000 seconds.
- metricsGranularity string | MetricsGranularity 
- Granularity to associate with the metrics to collect. The only valid value is 1Minute. Default is1Minute.
- minElb numberCapacity 
- Setting this causes Pulumi to wait for this number of instances from this Auto Scaling Group to show up healthy in the ELB only on creation. Updates will not wait on ELB instance number changes. (See also Waiting for Capacity below.)
- mixedInstances GroupPolicy Mixed Instances Policy 
- Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details.
- name string
- Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with name_prefix.
- namePrefix string
- Creates a unique name beginning with the specified
prefix. Conflicts with name.
- placementGroup string | PlacementGroup 
- Name of the placement group into which you'll launch your instances, if any.
- protectFrom booleanScale In 
- Whether newly launched instances are automatically protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see Using instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.
- serviceLinked stringRole Arn 
- ARN of the service-linked role that the ASG will use to call other AWS services
- suspendedProcesses string[]
- List of processes to suspend for the Auto Scaling Group. The allowed values are Launch,Terminate,HealthCheck,ReplaceUnhealthy,AZRebalance,AlarmNotification,ScheduledActions,AddToLoadBalancer,InstanceRefresh. Note that if you suspend either theLaunchorTerminateprocess types, it can prevent your Auto Scaling Group from functioning properly.
- 
GroupTag[] 
- Configuration block(s) containing resource tags. See Tag below for more details.
- targetGroup string[]Arns 
- Set of aws.alb.TargetGroupARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified.
- terminationPolicies string[]
- List of policies to decide how the instances in the Auto Scaling Group should be terminated. The allowed values are OldestInstance,NewestInstance,OldestLaunchConfiguration,ClosestToNextInstanceHour,OldestLaunchTemplate,AllocationStrategy,Default. Additionally, the ARN of a Lambda function can be specified for custom termination policies.
- trafficSources GroupTraffic Source[] 
- Attaches one or more traffic sources to the specified Auto Scaling group.
- vpcZone string[]Identifiers 
- List of subnet IDs to launch resources in. Subnets automatically determine which availability zones the group will reside. Conflicts with availability_zones.
- waitFor stringCapacity Timeout 
- Maximum duration that the provider should wait for ASG instances to be healthy before timing out. (See also Waiting for Capacity below.) Setting this to "0" causes the provider to skip all Capacity Waiting behavior.
- waitFor numberElb Capacity 
- Setting this will cause Pulumi to wait
for exactly this number of healthy instances from this Auto Scaling Group in
all attached load balancers on both create and update operations. (Takes
precedence over min_elb_capacitybehavior.) (See also Waiting for Capacity below.)
- warmPool GroupWarm Pool 
- If this block is configured, add a Warm Pool to the specified Auto Scaling group. Defined below
- max_size int
- Maximum size of the Auto Scaling Group.
- min_size int
- Minimum size of the Auto Scaling Group. (See also Waiting for Capacity below.)
- availability_zone_ Groupdistribution Availability Zone Distribution Args 
- The instance capacity distribution across Availability Zones. See Availability Zone Distribution below for more details.
- availability_zones Sequence[str]
- A 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 vpc_zone_identifierattribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts withvpc_zone_identifier.
- capacity_rebalance bool
- Whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled.
- context str
- Reserved.
- default_cooldown int
- Amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
- default_instance_ intwarmup 
- Amount of time, in seconds, until a newly launched instance can contribute to the Amazon CloudWatch metrics. This delay lets an instance finish initializing before Amazon EC2 Auto Scaling aggregates instance metrics, resulting in more reliable usage data. Set this value equal to the amount of time that it takes for resource consumption to become stable after an instance reaches the InService state. (See Set the default instance warmup for an Auto Scaling group)
- desired_capacity int
- Number of Amazon EC2 instances that should be running in the group. (See also Waiting for Capacity below.)
- desired_capacity_ strtype 
- The unit of measurement for the value specified for desired_capacity. Supported for attribute-based instance type selection only. Valid values:"units","vcpu","memory-mib".
- enabled_metrics Sequence[str]
- List of metrics to collect. The allowed values are defined by the underlying AWS API.
- force_delete bool
- Allows deleting the Auto Scaling Group without waiting for all instances in the pool to terminate. You can force an Auto Scaling Group to delete even if it's in the process of scaling a resource. Normally, this provider drains all the instances before deleting the group. This bypasses that behavior and potentially leaves resources dangling.
- force_delete_ boolwarm_ pool 
- Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate.
- health_check_ intgrace_ period 
- Time (in seconds) after instance comes into service before checking health.
- health_check_ strtype 
- "EC2" or "ELB". Controls how health checking is done.
- ignore_failed_ boolscaling_ activities 
- Whether to ignore failed Auto Scaling scaling activities while waiting for capacity. The default is false-- failed scaling activities cause errors to be returned.
- initial_lifecycle_ Sequence[Grouphooks Initial Lifecycle Hook Args] 
- One or more
Lifecycle Hooks
to attach to the Auto Scaling Group before instances are launched. The
syntax is exactly the same as the separate
aws.autoscaling.LifecycleHookresource, without theautoscaling_group_nameattribute. Please note that this will only work when creating a new Auto Scaling Group. For all other use-cases, please useaws.autoscaling.LifecycleHookresource.
- instance_maintenance_ Grouppolicy Instance Maintenance Policy Args 
- If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below.
- instance_refresh GroupInstance Refresh Args 
- If this block is configured, start an Instance Refresh when this Auto Scaling Group is updated. Defined below.
- launch_configuration str | str
- Name of the launch configuration to use.
- launch_template GroupLaunch Template Args 
- Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details.
- load_balancers Sequence[str]
- List of elastic load balancer names to add to the autoscaling
group names. Only valid for classic load balancers. For ALBs, use target_group_arnsinstead. To remove all load balancer attachments an empty list should be specified.
- max_instance_ intlifetime 
- Maximum amount of time, in seconds, that an instance can be in service, values must be either equal to 0 or between 86400 and 31536000 seconds.
- metrics_granularity str | MetricsGranularity 
- Granularity to associate with the metrics to collect. The only valid value is 1Minute. Default is1Minute.
- min_elb_ intcapacity 
- Setting this causes Pulumi to wait for this number of instances from this Auto Scaling Group to show up healthy in the ELB only on creation. Updates will not wait on ELB instance number changes. (See also Waiting for Capacity below.)
- mixed_instances_ Grouppolicy Mixed Instances Policy Args 
- Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details.
- name str
- Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with name_prefix.
- name_prefix str
- Creates a unique name beginning with the specified
prefix. Conflicts with name.
- placement_group str | str
- Name of the placement group into which you'll launch your instances, if any.
- protect_from_ boolscale_ in 
- Whether newly launched instances are automatically protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see Using instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.
- service_linked_ strrole_ arn 
- ARN of the service-linked role that the ASG will use to call other AWS services
- suspended_processes Sequence[str]
- List of processes to suspend for the Auto Scaling Group. The allowed values are Launch,Terminate,HealthCheck,ReplaceUnhealthy,AZRebalance,AlarmNotification,ScheduledActions,AddToLoadBalancer,InstanceRefresh. Note that if you suspend either theLaunchorTerminateprocess types, it can prevent your Auto Scaling Group from functioning properly.
- 
Sequence[GroupTag Args] 
- Configuration block(s) containing resource tags. See Tag below for more details.
- target_group_ Sequence[str]arns 
- Set of aws.alb.TargetGroupARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified.
- termination_policies Sequence[str]
- List of policies to decide how the instances in the Auto Scaling Group should be terminated. The allowed values are OldestInstance,NewestInstance,OldestLaunchConfiguration,ClosestToNextInstanceHour,OldestLaunchTemplate,AllocationStrategy,Default. Additionally, the ARN of a Lambda function can be specified for custom termination policies.
- traffic_sources Sequence[GroupTraffic Source Args] 
- Attaches one or more traffic sources to the specified Auto Scaling group.
- vpc_zone_ Sequence[str]identifiers 
- List of subnet IDs to launch resources in. Subnets automatically determine which availability zones the group will reside. Conflicts with availability_zones.
- wait_for_ strcapacity_ timeout 
- Maximum duration that the provider should wait for ASG instances to be healthy before timing out. (See also Waiting for Capacity below.) Setting this to "0" causes the provider to skip all Capacity Waiting behavior.
- wait_for_ intelb_ capacity 
- Setting this will cause Pulumi to wait
for exactly this number of healthy instances from this Auto Scaling Group in
all attached load balancers on both create and update operations. (Takes
precedence over min_elb_capacitybehavior.) (See also Waiting for Capacity below.)
- warm_pool GroupWarm Pool Args 
- If this block is configured, add a Warm Pool to the specified Auto Scaling group. Defined below
- maxSize Number
- Maximum size of the Auto Scaling Group.
- minSize Number
- Minimum size of the Auto Scaling Group. (See also Waiting for Capacity below.)
- availabilityZone Property MapDistribution 
- The instance capacity distribution across Availability Zones. See Availability Zone Distribution below for more details.
- availabilityZones List<String>
- A 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 vpc_zone_identifierattribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts withvpc_zone_identifier.
- capacityRebalance Boolean
- Whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled.
- context String
- Reserved.
- defaultCooldown Number
- Amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
- defaultInstance NumberWarmup 
- Amount of time, in seconds, until a newly launched instance can contribute to the Amazon CloudWatch metrics. This delay lets an instance finish initializing before Amazon EC2 Auto Scaling aggregates instance metrics, resulting in more reliable usage data. Set this value equal to the amount of time that it takes for resource consumption to become stable after an instance reaches the InService state. (See Set the default instance warmup for an Auto Scaling group)
- desiredCapacity Number
- Number of Amazon EC2 instances that should be running in the group. (See also Waiting for Capacity below.)
- desiredCapacity StringType 
- The unit of measurement for the value specified for desired_capacity. Supported for attribute-based instance type selection only. Valid values:"units","vcpu","memory-mib".
- enabledMetrics List<>
- List of metrics to collect. The allowed values are defined by the underlying AWS API.
- forceDelete Boolean
- Allows deleting the Auto Scaling Group without waiting for all instances in the pool to terminate. You can force an Auto Scaling Group to delete even if it's in the process of scaling a resource. Normally, this provider drains all the instances before deleting the group. This bypasses that behavior and potentially leaves resources dangling.
- forceDelete BooleanWarm Pool 
- Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate.
- healthCheck NumberGrace Period 
- Time (in seconds) after instance comes into service before checking health.
- healthCheck StringType 
- "EC2" or "ELB". Controls how health checking is done.
- ignoreFailed BooleanScaling Activities 
- Whether to ignore failed Auto Scaling scaling activities while waiting for capacity. The default is false-- failed scaling activities cause errors to be returned.
- initialLifecycle List<Property Map>Hooks 
- One or more
Lifecycle Hooks
to attach to the Auto Scaling Group before instances are launched. The
syntax is exactly the same as the separate
aws.autoscaling.LifecycleHookresource, without theautoscaling_group_nameattribute. Please note that this will only work when creating a new Auto Scaling Group. For all other use-cases, please useaws.autoscaling.LifecycleHookresource.
- instanceMaintenance Property MapPolicy 
- If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below.
- instanceRefresh Property Map
- If this block is configured, start an Instance Refresh when this Auto Scaling Group is updated. Defined below.
- launchConfiguration String |
- Name of the launch configuration to use.
- launchTemplate Property Map
- Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details.
- loadBalancers List<String>
- List of elastic load balancer names to add to the autoscaling
group names. Only valid for classic load balancers. For ALBs, use target_group_arnsinstead. To remove all load balancer attachments an empty list should be specified.
- maxInstance NumberLifetime 
- Maximum amount of time, in seconds, that an instance can be in service, values must be either equal to 0 or between 86400 and 31536000 seconds.
- metricsGranularity String | "1Minute"
- Granularity to associate with the metrics to collect. The only valid value is 1Minute. Default is1Minute.
- minElb NumberCapacity 
- Setting this causes Pulumi to wait for this number of instances from this Auto Scaling Group to show up healthy in the ELB only on creation. Updates will not wait on ELB instance number changes. (See also Waiting for Capacity below.)
- mixedInstances Property MapPolicy 
- Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details.
- name String
- Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with name_prefix.
- namePrefix String
- Creates a unique name beginning with the specified
prefix. Conflicts with name.
- placementGroup String |
- Name of the placement group into which you'll launch your instances, if any.
- protectFrom BooleanScale In 
- Whether newly launched instances are automatically protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see Using instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.
- serviceLinked StringRole Arn 
- ARN of the service-linked role that the ASG will use to call other AWS services
- suspendedProcesses List<String>
- List of processes to suspend for the Auto Scaling Group. The allowed values are Launch,Terminate,HealthCheck,ReplaceUnhealthy,AZRebalance,AlarmNotification,ScheduledActions,AddToLoadBalancer,InstanceRefresh. Note that if you suspend either theLaunchorTerminateprocess types, it can prevent your Auto Scaling Group from functioning properly.
- List<Property Map>
- Configuration block(s) containing resource tags. See Tag below for more details.
- targetGroup List<String>Arns 
- Set of aws.alb.TargetGroupARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified.
- terminationPolicies List<String>
- List of policies to decide how the instances in the Auto Scaling Group should be terminated. The allowed values are OldestInstance,NewestInstance,OldestLaunchConfiguration,ClosestToNextInstanceHour,OldestLaunchTemplate,AllocationStrategy,Default. Additionally, the ARN of a Lambda function can be specified for custom termination policies.
- trafficSources List<Property Map>
- Attaches one or more traffic sources to the specified Auto Scaling group.
- vpcZone List<String>Identifiers 
- List of subnet IDs to launch resources in. Subnets automatically determine which availability zones the group will reside. Conflicts with availability_zones.
- waitFor StringCapacity Timeout 
- Maximum duration that the provider should wait for ASG instances to be healthy before timing out. (See also Waiting for Capacity below.) Setting this to "0" causes the provider to skip all Capacity Waiting behavior.
- waitFor NumberElb Capacity 
- Setting this will cause Pulumi to wait
for exactly this number of healthy instances from this Auto Scaling Group in
all attached load balancers on both create and update operations. (Takes
precedence over min_elb_capacitybehavior.) (See also Waiting for Capacity below.)
- warmPool Property Map
- If this block is configured, add a Warm Pool to the specified Auto Scaling group. Defined below
Outputs
All input properties are implicitly available as output properties. Additionally, the Group resource produces the following output properties:
- Arn string
- ARN for this Auto Scaling Group
- Id string
- The provider-assigned unique ID for this managed resource.
- PredictedCapacity int
- Predicted capacity of the group.
- WarmPool intSize 
- Current size of the warm pool.
- Arn string
- ARN for this Auto Scaling Group
- Id string
- The provider-assigned unique ID for this managed resource.
- PredictedCapacity int
- Predicted capacity of the group.
- WarmPool intSize 
- Current size of the warm pool.
- arn String
- ARN for this Auto Scaling Group
- id String
- The provider-assigned unique ID for this managed resource.
- predictedCapacity Integer
- Predicted capacity of the group.
- warmPool IntegerSize 
- Current size of the warm pool.
- arn string
- ARN for this Auto Scaling Group
- id string
- The provider-assigned unique ID for this managed resource.
- predictedCapacity number
- Predicted capacity of the group.
- warmPool numberSize 
- Current size of the warm pool.
- arn str
- ARN for this Auto Scaling Group
- id str
- The provider-assigned unique ID for this managed resource.
- predicted_capacity int
- Predicted capacity of the group.
- warm_pool_ intsize 
- Current size of the warm pool.
- arn String
- ARN for this Auto Scaling Group
- id String
- The provider-assigned unique ID for this managed resource.
- predictedCapacity Number
- Predicted capacity of the group.
- warmPool NumberSize 
- Current size of the warm pool.
Look up Existing Group Resource
Get an existing Group resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: GroupState, opts?: CustomResourceOptions): Group@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        arn: Optional[str] = None,
        availability_zone_distribution: Optional[GroupAvailabilityZoneDistributionArgs] = None,
        availability_zones: Optional[Sequence[str]] = None,
        capacity_rebalance: Optional[bool] = None,
        context: Optional[str] = None,
        default_cooldown: Optional[int] = None,
        default_instance_warmup: Optional[int] = None,
        desired_capacity: Optional[int] = None,
        desired_capacity_type: Optional[str] = None,
        enabled_metrics: Optional[Sequence[str]] = None,
        force_delete: Optional[bool] = None,
        force_delete_warm_pool: Optional[bool] = None,
        health_check_grace_period: Optional[int] = None,
        health_check_type: Optional[str] = None,
        ignore_failed_scaling_activities: Optional[bool] = None,
        initial_lifecycle_hooks: Optional[Sequence[GroupInitialLifecycleHookArgs]] = None,
        instance_maintenance_policy: Optional[GroupInstanceMaintenancePolicyArgs] = None,
        instance_refresh: Optional[GroupInstanceRefreshArgs] = None,
        launch_configuration: Optional[str] = None,
        launch_template: Optional[GroupLaunchTemplateArgs] = None,
        load_balancers: Optional[Sequence[str]] = None,
        max_instance_lifetime: Optional[int] = None,
        max_size: Optional[int] = None,
        metrics_granularity: Optional[Union[str, MetricsGranularity]] = None,
        min_elb_capacity: Optional[int] = None,
        min_size: Optional[int] = None,
        mixed_instances_policy: Optional[GroupMixedInstancesPolicyArgs] = None,
        name: Optional[str] = None,
        name_prefix: Optional[str] = None,
        placement_group: Optional[str] = None,
        predicted_capacity: Optional[int] = None,
        protect_from_scale_in: Optional[bool] = None,
        service_linked_role_arn: Optional[str] = None,
        suspended_processes: Optional[Sequence[str]] = None,
        tags: Optional[Sequence[GroupTagArgs]] = None,
        target_group_arns: Optional[Sequence[str]] = None,
        termination_policies: Optional[Sequence[str]] = None,
        traffic_sources: Optional[Sequence[GroupTrafficSourceArgs]] = None,
        vpc_zone_identifiers: Optional[Sequence[str]] = None,
        wait_for_capacity_timeout: Optional[str] = None,
        wait_for_elb_capacity: Optional[int] = None,
        warm_pool: Optional[GroupWarmPoolArgs] = None,
        warm_pool_size: Optional[int] = None) -> Groupfunc GetGroup(ctx *Context, name string, id IDInput, state *GroupState, opts ...ResourceOption) (*Group, error)public static Group Get(string name, Input<string> id, GroupState? state, CustomResourceOptions? opts = null)public static Group get(String name, Output<String> id, GroupState state, CustomResourceOptions options)resources:  _:    type: aws:autoscaling:Group    get:      id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Arn string
- ARN for this Auto Scaling Group
- AvailabilityZone GroupDistribution Availability Zone Distribution 
- The instance capacity distribution across Availability Zones. See Availability Zone Distribution below for more details.
- AvailabilityZones List<string>
- A 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 vpc_zone_identifierattribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts withvpc_zone_identifier.
- CapacityRebalance bool
- Whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled.
- Context string
- Reserved.
- DefaultCooldown int
- Amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
- DefaultInstance intWarmup 
- Amount of time, in seconds, until a newly launched instance can contribute to the Amazon CloudWatch metrics. This delay lets an instance finish initializing before Amazon EC2 Auto Scaling aggregates instance metrics, resulting in more reliable usage data. Set this value equal to the amount of time that it takes for resource consumption to become stable after an instance reaches the InService state. (See Set the default instance warmup for an Auto Scaling group)
- DesiredCapacity int
- Number of Amazon EC2 instances that should be running in the group. (See also Waiting for Capacity below.)
- DesiredCapacity stringType 
- The unit of measurement for the value specified for desired_capacity. Supported for attribute-based instance type selection only. Valid values:"units","vcpu","memory-mib".
- EnabledMetrics List<string>
- List of metrics to collect. The allowed values are defined by the underlying AWS API.
- ForceDelete bool
- Allows deleting the Auto Scaling Group without waiting for all instances in the pool to terminate. You can force an Auto Scaling Group to delete even if it's in the process of scaling a resource. Normally, this provider drains all the instances before deleting the group. This bypasses that behavior and potentially leaves resources dangling.
- ForceDelete boolWarm Pool 
- Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate.
- HealthCheck intGrace Period 
- Time (in seconds) after instance comes into service before checking health.
- HealthCheck stringType 
- "EC2" or "ELB". Controls how health checking is done.
- IgnoreFailed boolScaling Activities 
- Whether to ignore failed Auto Scaling scaling activities while waiting for capacity. The default is false-- failed scaling activities cause errors to be returned.
- InitialLifecycle List<GroupHooks Initial Lifecycle Hook> 
- One or more
Lifecycle Hooks
to attach to the Auto Scaling Group before instances are launched. The
syntax is exactly the same as the separate
aws.autoscaling.LifecycleHookresource, without theautoscaling_group_nameattribute. Please note that this will only work when creating a new Auto Scaling Group. For all other use-cases, please useaws.autoscaling.LifecycleHookresource.
- InstanceMaintenance GroupPolicy Instance Maintenance Policy 
- If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below.
- InstanceRefresh GroupInstance Refresh 
- If this block is configured, start an Instance Refresh when this Auto Scaling Group is updated. Defined below.
- LaunchConfiguration string | string
- Name of the launch configuration to use.
- LaunchTemplate GroupLaunch Template 
- Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details.
- LoadBalancers List<string>
- List of elastic load balancer names to add to the autoscaling
group names. Only valid for classic load balancers. For ALBs, use target_group_arnsinstead. To remove all load balancer attachments an empty list should be specified.
- MaxInstance intLifetime 
- Maximum amount of time, in seconds, that an instance can be in service, values must be either equal to 0 or between 86400 and 31536000 seconds.
- MaxSize int
- Maximum size of the Auto Scaling Group.
- MetricsGranularity string | Pulumi.Aws. Auto Scaling. Metrics Granularity 
- Granularity to associate with the metrics to collect. The only valid value is 1Minute. Default is1Minute.
- MinElb intCapacity 
- Setting this causes Pulumi to wait for this number of instances from this Auto Scaling Group to show up healthy in the ELB only on creation. Updates will not wait on ELB instance number changes. (See also Waiting for Capacity below.)
- MinSize int
- Minimum size of the Auto Scaling Group. (See also Waiting for Capacity below.)
- MixedInstances GroupPolicy Mixed Instances Policy 
- Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details.
- Name string
- Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with name_prefix.
- NamePrefix string
- Creates a unique name beginning with the specified
prefix. Conflicts with name.
- PlacementGroup string | string
- Name of the placement group into which you'll launch your instances, if any.
- PredictedCapacity int
- Predicted capacity of the group.
- ProtectFrom boolScale In 
- Whether newly launched instances are automatically protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see Using instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.
- ServiceLinked stringRole Arn 
- ARN of the service-linked role that the ASG will use to call other AWS services
- SuspendedProcesses List<string>
- List of processes to suspend for the Auto Scaling Group. The allowed values are Launch,Terminate,HealthCheck,ReplaceUnhealthy,AZRebalance,AlarmNotification,ScheduledActions,AddToLoadBalancer,InstanceRefresh. Note that if you suspend either theLaunchorTerminateprocess types, it can prevent your Auto Scaling Group from functioning properly.
- 
List<GroupTag> 
- Configuration block(s) containing resource tags. See Tag below for more details.
- TargetGroup List<string>Arns 
- Set of aws.alb.TargetGroupARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified.
- TerminationPolicies List<string>
- List of policies to decide how the instances in the Auto Scaling Group should be terminated. The allowed values are OldestInstance,NewestInstance,OldestLaunchConfiguration,ClosestToNextInstanceHour,OldestLaunchTemplate,AllocationStrategy,Default. Additionally, the ARN of a Lambda function can be specified for custom termination policies.
- TrafficSources List<GroupTraffic Source> 
- Attaches one or more traffic sources to the specified Auto Scaling group.
- VpcZone List<string>Identifiers 
- List of subnet IDs to launch resources in. Subnets automatically determine which availability zones the group will reside. Conflicts with availability_zones.
- WaitFor stringCapacity Timeout 
- Maximum duration that the provider should wait for ASG instances to be healthy before timing out. (See also Waiting for Capacity below.) Setting this to "0" causes the provider to skip all Capacity Waiting behavior.
- WaitFor intElb Capacity 
- Setting this will cause Pulumi to wait
for exactly this number of healthy instances from this Auto Scaling Group in
all attached load balancers on both create and update operations. (Takes
precedence over min_elb_capacitybehavior.) (See also Waiting for Capacity below.)
- WarmPool GroupWarm Pool 
- If this block is configured, add a Warm Pool to the specified Auto Scaling group. Defined below
- WarmPool intSize 
- Current size of the warm pool.
- Arn string
- ARN for this Auto Scaling Group
- AvailabilityZone GroupDistribution Availability Zone Distribution Args 
- The instance capacity distribution across Availability Zones. See Availability Zone Distribution below for more details.
- AvailabilityZones []string
- A 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 vpc_zone_identifierattribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts withvpc_zone_identifier.
- CapacityRebalance bool
- Whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled.
- Context string
- Reserved.
- DefaultCooldown int
- Amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
- DefaultInstance intWarmup 
- Amount of time, in seconds, until a newly launched instance can contribute to the Amazon CloudWatch metrics. This delay lets an instance finish initializing before Amazon EC2 Auto Scaling aggregates instance metrics, resulting in more reliable usage data. Set this value equal to the amount of time that it takes for resource consumption to become stable after an instance reaches the InService state. (See Set the default instance warmup for an Auto Scaling group)
- DesiredCapacity int
- Number of Amazon EC2 instances that should be running in the group. (See also Waiting for Capacity below.)
- DesiredCapacity stringType 
- The unit of measurement for the value specified for desired_capacity. Supported for attribute-based instance type selection only. Valid values:"units","vcpu","memory-mib".
- EnabledMetrics []string
- List of metrics to collect. The allowed values are defined by the underlying AWS API.
- ForceDelete bool
- Allows deleting the Auto Scaling Group without waiting for all instances in the pool to terminate. You can force an Auto Scaling Group to delete even if it's in the process of scaling a resource. Normally, this provider drains all the instances before deleting the group. This bypasses that behavior and potentially leaves resources dangling.
- ForceDelete boolWarm Pool 
- Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate.
- HealthCheck intGrace Period 
- Time (in seconds) after instance comes into service before checking health.
- HealthCheck stringType 
- "EC2" or "ELB". Controls how health checking is done.
- IgnoreFailed boolScaling Activities 
- Whether to ignore failed Auto Scaling scaling activities while waiting for capacity. The default is false-- failed scaling activities cause errors to be returned.
- InitialLifecycle []GroupHooks Initial Lifecycle Hook Args 
- One or more
Lifecycle Hooks
to attach to the Auto Scaling Group before instances are launched. The
syntax is exactly the same as the separate
aws.autoscaling.LifecycleHookresource, without theautoscaling_group_nameattribute. Please note that this will only work when creating a new Auto Scaling Group. For all other use-cases, please useaws.autoscaling.LifecycleHookresource.
- InstanceMaintenance GroupPolicy Instance Maintenance Policy Args 
- If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below.
- InstanceRefresh GroupInstance Refresh Args 
- If this block is configured, start an Instance Refresh when this Auto Scaling Group is updated. Defined below.
- LaunchConfiguration string | string
- Name of the launch configuration to use.
- LaunchTemplate GroupLaunch Template Args 
- Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details.
- LoadBalancers []string
- List of elastic load balancer names to add to the autoscaling
group names. Only valid for classic load balancers. For ALBs, use target_group_arnsinstead. To remove all load balancer attachments an empty list should be specified.
- MaxInstance intLifetime 
- Maximum amount of time, in seconds, that an instance can be in service, values must be either equal to 0 or between 86400 and 31536000 seconds.
- MaxSize int
- Maximum size of the Auto Scaling Group.
- MetricsGranularity string | MetricsGranularity 
- Granularity to associate with the metrics to collect. The only valid value is 1Minute. Default is1Minute.
- MinElb intCapacity 
- Setting this causes Pulumi to wait for this number of instances from this Auto Scaling Group to show up healthy in the ELB only on creation. Updates will not wait on ELB instance number changes. (See also Waiting for Capacity below.)
- MinSize int
- Minimum size of the Auto Scaling Group. (See also Waiting for Capacity below.)
- MixedInstances GroupPolicy Mixed Instances Policy Args 
- Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details.
- Name string
- Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with name_prefix.
- NamePrefix string
- Creates a unique name beginning with the specified
prefix. Conflicts with name.
- PlacementGroup string | string
- Name of the placement group into which you'll launch your instances, if any.
- PredictedCapacity int
- Predicted capacity of the group.
- ProtectFrom boolScale In 
- Whether newly launched instances are automatically protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see Using instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.
- ServiceLinked stringRole Arn 
- ARN of the service-linked role that the ASG will use to call other AWS services
- SuspendedProcesses []string
- List of processes to suspend for the Auto Scaling Group. The allowed values are Launch,Terminate,HealthCheck,ReplaceUnhealthy,AZRebalance,AlarmNotification,ScheduledActions,AddToLoadBalancer,InstanceRefresh. Note that if you suspend either theLaunchorTerminateprocess types, it can prevent your Auto Scaling Group from functioning properly.
- 
[]GroupTag Args 
- Configuration block(s) containing resource tags. See Tag below for more details.
- TargetGroup []stringArns 
- Set of aws.alb.TargetGroupARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified.
- TerminationPolicies []string
- List of policies to decide how the instances in the Auto Scaling Group should be terminated. The allowed values are OldestInstance,NewestInstance,OldestLaunchConfiguration,ClosestToNextInstanceHour,OldestLaunchTemplate,AllocationStrategy,Default. Additionally, the ARN of a Lambda function can be specified for custom termination policies.
- TrafficSources []GroupTraffic Source Args 
- Attaches one or more traffic sources to the specified Auto Scaling group.
- VpcZone []stringIdentifiers 
- List of subnet IDs to launch resources in. Subnets automatically determine which availability zones the group will reside. Conflicts with availability_zones.
- WaitFor stringCapacity Timeout 
- Maximum duration that the provider should wait for ASG instances to be healthy before timing out. (See also Waiting for Capacity below.) Setting this to "0" causes the provider to skip all Capacity Waiting behavior.
- WaitFor intElb Capacity 
- Setting this will cause Pulumi to wait
for exactly this number of healthy instances from this Auto Scaling Group in
all attached load balancers on both create and update operations. (Takes
precedence over min_elb_capacitybehavior.) (See also Waiting for Capacity below.)
- WarmPool GroupWarm Pool Args 
- If this block is configured, add a Warm Pool to the specified Auto Scaling group. Defined below
- WarmPool intSize 
- Current size of the warm pool.
- arn String
- ARN for this Auto Scaling Group
- availabilityZone GroupDistribution Availability Zone Distribution 
- The instance capacity distribution across Availability Zones. See Availability Zone Distribution below for more details.
- availabilityZones List<String>
- A 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 vpc_zone_identifierattribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts withvpc_zone_identifier.
- capacityRebalance Boolean
- Whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled.
- context String
- Reserved.
- defaultCooldown Integer
- Amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
- defaultInstance IntegerWarmup 
- Amount of time, in seconds, until a newly launched instance can contribute to the Amazon CloudWatch metrics. This delay lets an instance finish initializing before Amazon EC2 Auto Scaling aggregates instance metrics, resulting in more reliable usage data. Set this value equal to the amount of time that it takes for resource consumption to become stable after an instance reaches the InService state. (See Set the default instance warmup for an Auto Scaling group)
- desiredCapacity Integer
- Number of Amazon EC2 instances that should be running in the group. (See also Waiting for Capacity below.)
- desiredCapacity StringType 
- The unit of measurement for the value specified for desired_capacity. Supported for attribute-based instance type selection only. Valid values:"units","vcpu","memory-mib".
- enabledMetrics List<String>
- List of metrics to collect. The allowed values are defined by the underlying AWS API.
- forceDelete Boolean
- Allows deleting the Auto Scaling Group without waiting for all instances in the pool to terminate. You can force an Auto Scaling Group to delete even if it's in the process of scaling a resource. Normally, this provider drains all the instances before deleting the group. This bypasses that behavior and potentially leaves resources dangling.
- forceDelete BooleanWarm Pool 
- Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate.
- healthCheck IntegerGrace Period 
- Time (in seconds) after instance comes into service before checking health.
- healthCheck StringType 
- "EC2" or "ELB". Controls how health checking is done.
- ignoreFailed BooleanScaling Activities 
- Whether to ignore failed Auto Scaling scaling activities while waiting for capacity. The default is false-- failed scaling activities cause errors to be returned.
- initialLifecycle List<GroupHooks Initial Lifecycle Hook> 
- One or more
Lifecycle Hooks
to attach to the Auto Scaling Group before instances are launched. The
syntax is exactly the same as the separate
aws.autoscaling.LifecycleHookresource, without theautoscaling_group_nameattribute. Please note that this will only work when creating a new Auto Scaling Group. For all other use-cases, please useaws.autoscaling.LifecycleHookresource.
- instanceMaintenance GroupPolicy Instance Maintenance Policy 
- If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below.
- instanceRefresh GroupInstance Refresh 
- If this block is configured, start an Instance Refresh when this Auto Scaling Group is updated. Defined below.
- launchConfiguration String | String
- Name of the launch configuration to use.
- launchTemplate GroupLaunch Template 
- Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details.
- loadBalancers List<String>
- List of elastic load balancer names to add to the autoscaling
group names. Only valid for classic load balancers. For ALBs, use target_group_arnsinstead. To remove all load balancer attachments an empty list should be specified.
- maxInstance IntegerLifetime 
- Maximum amount of time, in seconds, that an instance can be in service, values must be either equal to 0 or between 86400 and 31536000 seconds.
- maxSize Integer
- Maximum size of the Auto Scaling Group.
- metricsGranularity String | MetricsGranularity 
- Granularity to associate with the metrics to collect. The only valid value is 1Minute. Default is1Minute.
- minElb IntegerCapacity 
- Setting this causes Pulumi to wait for this number of instances from this Auto Scaling Group to show up healthy in the ELB only on creation. Updates will not wait on ELB instance number changes. (See also Waiting for Capacity below.)
- minSize Integer
- Minimum size of the Auto Scaling Group. (See also Waiting for Capacity below.)
- mixedInstances GroupPolicy Mixed Instances Policy 
- Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details.
- name String
- Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with name_prefix.
- namePrefix String
- Creates a unique name beginning with the specified
prefix. Conflicts with name.
- placementGroup String | String
- Name of the placement group into which you'll launch your instances, if any.
- predictedCapacity Integer
- Predicted capacity of the group.
- protectFrom BooleanScale In 
- Whether newly launched instances are automatically protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see Using instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.
- serviceLinked StringRole Arn 
- ARN of the service-linked role that the ASG will use to call other AWS services
- suspendedProcesses List<String>
- List of processes to suspend for the Auto Scaling Group. The allowed values are Launch,Terminate,HealthCheck,ReplaceUnhealthy,AZRebalance,AlarmNotification,ScheduledActions,AddToLoadBalancer,InstanceRefresh. Note that if you suspend either theLaunchorTerminateprocess types, it can prevent your Auto Scaling Group from functioning properly.
- 
List<GroupTag> 
- Configuration block(s) containing resource tags. See Tag below for more details.
- targetGroup List<String>Arns 
- Set of aws.alb.TargetGroupARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified.
- terminationPolicies List<String>
- List of policies to decide how the instances in the Auto Scaling Group should be terminated. The allowed values are OldestInstance,NewestInstance,OldestLaunchConfiguration,ClosestToNextInstanceHour,OldestLaunchTemplate,AllocationStrategy,Default. Additionally, the ARN of a Lambda function can be specified for custom termination policies.
- trafficSources List<GroupTraffic Source> 
- Attaches one or more traffic sources to the specified Auto Scaling group.
- vpcZone List<String>Identifiers 
- List of subnet IDs to launch resources in. Subnets automatically determine which availability zones the group will reside. Conflicts with availability_zones.
- waitFor StringCapacity Timeout 
- Maximum duration that the provider should wait for ASG instances to be healthy before timing out. (See also Waiting for Capacity below.) Setting this to "0" causes the provider to skip all Capacity Waiting behavior.
- waitFor IntegerElb Capacity 
- Setting this will cause Pulumi to wait
for exactly this number of healthy instances from this Auto Scaling Group in
all attached load balancers on both create and update operations. (Takes
precedence over min_elb_capacitybehavior.) (See also Waiting for Capacity below.)
- warmPool GroupWarm Pool 
- If this block is configured, add a Warm Pool to the specified Auto Scaling group. Defined below
- warmPool IntegerSize 
- Current size of the warm pool.
- arn string
- ARN for this Auto Scaling Group
- availabilityZone GroupDistribution Availability Zone Distribution 
- The instance capacity distribution across Availability Zones. See Availability Zone Distribution below for more details.
- availabilityZones string[]
- A 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 vpc_zone_identifierattribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts withvpc_zone_identifier.
- capacityRebalance boolean
- Whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled.
- context string
- Reserved.
- defaultCooldown number
- Amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
- defaultInstance numberWarmup 
- Amount of time, in seconds, until a newly launched instance can contribute to the Amazon CloudWatch metrics. This delay lets an instance finish initializing before Amazon EC2 Auto Scaling aggregates instance metrics, resulting in more reliable usage data. Set this value equal to the amount of time that it takes for resource consumption to become stable after an instance reaches the InService state. (See Set the default instance warmup for an Auto Scaling group)
- desiredCapacity number
- Number of Amazon EC2 instances that should be running in the group. (See also Waiting for Capacity below.)
- desiredCapacity stringType 
- The unit of measurement for the value specified for desired_capacity. Supported for attribute-based instance type selection only. Valid values:"units","vcpu","memory-mib".
- enabledMetrics Metric[]
- List of metrics to collect. The allowed values are defined by the underlying AWS API.
- forceDelete boolean
- Allows deleting the Auto Scaling Group without waiting for all instances in the pool to terminate. You can force an Auto Scaling Group to delete even if it's in the process of scaling a resource. Normally, this provider drains all the instances before deleting the group. This bypasses that behavior and potentially leaves resources dangling.
- forceDelete booleanWarm Pool 
- Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate.
- healthCheck numberGrace Period 
- Time (in seconds) after instance comes into service before checking health.
- healthCheck stringType 
- "EC2" or "ELB". Controls how health checking is done.
- ignoreFailed booleanScaling Activities 
- Whether to ignore failed Auto Scaling scaling activities while waiting for capacity. The default is false-- failed scaling activities cause errors to be returned.
- initialLifecycle GroupHooks Initial Lifecycle Hook[] 
- One or more
Lifecycle Hooks
to attach to the Auto Scaling Group before instances are launched. The
syntax is exactly the same as the separate
aws.autoscaling.LifecycleHookresource, without theautoscaling_group_nameattribute. Please note that this will only work when creating a new Auto Scaling Group. For all other use-cases, please useaws.autoscaling.LifecycleHookresource.
- instanceMaintenance GroupPolicy Instance Maintenance Policy 
- If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below.
- instanceRefresh GroupInstance Refresh 
- If this block is configured, start an Instance Refresh when this Auto Scaling Group is updated. Defined below.
- launchConfiguration string | LaunchConfiguration 
- Name of the launch configuration to use.
- launchTemplate GroupLaunch Template 
- Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details.
- loadBalancers string[]
- List of elastic load balancer names to add to the autoscaling
group names. Only valid for classic load balancers. For ALBs, use target_group_arnsinstead. To remove all load balancer attachments an empty list should be specified.
- maxInstance numberLifetime 
- Maximum amount of time, in seconds, that an instance can be in service, values must be either equal to 0 or between 86400 and 31536000 seconds.
- maxSize number
- Maximum size of the Auto Scaling Group.
- metricsGranularity string | MetricsGranularity 
- Granularity to associate with the metrics to collect. The only valid value is 1Minute. Default is1Minute.
- minElb numberCapacity 
- Setting this causes Pulumi to wait for this number of instances from this Auto Scaling Group to show up healthy in the ELB only on creation. Updates will not wait on ELB instance number changes. (See also Waiting for Capacity below.)
- minSize number
- Minimum size of the Auto Scaling Group. (See also Waiting for Capacity below.)
- mixedInstances GroupPolicy Mixed Instances Policy 
- Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details.
- name string
- Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with name_prefix.
- namePrefix string
- Creates a unique name beginning with the specified
prefix. Conflicts with name.
- placementGroup string | PlacementGroup 
- Name of the placement group into which you'll launch your instances, if any.
- predictedCapacity number
- Predicted capacity of the group.
- protectFrom booleanScale In 
- Whether newly launched instances are automatically protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see Using instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.
- serviceLinked stringRole Arn 
- ARN of the service-linked role that the ASG will use to call other AWS services
- suspendedProcesses string[]
- List of processes to suspend for the Auto Scaling Group. The allowed values are Launch,Terminate,HealthCheck,ReplaceUnhealthy,AZRebalance,AlarmNotification,ScheduledActions,AddToLoadBalancer,InstanceRefresh. Note that if you suspend either theLaunchorTerminateprocess types, it can prevent your Auto Scaling Group from functioning properly.
- 
GroupTag[] 
- Configuration block(s) containing resource tags. See Tag below for more details.
- targetGroup string[]Arns 
- Set of aws.alb.TargetGroupARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified.
- terminationPolicies string[]
- List of policies to decide how the instances in the Auto Scaling Group should be terminated. The allowed values are OldestInstance,NewestInstance,OldestLaunchConfiguration,ClosestToNextInstanceHour,OldestLaunchTemplate,AllocationStrategy,Default. Additionally, the ARN of a Lambda function can be specified for custom termination policies.
- trafficSources GroupTraffic Source[] 
- Attaches one or more traffic sources to the specified Auto Scaling group.
- vpcZone string[]Identifiers 
- List of subnet IDs to launch resources in. Subnets automatically determine which availability zones the group will reside. Conflicts with availability_zones.
- waitFor stringCapacity Timeout 
- Maximum duration that the provider should wait for ASG instances to be healthy before timing out. (See also Waiting for Capacity below.) Setting this to "0" causes the provider to skip all Capacity Waiting behavior.
- waitFor numberElb Capacity 
- Setting this will cause Pulumi to wait
for exactly this number of healthy instances from this Auto Scaling Group in
all attached load balancers on both create and update operations. (Takes
precedence over min_elb_capacitybehavior.) (See also Waiting for Capacity below.)
- warmPool GroupWarm Pool 
- If this block is configured, add a Warm Pool to the specified Auto Scaling group. Defined below
- warmPool numberSize 
- Current size of the warm pool.
- arn str
- ARN for this Auto Scaling Group
- availability_zone_ Groupdistribution Availability Zone Distribution Args 
- The instance capacity distribution across Availability Zones. See Availability Zone Distribution below for more details.
- availability_zones Sequence[str]
- A 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 vpc_zone_identifierattribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts withvpc_zone_identifier.
- capacity_rebalance bool
- Whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled.
- context str
- Reserved.
- default_cooldown int
- Amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
- default_instance_ intwarmup 
- Amount of time, in seconds, until a newly launched instance can contribute to the Amazon CloudWatch metrics. This delay lets an instance finish initializing before Amazon EC2 Auto Scaling aggregates instance metrics, resulting in more reliable usage data. Set this value equal to the amount of time that it takes for resource consumption to become stable after an instance reaches the InService state. (See Set the default instance warmup for an Auto Scaling group)
- desired_capacity int
- Number of Amazon EC2 instances that should be running in the group. (See also Waiting for Capacity below.)
- desired_capacity_ strtype 
- The unit of measurement for the value specified for desired_capacity. Supported for attribute-based instance type selection only. Valid values:"units","vcpu","memory-mib".
- enabled_metrics Sequence[str]
- List of metrics to collect. The allowed values are defined by the underlying AWS API.
- force_delete bool
- Allows deleting the Auto Scaling Group without waiting for all instances in the pool to terminate. You can force an Auto Scaling Group to delete even if it's in the process of scaling a resource. Normally, this provider drains all the instances before deleting the group. This bypasses that behavior and potentially leaves resources dangling.
- force_delete_ boolwarm_ pool 
- Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate.
- health_check_ intgrace_ period 
- Time (in seconds) after instance comes into service before checking health.
- health_check_ strtype 
- "EC2" or "ELB". Controls how health checking is done.
- ignore_failed_ boolscaling_ activities 
- Whether to ignore failed Auto Scaling scaling activities while waiting for capacity. The default is false-- failed scaling activities cause errors to be returned.
- initial_lifecycle_ Sequence[Grouphooks Initial Lifecycle Hook Args] 
- One or more
Lifecycle Hooks
to attach to the Auto Scaling Group before instances are launched. The
syntax is exactly the same as the separate
aws.autoscaling.LifecycleHookresource, without theautoscaling_group_nameattribute. Please note that this will only work when creating a new Auto Scaling Group. For all other use-cases, please useaws.autoscaling.LifecycleHookresource.
- instance_maintenance_ Grouppolicy Instance Maintenance Policy Args 
- If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below.
- instance_refresh GroupInstance Refresh Args 
- If this block is configured, start an Instance Refresh when this Auto Scaling Group is updated. Defined below.
- launch_configuration str | str
- Name of the launch configuration to use.
- launch_template GroupLaunch Template Args 
- Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details.
- load_balancers Sequence[str]
- List of elastic load balancer names to add to the autoscaling
group names. Only valid for classic load balancers. For ALBs, use target_group_arnsinstead. To remove all load balancer attachments an empty list should be specified.
- max_instance_ intlifetime 
- Maximum amount of time, in seconds, that an instance can be in service, values must be either equal to 0 or between 86400 and 31536000 seconds.
- max_size int
- Maximum size of the Auto Scaling Group.
- metrics_granularity str | MetricsGranularity 
- Granularity to associate with the metrics to collect. The only valid value is 1Minute. Default is1Minute.
- min_elb_ intcapacity 
- Setting this causes Pulumi to wait for this number of instances from this Auto Scaling Group to show up healthy in the ELB only on creation. Updates will not wait on ELB instance number changes. (See also Waiting for Capacity below.)
- min_size int
- Minimum size of the Auto Scaling Group. (See also Waiting for Capacity below.)
- mixed_instances_ Grouppolicy Mixed Instances Policy Args 
- Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details.
- name str
- Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with name_prefix.
- name_prefix str
- Creates a unique name beginning with the specified
prefix. Conflicts with name.
- placement_group str | str
- Name of the placement group into which you'll launch your instances, if any.
- predicted_capacity int
- Predicted capacity of the group.
- protect_from_ boolscale_ in 
- Whether newly launched instances are automatically protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see Using instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.
- service_linked_ strrole_ arn 
- ARN of the service-linked role that the ASG will use to call other AWS services
- suspended_processes Sequence[str]
- List of processes to suspend for the Auto Scaling Group. The allowed values are Launch,Terminate,HealthCheck,ReplaceUnhealthy,AZRebalance,AlarmNotification,ScheduledActions,AddToLoadBalancer,InstanceRefresh. Note that if you suspend either theLaunchorTerminateprocess types, it can prevent your Auto Scaling Group from functioning properly.
- 
Sequence[GroupTag Args] 
- Configuration block(s) containing resource tags. See Tag below for more details.
- target_group_ Sequence[str]arns 
- Set of aws.alb.TargetGroupARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified.
- termination_policies Sequence[str]
- List of policies to decide how the instances in the Auto Scaling Group should be terminated. The allowed values are OldestInstance,NewestInstance,OldestLaunchConfiguration,ClosestToNextInstanceHour,OldestLaunchTemplate,AllocationStrategy,Default. Additionally, the ARN of a Lambda function can be specified for custom termination policies.
- traffic_sources Sequence[GroupTraffic Source Args] 
- Attaches one or more traffic sources to the specified Auto Scaling group.
- vpc_zone_ Sequence[str]identifiers 
- List of subnet IDs to launch resources in. Subnets automatically determine which availability zones the group will reside. Conflicts with availability_zones.
- wait_for_ strcapacity_ timeout 
- Maximum duration that the provider should wait for ASG instances to be healthy before timing out. (See also Waiting for Capacity below.) Setting this to "0" causes the provider to skip all Capacity Waiting behavior.
- wait_for_ intelb_ capacity 
- Setting this will cause Pulumi to wait
for exactly this number of healthy instances from this Auto Scaling Group in
all attached load balancers on both create and update operations. (Takes
precedence over min_elb_capacitybehavior.) (See also Waiting for Capacity below.)
- warm_pool GroupWarm Pool Args 
- If this block is configured, add a Warm Pool to the specified Auto Scaling group. Defined below
- warm_pool_ intsize 
- Current size of the warm pool.
- arn String
- ARN for this Auto Scaling Group
- availabilityZone Property MapDistribution 
- The instance capacity distribution across Availability Zones. See Availability Zone Distribution below for more details.
- availabilityZones List<String>
- A 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 vpc_zone_identifierattribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts withvpc_zone_identifier.
- capacityRebalance Boolean
- Whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled.
- context String
- Reserved.
- defaultCooldown Number
- Amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
- defaultInstance NumberWarmup 
- Amount of time, in seconds, until a newly launched instance can contribute to the Amazon CloudWatch metrics. This delay lets an instance finish initializing before Amazon EC2 Auto Scaling aggregates instance metrics, resulting in more reliable usage data. Set this value equal to the amount of time that it takes for resource consumption to become stable after an instance reaches the InService state. (See Set the default instance warmup for an Auto Scaling group)
- desiredCapacity Number
- Number of Amazon EC2 instances that should be running in the group. (See also Waiting for Capacity below.)
- desiredCapacity StringType 
- The unit of measurement for the value specified for desired_capacity. Supported for attribute-based instance type selection only. Valid values:"units","vcpu","memory-mib".
- enabledMetrics List<>
- List of metrics to collect. The allowed values are defined by the underlying AWS API.
- forceDelete Boolean
- Allows deleting the Auto Scaling Group without waiting for all instances in the pool to terminate. You can force an Auto Scaling Group to delete even if it's in the process of scaling a resource. Normally, this provider drains all the instances before deleting the group. This bypasses that behavior and potentially leaves resources dangling.
- forceDelete BooleanWarm Pool 
- Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate.
- healthCheck NumberGrace Period 
- Time (in seconds) after instance comes into service before checking health.
- healthCheck StringType 
- "EC2" or "ELB". Controls how health checking is done.
- ignoreFailed BooleanScaling Activities 
- Whether to ignore failed Auto Scaling scaling activities while waiting for capacity. The default is false-- failed scaling activities cause errors to be returned.
- initialLifecycle List<Property Map>Hooks 
- One or more
Lifecycle Hooks
to attach to the Auto Scaling Group before instances are launched. The
syntax is exactly the same as the separate
aws.autoscaling.LifecycleHookresource, without theautoscaling_group_nameattribute. Please note that this will only work when creating a new Auto Scaling Group. For all other use-cases, please useaws.autoscaling.LifecycleHookresource.
- instanceMaintenance Property MapPolicy 
- If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below.
- instanceRefresh Property Map
- If this block is configured, start an Instance Refresh when this Auto Scaling Group is updated. Defined below.
- launchConfiguration String |
- Name of the launch configuration to use.
- launchTemplate Property Map
- Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details.
- loadBalancers List<String>
- List of elastic load balancer names to add to the autoscaling
group names. Only valid for classic load balancers. For ALBs, use target_group_arnsinstead. To remove all load balancer attachments an empty list should be specified.
- maxInstance NumberLifetime 
- Maximum amount of time, in seconds, that an instance can be in service, values must be either equal to 0 or between 86400 and 31536000 seconds.
- maxSize Number
- Maximum size of the Auto Scaling Group.
- metricsGranularity String | "1Minute"
- Granularity to associate with the metrics to collect. The only valid value is 1Minute. Default is1Minute.
- minElb NumberCapacity 
- Setting this causes Pulumi to wait for this number of instances from this Auto Scaling Group to show up healthy in the ELB only on creation. Updates will not wait on ELB instance number changes. (See also Waiting for Capacity below.)
- minSize Number
- Minimum size of the Auto Scaling Group. (See also Waiting for Capacity below.)
- mixedInstances Property MapPolicy 
- Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details.
- name String
- Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with name_prefix.
- namePrefix String
- Creates a unique name beginning with the specified
prefix. Conflicts with name.
- placementGroup String |
- Name of the placement group into which you'll launch your instances, if any.
- predictedCapacity Number
- Predicted capacity of the group.
- protectFrom BooleanScale In 
- Whether newly launched instances are automatically protected from termination by Amazon EC2 Auto Scaling when scaling in. For more information about preventing instances from terminating on scale in, see Using instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.
- serviceLinked StringRole Arn 
- ARN of the service-linked role that the ASG will use to call other AWS services
- suspendedProcesses List<String>
- List of processes to suspend for the Auto Scaling Group. The allowed values are Launch,Terminate,HealthCheck,ReplaceUnhealthy,AZRebalance,AlarmNotification,ScheduledActions,AddToLoadBalancer,InstanceRefresh. Note that if you suspend either theLaunchorTerminateprocess types, it can prevent your Auto Scaling Group from functioning properly.
- List<Property Map>
- Configuration block(s) containing resource tags. See Tag below for more details.
- targetGroup List<String>Arns 
- Set of aws.alb.TargetGroupARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified.
- terminationPolicies List<String>
- List of policies to decide how the instances in the Auto Scaling Group should be terminated. The allowed values are OldestInstance,NewestInstance,OldestLaunchConfiguration,ClosestToNextInstanceHour,OldestLaunchTemplate,AllocationStrategy,Default. Additionally, the ARN of a Lambda function can be specified for custom termination policies.
- trafficSources List<Property Map>
- Attaches one or more traffic sources to the specified Auto Scaling group.
- vpcZone List<String>Identifiers 
- List of subnet IDs to launch resources in. Subnets automatically determine which availability zones the group will reside. Conflicts with availability_zones.
- waitFor StringCapacity Timeout 
- Maximum duration that the provider should wait for ASG instances to be healthy before timing out. (See also Waiting for Capacity below.) Setting this to "0" causes the provider to skip all Capacity Waiting behavior.
- waitFor NumberElb Capacity 
- Setting this will cause Pulumi to wait
for exactly this number of healthy instances from this Auto Scaling Group in
all attached load balancers on both create and update operations. (Takes
precedence over min_elb_capacitybehavior.) (See also Waiting for Capacity below.)
- warmPool Property Map
- If this block is configured, add a Warm Pool to the specified Auto Scaling group. Defined below
- warmPool NumberSize 
- Current size of the warm pool.
Supporting Types
GroupAvailabilityZoneDistribution, GroupAvailabilityZoneDistributionArgs        
- CapacityDistribution stringStrategy 
- The strategy to use for distributing capacity across the Availability Zones. Valid values are balanced-onlyandbalanced-best-effort. Default isbalanced-best-effort.
- CapacityDistribution stringStrategy 
- The strategy to use for distributing capacity across the Availability Zones. Valid values are balanced-onlyandbalanced-best-effort. Default isbalanced-best-effort.
- capacityDistribution StringStrategy 
- The strategy to use for distributing capacity across the Availability Zones. Valid values are balanced-onlyandbalanced-best-effort. Default isbalanced-best-effort.
- capacityDistribution stringStrategy 
- The strategy to use for distributing capacity across the Availability Zones. Valid values are balanced-onlyandbalanced-best-effort. Default isbalanced-best-effort.
- capacity_distribution_ strstrategy 
- The strategy to use for distributing capacity across the Availability Zones. Valid values are balanced-onlyandbalanced-best-effort. Default isbalanced-best-effort.
- capacityDistribution StringStrategy 
- The strategy to use for distributing capacity across the Availability Zones. Valid values are balanced-onlyandbalanced-best-effort. Default isbalanced-best-effort.
GroupInitialLifecycleHook, GroupInitialLifecycleHookArgs        
- LifecycleTransition string
- Name string
- Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with name_prefix.
- DefaultResult string
- HeartbeatTimeout int
- NotificationMetadata string
- NotificationTarget stringArn 
- RoleArn string
- LifecycleTransition string
- Name string
- Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with name_prefix.
- DefaultResult string
- HeartbeatTimeout int
- NotificationMetadata string
- NotificationTarget stringArn 
- RoleArn string
- lifecycleTransition String
- name String
- Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with name_prefix.
- defaultResult String
- heartbeatTimeout Integer
- notificationMetadata String
- notificationTarget StringArn 
- roleArn String
- lifecycleTransition string
- name string
- Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with name_prefix.
- defaultResult string
- heartbeatTimeout number
- notificationMetadata string
- notificationTarget stringArn 
- roleArn string
- lifecycle_transition str
- name str
- Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with name_prefix.
- default_result str
- heartbeat_timeout int
- notification_metadata str
- notification_target_ strarn 
- role_arn str
- lifecycleTransition String
- name String
- Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with name_prefix.
- defaultResult String
- heartbeatTimeout Number
- notificationMetadata String
- notificationTarget StringArn 
- roleArn String
GroupInstanceMaintenancePolicy, GroupInstanceMaintenancePolicyArgs        
- MaxHealthy intPercentage 
- Specifies the upper limit on the number of instances that are in the InService or Pending state with a healthy status during an instance replacement activity.
- MinHealthy intPercentage 
- Specifies the lower limit on the number of instances that must be in the InService state with a healthy status during an instance replacement activity.
- MaxHealthy intPercentage 
- Specifies the upper limit on the number of instances that are in the InService or Pending state with a healthy status during an instance replacement activity.
- MinHealthy intPercentage 
- Specifies the lower limit on the number of instances that must be in the InService state with a healthy status during an instance replacement activity.
- maxHealthy IntegerPercentage 
- Specifies the upper limit on the number of instances that are in the InService or Pending state with a healthy status during an instance replacement activity.
- minHealthy IntegerPercentage 
- Specifies the lower limit on the number of instances that must be in the InService state with a healthy status during an instance replacement activity.
- maxHealthy numberPercentage 
- Specifies the upper limit on the number of instances that are in the InService or Pending state with a healthy status during an instance replacement activity.
- minHealthy numberPercentage 
- Specifies the lower limit on the number of instances that must be in the InService state with a healthy status during an instance replacement activity.
- max_healthy_ intpercentage 
- Specifies the upper limit on the number of instances that are in the InService or Pending state with a healthy status during an instance replacement activity.
- min_healthy_ intpercentage 
- Specifies the lower limit on the number of instances that must be in the InService state with a healthy status during an instance replacement activity.
- maxHealthy NumberPercentage 
- Specifies the upper limit on the number of instances that are in the InService or Pending state with a healthy status during an instance replacement activity.
- minHealthy NumberPercentage 
- Specifies the lower limit on the number of instances that must be in the InService state with a healthy status during an instance replacement activity.
GroupInstanceRefresh, GroupInstanceRefreshArgs      
- Strategy string
- Strategy to use for instance refresh. The only allowed value is Rolling. See StartInstanceRefresh Action for more information.
- Preferences
GroupInstance Refresh Preferences 
- Override default parameters for Instance Refresh.
- Triggers List<string>
- Set of additional property names that will trigger an Instance Refresh. A refresh will always be triggered by a change in any of - launch_configuration,- launch_template, or- mixed_instances_policy.- NOTE: A refresh is started when any of the following Auto Scaling Group properties change: - launch_configuration,- launch_template,- mixed_instances_policy. Additional properties can be specified in the- triggersproperty of- instance_refresh.- NOTE: A refresh will not start when - version = "$Latest"is configured in the- launch_templateblock. To trigger the instance refresh when a launch template is changed, configure- versionto use the- latest_versionattribute of the- aws.ec2.LaunchTemplateresource.- NOTE: Auto Scaling Groups support up to one active instance refresh at a time. When this resource is updated, any existing refresh is cancelled. - NOTE: Depending on health check settings and group size, an instance refresh may take a long time or fail. This resource does not wait for the instance refresh to complete. 
- Strategy string
- Strategy to use for instance refresh. The only allowed value is Rolling. See StartInstanceRefresh Action for more information.
- Preferences
GroupInstance Refresh Preferences 
- Override default parameters for Instance Refresh.
- Triggers []string
- Set of additional property names that will trigger an Instance Refresh. A refresh will always be triggered by a change in any of - launch_configuration,- launch_template, or- mixed_instances_policy.- NOTE: A refresh is started when any of the following Auto Scaling Group properties change: - launch_configuration,- launch_template,- mixed_instances_policy. Additional properties can be specified in the- triggersproperty of- instance_refresh.- NOTE: A refresh will not start when - version = "$Latest"is configured in the- launch_templateblock. To trigger the instance refresh when a launch template is changed, configure- versionto use the- latest_versionattribute of the- aws.ec2.LaunchTemplateresource.- NOTE: Auto Scaling Groups support up to one active instance refresh at a time. When this resource is updated, any existing refresh is cancelled. - NOTE: Depending on health check settings and group size, an instance refresh may take a long time or fail. This resource does not wait for the instance refresh to complete. 
- strategy String
- Strategy to use for instance refresh. The only allowed value is Rolling. See StartInstanceRefresh Action for more information.
- preferences
GroupInstance Refresh Preferences 
- Override default parameters for Instance Refresh.
- triggers List<String>
- Set of additional property names that will trigger an Instance Refresh. A refresh will always be triggered by a change in any of - launch_configuration,- launch_template, or- mixed_instances_policy.- NOTE: A refresh is started when any of the following Auto Scaling Group properties change: - launch_configuration,- launch_template,- mixed_instances_policy. Additional properties can be specified in the- triggersproperty of- instance_refresh.- NOTE: A refresh will not start when - version = "$Latest"is configured in the- launch_templateblock. To trigger the instance refresh when a launch template is changed, configure- versionto use the- latest_versionattribute of the- aws.ec2.LaunchTemplateresource.- NOTE: Auto Scaling Groups support up to one active instance refresh at a time. When this resource is updated, any existing refresh is cancelled. - NOTE: Depending on health check settings and group size, an instance refresh may take a long time or fail. This resource does not wait for the instance refresh to complete. 
- strategy string
- Strategy to use for instance refresh. The only allowed value is Rolling. See StartInstanceRefresh Action for more information.
- preferences
GroupInstance Refresh Preferences 
- Override default parameters for Instance Refresh.
- triggers string[]
- Set of additional property names that will trigger an Instance Refresh. A refresh will always be triggered by a change in any of - launch_configuration,- launch_template, or- mixed_instances_policy.- NOTE: A refresh is started when any of the following Auto Scaling Group properties change: - launch_configuration,- launch_template,- mixed_instances_policy. Additional properties can be specified in the- triggersproperty of- instance_refresh.- NOTE: A refresh will not start when - version = "$Latest"is configured in the- launch_templateblock. To trigger the instance refresh when a launch template is changed, configure- versionto use the- latest_versionattribute of the- aws.ec2.LaunchTemplateresource.- NOTE: Auto Scaling Groups support up to one active instance refresh at a time. When this resource is updated, any existing refresh is cancelled. - NOTE: Depending on health check settings and group size, an instance refresh may take a long time or fail. This resource does not wait for the instance refresh to complete. 
- strategy str
- Strategy to use for instance refresh. The only allowed value is Rolling. See StartInstanceRefresh Action for more information.
- preferences
GroupInstance Refresh Preferences 
- Override default parameters for Instance Refresh.
- triggers Sequence[str]
- Set of additional property names that will trigger an Instance Refresh. A refresh will always be triggered by a change in any of - launch_configuration,- launch_template, or- mixed_instances_policy.- NOTE: A refresh is started when any of the following Auto Scaling Group properties change: - launch_configuration,- launch_template,- mixed_instances_policy. Additional properties can be specified in the- triggersproperty of- instance_refresh.- NOTE: A refresh will not start when - version = "$Latest"is configured in the- launch_templateblock. To trigger the instance refresh when a launch template is changed, configure- versionto use the- latest_versionattribute of the- aws.ec2.LaunchTemplateresource.- NOTE: Auto Scaling Groups support up to one active instance refresh at a time. When this resource is updated, any existing refresh is cancelled. - NOTE: Depending on health check settings and group size, an instance refresh may take a long time or fail. This resource does not wait for the instance refresh to complete. 
- strategy String
- Strategy to use for instance refresh. The only allowed value is Rolling. See StartInstanceRefresh Action for more information.
- preferences Property Map
- Override default parameters for Instance Refresh.
- triggers List<String>
- Set of additional property names that will trigger an Instance Refresh. A refresh will always be triggered by a change in any of - launch_configuration,- launch_template, or- mixed_instances_policy.- NOTE: A refresh is started when any of the following Auto Scaling Group properties change: - launch_configuration,- launch_template,- mixed_instances_policy. Additional properties can be specified in the- triggersproperty of- instance_refresh.- NOTE: A refresh will not start when - version = "$Latest"is configured in the- launch_templateblock. To trigger the instance refresh when a launch template is changed, configure- versionto use the- latest_versionattribute of the- aws.ec2.LaunchTemplateresource.- NOTE: Auto Scaling Groups support up to one active instance refresh at a time. When this resource is updated, any existing refresh is cancelled. - NOTE: Depending on health check settings and group size, an instance refresh may take a long time or fail. This resource does not wait for the instance refresh to complete. 
GroupInstanceRefreshPreferences, GroupInstanceRefreshPreferencesArgs        
- AlarmSpecification GroupInstance Refresh Preferences Alarm Specification 
- Alarm Specification for Instance Refresh.
- AutoRollback bool
- Automatically rollback if instance refresh fails. Defaults to false. This option may only be set totruewhen specifying alaunch_templateormixed_instances_policy.
- CheckpointDelay string
- Number of seconds to wait after a checkpoint. Defaults to 3600.
- CheckpointPercentages List<int>
- List of percentages for each checkpoint. Values must be unique and in ascending order. To replace all instances, the final number must be 100.
- InstanceWarmup string
- Number of seconds until a newly launched instance is configured and ready to use. Default behavior is to use the Auto Scaling Group's health check grace period.
- MaxHealthy intPercentage 
- Amount of capacity in the Auto Scaling group that can be in service and healthy, or pending, to support your workload when an instance refresh is in place, as a percentage of the desired capacity of the Auto Scaling group. Values must be between 100and200, defaults to100.
- MinHealthy intPercentage 
- Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to 90.
- ScaleIn stringProtected Instances 
- Behavior when encountering instances protected from scale in are found. Available behaviors are Refresh,Ignore, andWait. Default isIgnore.
- SkipMatching bool
- Replace instances that already have your desired configuration. Defaults to false.
- StandbyInstances string
- Behavior when encountering instances in the Standbystate in are found. Available behaviors areTerminate,Ignore, andWait. Default isIgnore.
- AlarmSpecification GroupInstance Refresh Preferences Alarm Specification 
- Alarm Specification for Instance Refresh.
- AutoRollback bool
- Automatically rollback if instance refresh fails. Defaults to false. This option may only be set totruewhen specifying alaunch_templateormixed_instances_policy.
- CheckpointDelay string
- Number of seconds to wait after a checkpoint. Defaults to 3600.
- CheckpointPercentages []int
- List of percentages for each checkpoint. Values must be unique and in ascending order. To replace all instances, the final number must be 100.
- InstanceWarmup string
- Number of seconds until a newly launched instance is configured and ready to use. Default behavior is to use the Auto Scaling Group's health check grace period.
- MaxHealthy intPercentage 
- Amount of capacity in the Auto Scaling group that can be in service and healthy, or pending, to support your workload when an instance refresh is in place, as a percentage of the desired capacity of the Auto Scaling group. Values must be between 100and200, defaults to100.
- MinHealthy intPercentage 
- Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to 90.
- ScaleIn stringProtected Instances 
- Behavior when encountering instances protected from scale in are found. Available behaviors are Refresh,Ignore, andWait. Default isIgnore.
- SkipMatching bool
- Replace instances that already have your desired configuration. Defaults to false.
- StandbyInstances string
- Behavior when encountering instances in the Standbystate in are found. Available behaviors areTerminate,Ignore, andWait. Default isIgnore.
- alarmSpecification GroupInstance Refresh Preferences Alarm Specification 
- Alarm Specification for Instance Refresh.
- autoRollback Boolean
- Automatically rollback if instance refresh fails. Defaults to false. This option may only be set totruewhen specifying alaunch_templateormixed_instances_policy.
- checkpointDelay String
- Number of seconds to wait after a checkpoint. Defaults to 3600.
- checkpointPercentages List<Integer>
- List of percentages for each checkpoint. Values must be unique and in ascending order. To replace all instances, the final number must be 100.
- instanceWarmup String
- Number of seconds until a newly launched instance is configured and ready to use. Default behavior is to use the Auto Scaling Group's health check grace period.
- maxHealthy IntegerPercentage 
- Amount of capacity in the Auto Scaling group that can be in service and healthy, or pending, to support your workload when an instance refresh is in place, as a percentage of the desired capacity of the Auto Scaling group. Values must be between 100and200, defaults to100.
- minHealthy IntegerPercentage 
- Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to 90.
- scaleIn StringProtected Instances 
- Behavior when encountering instances protected from scale in are found. Available behaviors are Refresh,Ignore, andWait. Default isIgnore.
- skipMatching Boolean
- Replace instances that already have your desired configuration. Defaults to false.
- standbyInstances String
- Behavior when encountering instances in the Standbystate in are found. Available behaviors areTerminate,Ignore, andWait. Default isIgnore.
- alarmSpecification GroupInstance Refresh Preferences Alarm Specification 
- Alarm Specification for Instance Refresh.
- autoRollback boolean
- Automatically rollback if instance refresh fails. Defaults to false. This option may only be set totruewhen specifying alaunch_templateormixed_instances_policy.
- checkpointDelay string
- Number of seconds to wait after a checkpoint. Defaults to 3600.
- checkpointPercentages number[]
- List of percentages for each checkpoint. Values must be unique and in ascending order. To replace all instances, the final number must be 100.
- instanceWarmup string
- Number of seconds until a newly launched instance is configured and ready to use. Default behavior is to use the Auto Scaling Group's health check grace period.
- maxHealthy numberPercentage 
- Amount of capacity in the Auto Scaling group that can be in service and healthy, or pending, to support your workload when an instance refresh is in place, as a percentage of the desired capacity of the Auto Scaling group. Values must be between 100and200, defaults to100.
- minHealthy numberPercentage 
- Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to 90.
- scaleIn stringProtected Instances 
- Behavior when encountering instances protected from scale in are found. Available behaviors are Refresh,Ignore, andWait. Default isIgnore.
- skipMatching boolean
- Replace instances that already have your desired configuration. Defaults to false.
- standbyInstances string
- Behavior when encountering instances in the Standbystate in are found. Available behaviors areTerminate,Ignore, andWait. Default isIgnore.
- alarm_specification GroupInstance Refresh Preferences Alarm Specification 
- Alarm Specification for Instance Refresh.
- auto_rollback bool
- Automatically rollback if instance refresh fails. Defaults to false. This option may only be set totruewhen specifying alaunch_templateormixed_instances_policy.
- checkpoint_delay str
- Number of seconds to wait after a checkpoint. Defaults to 3600.
- checkpoint_percentages Sequence[int]
- List of percentages for each checkpoint. Values must be unique and in ascending order. To replace all instances, the final number must be 100.
- instance_warmup str
- Number of seconds until a newly launched instance is configured and ready to use. Default behavior is to use the Auto Scaling Group's health check grace period.
- max_healthy_ intpercentage 
- Amount of capacity in the Auto Scaling group that can be in service and healthy, or pending, to support your workload when an instance refresh is in place, as a percentage of the desired capacity of the Auto Scaling group. Values must be between 100and200, defaults to100.
- min_healthy_ intpercentage 
- Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to 90.
- scale_in_ strprotected_ instances 
- Behavior when encountering instances protected from scale in are found. Available behaviors are Refresh,Ignore, andWait. Default isIgnore.
- skip_matching bool
- Replace instances that already have your desired configuration. Defaults to false.
- standby_instances str
- Behavior when encountering instances in the Standbystate in are found. Available behaviors areTerminate,Ignore, andWait. Default isIgnore.
- alarmSpecification Property Map
- Alarm Specification for Instance Refresh.
- autoRollback Boolean
- Automatically rollback if instance refresh fails. Defaults to false. This option may only be set totruewhen specifying alaunch_templateormixed_instances_policy.
- checkpointDelay String
- Number of seconds to wait after a checkpoint. Defaults to 3600.
- checkpointPercentages List<Number>
- List of percentages for each checkpoint. Values must be unique and in ascending order. To replace all instances, the final number must be 100.
- instanceWarmup String
- Number of seconds until a newly launched instance is configured and ready to use. Default behavior is to use the Auto Scaling Group's health check grace period.
- maxHealthy NumberPercentage 
- Amount of capacity in the Auto Scaling group that can be in service and healthy, or pending, to support your workload when an instance refresh is in place, as a percentage of the desired capacity of the Auto Scaling group. Values must be between 100and200, defaults to100.
- minHealthy NumberPercentage 
- Amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to 90.
- scaleIn StringProtected Instances 
- Behavior when encountering instances protected from scale in are found. Available behaviors are Refresh,Ignore, andWait. Default isIgnore.
- skipMatching Boolean
- Replace instances that already have your desired configuration. Defaults to false.
- standbyInstances String
- Behavior when encountering instances in the Standbystate in are found. Available behaviors areTerminate,Ignore, andWait. Default isIgnore.
GroupInstanceRefreshPreferencesAlarmSpecification, GroupInstanceRefreshPreferencesAlarmSpecificationArgs            
- Alarms List<string>
- List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed.
- Alarms []string
- List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed.
- alarms List<String>
- List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed.
- alarms string[]
- List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed.
- alarms Sequence[str]
- List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed.
- alarms List<String>
- List of Cloudwatch alarms. If any of these alarms goes into ALARM state, Instance Refresh is failed.
GroupLaunchTemplate, GroupLaunchTemplateArgs      
GroupMixedInstancesPolicy, GroupMixedInstancesPolicyArgs        
- LaunchTemplate GroupMixed Instances Policy Launch Template 
- Nested argument containing launch template settings along with the overrides to specify multiple instance types and weights. Defined below.
- InstancesDistribution GroupMixed Instances Policy Instances Distribution 
- Nested argument containing settings on how to mix on-demand and Spot instances in the Auto Scaling group. Defined below.
- LaunchTemplate GroupMixed Instances Policy Launch Template 
- Nested argument containing launch template settings along with the overrides to specify multiple instance types and weights. Defined below.
- InstancesDistribution GroupMixed Instances Policy Instances Distribution 
- Nested argument containing settings on how to mix on-demand and Spot instances in the Auto Scaling group. Defined below.
- launchTemplate GroupMixed Instances Policy Launch Template 
- Nested argument containing launch template settings along with the overrides to specify multiple instance types and weights. Defined below.
- instancesDistribution GroupMixed Instances Policy Instances Distribution 
- Nested argument containing settings on how to mix on-demand and Spot instances in the Auto Scaling group. Defined below.
- launchTemplate GroupMixed Instances Policy Launch Template 
- Nested argument containing launch template settings along with the overrides to specify multiple instance types and weights. Defined below.
- instancesDistribution GroupMixed Instances Policy Instances Distribution 
- Nested argument containing settings on how to mix on-demand and Spot instances in the Auto Scaling group. Defined below.
- launch_template GroupMixed Instances Policy Launch Template 
- Nested argument containing launch template settings along with the overrides to specify multiple instance types and weights. Defined below.
- instances_distribution GroupMixed Instances Policy Instances Distribution 
- Nested argument containing settings on how to mix on-demand and Spot instances in the Auto Scaling group. Defined below.
- launchTemplate Property Map
- Nested argument containing launch template settings along with the overrides to specify multiple instance types and weights. Defined below.
- instancesDistribution Property Map
- Nested argument containing settings on how to mix on-demand and Spot instances in the Auto Scaling group. Defined below.
GroupMixedInstancesPolicyInstancesDistribution, GroupMixedInstancesPolicyInstancesDistributionArgs            
- OnDemand stringAllocation Strategy 
- Strategy to use when launching on-demand instances. Valid values: prioritized,lowest-price. Default:prioritized.
- OnDemand intBase Capacity 
- Absolute minimum amount of desired capacity that must be fulfilled by on-demand instances. Default: 0.
- OnDemand intPercentage Above Base Capacity 
- Percentage split between on-demand and Spot instances above the base on-demand capacity. Default: 100.
- SpotAllocation stringStrategy 
- How to allocate capacity across the Spot pools. Valid values: lowest-price,capacity-optimized,capacity-optimized-prioritized, andprice-capacity-optimized. Default:lowest-price.
- SpotInstance intPools 
- Number of Spot pools per availability zone to allocate capacity. EC2 Auto Scaling selects the cheapest Spot pools and evenly allocates Spot capacity across the number of Spot pools that you specify. Only available with spot_allocation_strategyset tolowest-price. Otherwise it must be set to0, if it has been defined before. Default:2.
- SpotMax stringPrice 
- Maximum price per unit hour that the user is willing to pay for the Spot instances. Default: an empty string which means the on-demand price.
- OnDemand stringAllocation Strategy 
- Strategy to use when launching on-demand instances. Valid values: prioritized,lowest-price. Default:prioritized.
- OnDemand intBase Capacity 
- Absolute minimum amount of desired capacity that must be fulfilled by on-demand instances. Default: 0.
- OnDemand intPercentage Above Base Capacity 
- Percentage split between on-demand and Spot instances above the base on-demand capacity. Default: 100.
- SpotAllocation stringStrategy 
- How to allocate capacity across the Spot pools. Valid values: lowest-price,capacity-optimized,capacity-optimized-prioritized, andprice-capacity-optimized. Default:lowest-price.
- SpotInstance intPools 
- Number of Spot pools per availability zone to allocate capacity. EC2 Auto Scaling selects the cheapest Spot pools and evenly allocates Spot capacity across the number of Spot pools that you specify. Only available with spot_allocation_strategyset tolowest-price. Otherwise it must be set to0, if it has been defined before. Default:2.
- SpotMax stringPrice 
- Maximum price per unit hour that the user is willing to pay for the Spot instances. Default: an empty string which means the on-demand price.
- onDemand StringAllocation Strategy 
- Strategy to use when launching on-demand instances. Valid values: prioritized,lowest-price. Default:prioritized.
- onDemand IntegerBase Capacity 
- Absolute minimum amount of desired capacity that must be fulfilled by on-demand instances. Default: 0.
- onDemand IntegerPercentage Above Base Capacity 
- Percentage split between on-demand and Spot instances above the base on-demand capacity. Default: 100.
- spotAllocation StringStrategy 
- How to allocate capacity across the Spot pools. Valid values: lowest-price,capacity-optimized,capacity-optimized-prioritized, andprice-capacity-optimized. Default:lowest-price.
- spotInstance IntegerPools 
- Number of Spot pools per availability zone to allocate capacity. EC2 Auto Scaling selects the cheapest Spot pools and evenly allocates Spot capacity across the number of Spot pools that you specify. Only available with spot_allocation_strategyset tolowest-price. Otherwise it must be set to0, if it has been defined before. Default:2.
- spotMax StringPrice 
- Maximum price per unit hour that the user is willing to pay for the Spot instances. Default: an empty string which means the on-demand price.
- onDemand stringAllocation Strategy 
- Strategy to use when launching on-demand instances. Valid values: prioritized,lowest-price. Default:prioritized.
- onDemand numberBase Capacity 
- Absolute minimum amount of desired capacity that must be fulfilled by on-demand instances. Default: 0.
- onDemand numberPercentage Above Base Capacity 
- Percentage split between on-demand and Spot instances above the base on-demand capacity. Default: 100.
- spotAllocation stringStrategy 
- How to allocate capacity across the Spot pools. Valid values: lowest-price,capacity-optimized,capacity-optimized-prioritized, andprice-capacity-optimized. Default:lowest-price.
- spotInstance numberPools 
- Number of Spot pools per availability zone to allocate capacity. EC2 Auto Scaling selects the cheapest Spot pools and evenly allocates Spot capacity across the number of Spot pools that you specify. Only available with spot_allocation_strategyset tolowest-price. Otherwise it must be set to0, if it has been defined before. Default:2.
- spotMax stringPrice 
- Maximum price per unit hour that the user is willing to pay for the Spot instances. Default: an empty string which means the on-demand price.
- on_demand_ strallocation_ strategy 
- Strategy to use when launching on-demand instances. Valid values: prioritized,lowest-price. Default:prioritized.
- on_demand_ intbase_ capacity 
- Absolute minimum amount of desired capacity that must be fulfilled by on-demand instances. Default: 0.
- on_demand_ intpercentage_ above_ base_ capacity 
- Percentage split between on-demand and Spot instances above the base on-demand capacity. Default: 100.
- spot_allocation_ strstrategy 
- How to allocate capacity across the Spot pools. Valid values: lowest-price,capacity-optimized,capacity-optimized-prioritized, andprice-capacity-optimized. Default:lowest-price.
- spot_instance_ intpools 
- Number of Spot pools per availability zone to allocate capacity. EC2 Auto Scaling selects the cheapest Spot pools and evenly allocates Spot capacity across the number of Spot pools that you specify. Only available with spot_allocation_strategyset tolowest-price. Otherwise it must be set to0, if it has been defined before. Default:2.
- spot_max_ strprice 
- Maximum price per unit hour that the user is willing to pay for the Spot instances. Default: an empty string which means the on-demand price.
- onDemand StringAllocation Strategy 
- Strategy to use when launching on-demand instances. Valid values: prioritized,lowest-price. Default:prioritized.
- onDemand NumberBase Capacity 
- Absolute minimum amount of desired capacity that must be fulfilled by on-demand instances. Default: 0.
- onDemand NumberPercentage Above Base Capacity 
- Percentage split between on-demand and Spot instances above the base on-demand capacity. Default: 100.
- spotAllocation StringStrategy 
- How to allocate capacity across the Spot pools. Valid values: lowest-price,capacity-optimized,capacity-optimized-prioritized, andprice-capacity-optimized. Default:lowest-price.
- spotInstance NumberPools 
- Number of Spot pools per availability zone to allocate capacity. EC2 Auto Scaling selects the cheapest Spot pools and evenly allocates Spot capacity across the number of Spot pools that you specify. Only available with spot_allocation_strategyset tolowest-price. Otherwise it must be set to0, if it has been defined before. Default:2.
- spotMax StringPrice 
- Maximum price per unit hour that the user is willing to pay for the Spot instances. Default: an empty string which means the on-demand price.
GroupMixedInstancesPolicyLaunchTemplate, GroupMixedInstancesPolicyLaunchTemplateArgs            
- LaunchTemplate GroupSpecification Mixed Instances Policy Launch Template Launch Template Specification 
- Override the instance launch template specification in the Launch Template.
- Overrides
List<GroupMixed Instances Policy Launch Template Override> 
- List of nested arguments provides the ability to specify multiple instance types. This will override the same parameter in the launch template. For on-demand instances, Auto Scaling considers the order of preference of instance types to launch based on the order specified in the overrides list. Defined below.
- LaunchTemplate GroupSpecification Mixed Instances Policy Launch Template Launch Template Specification 
- Override the instance launch template specification in the Launch Template.
- Overrides
[]GroupMixed Instances Policy Launch Template Override 
- List of nested arguments provides the ability to specify multiple instance types. This will override the same parameter in the launch template. For on-demand instances, Auto Scaling considers the order of preference of instance types to launch based on the order specified in the overrides list. Defined below.
- launchTemplate GroupSpecification Mixed Instances Policy Launch Template Launch Template Specification 
- Override the instance launch template specification in the Launch Template.
- overrides
List<GroupMixed Instances Policy Launch Template Override> 
- List of nested arguments provides the ability to specify multiple instance types. This will override the same parameter in the launch template. For on-demand instances, Auto Scaling considers the order of preference of instance types to launch based on the order specified in the overrides list. Defined below.
- launchTemplate GroupSpecification Mixed Instances Policy Launch Template Launch Template Specification 
- Override the instance launch template specification in the Launch Template.
- overrides
GroupMixed Instances Policy Launch Template Override[] 
- List of nested arguments provides the ability to specify multiple instance types. This will override the same parameter in the launch template. For on-demand instances, Auto Scaling considers the order of preference of instance types to launch based on the order specified in the overrides list. Defined below.
- launch_template_ Groupspecification Mixed Instances Policy Launch Template Launch Template Specification 
- Override the instance launch template specification in the Launch Template.
- overrides
Sequence[GroupMixed Instances Policy Launch Template Override] 
- List of nested arguments provides the ability to specify multiple instance types. This will override the same parameter in the launch template. For on-demand instances, Auto Scaling considers the order of preference of instance types to launch based on the order specified in the overrides list. Defined below.
- launchTemplate Property MapSpecification 
- Override the instance launch template specification in the Launch Template.
- overrides List<Property Map>
- List of nested arguments provides the ability to specify multiple instance types. This will override the same parameter in the launch template. For on-demand instances, Auto Scaling considers the order of preference of instance types to launch based on the order specified in the overrides list. Defined below.
GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecification, GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs                  
- LaunchTemplate stringId 
- ID of the launch template. Conflicts with launch_template_name.
- LaunchTemplate stringName 
- Name of the launch template. Conflicts with launch_template_id.
- Version string
- LaunchTemplate stringId 
- ID of the launch template. Conflicts with launch_template_name.
- LaunchTemplate stringName 
- Name of the launch template. Conflicts with launch_template_id.
- Version string
- launchTemplate StringId 
- ID of the launch template. Conflicts with launch_template_name.
- launchTemplate StringName 
- Name of the launch template. Conflicts with launch_template_id.
- version String
- launchTemplate stringId 
- ID of the launch template. Conflicts with launch_template_name.
- launchTemplate stringName 
- Name of the launch template. Conflicts with launch_template_id.
- version string
- launch_template_ strid 
- ID of the launch template. Conflicts with launch_template_name.
- launch_template_ strname 
- Name of the launch template. Conflicts with launch_template_id.
- version str
- launchTemplate StringId 
- ID of the launch template. Conflicts with launch_template_name.
- launchTemplate StringName 
- Name of the launch template. Conflicts with launch_template_id.
- version String
GroupMixedInstancesPolicyLaunchTemplateOverride, GroupMixedInstancesPolicyLaunchTemplateOverrideArgs              
- InstanceRequirements GroupMixed Instances Policy Launch Template Override Instance Requirements 
- Override the instance type in the Launch Template with instance types that satisfy the requirements.
- InstanceType string
- Override the instance type in the Launch Template.
- LaunchTemplate GroupSpecification Mixed Instances Policy Launch Template Override Launch Template Specification 
- Override the instance launch template specification in the Launch Template.
- WeightedCapacity string
- Number of capacity units, which gives the instance type a proportional weight to other instance types.
- InstanceRequirements GroupMixed Instances Policy Launch Template Override Instance Requirements 
- Override the instance type in the Launch Template with instance types that satisfy the requirements.
- InstanceType string
- Override the instance type in the Launch Template.
- LaunchTemplate GroupSpecification Mixed Instances Policy Launch Template Override Launch Template Specification 
- Override the instance launch template specification in the Launch Template.
- WeightedCapacity string
- Number of capacity units, which gives the instance type a proportional weight to other instance types.
- instanceRequirements GroupMixed Instances Policy Launch Template Override Instance Requirements 
- Override the instance type in the Launch Template with instance types that satisfy the requirements.
- instanceType String
- Override the instance type in the Launch Template.
- launchTemplate GroupSpecification Mixed Instances Policy Launch Template Override Launch Template Specification 
- Override the instance launch template specification in the Launch Template.
- weightedCapacity String
- Number of capacity units, which gives the instance type a proportional weight to other instance types.
- instanceRequirements GroupMixed Instances Policy Launch Template Override Instance Requirements 
- Override the instance type in the Launch Template with instance types that satisfy the requirements.
- instanceType string
- Override the instance type in the Launch Template.
- launchTemplate GroupSpecification Mixed Instances Policy Launch Template Override Launch Template Specification 
- Override the instance launch template specification in the Launch Template.
- weightedCapacity string
- Number of capacity units, which gives the instance type a proportional weight to other instance types.
- instance_requirements GroupMixed Instances Policy Launch Template Override Instance Requirements 
- Override the instance type in the Launch Template with instance types that satisfy the requirements.
- instance_type str
- Override the instance type in the Launch Template.
- launch_template_ Groupspecification Mixed Instances Policy Launch Template Override Launch Template Specification 
- Override the instance launch template specification in the Launch Template.
- weighted_capacity str
- Number of capacity units, which gives the instance type a proportional weight to other instance types.
- instanceRequirements Property Map
- Override the instance type in the Launch Template with instance types that satisfy the requirements.
- instanceType String
- Override the instance type in the Launch Template.
- launchTemplate Property MapSpecification 
- Override the instance launch template specification in the Launch Template.
- weightedCapacity String
- Number of capacity units, which gives the instance type a proportional weight to other instance types.
GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirements, GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsArgs                  
- AcceleratorCount GroupMixed Instances Policy Launch Template Override Instance Requirements Accelerator Count 
- Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
- AcceleratorManufacturers List<string>
- List of accelerator manufacturer names. Default is any manufacturer.Valid names: * amazon-web-services * amd * nvidia * xilinx
- AcceleratorNames List<string>
- List of accelerator names. Default is any acclerator.Valid names: * a100 - NVIDIA A100 GPUs * v100 - NVIDIA V100 GPUs * k80 - NVIDIA K80 GPUs * t4 - NVIDIA T4 GPUs * m60 - NVIDIA M60 GPUs * radeon-pro-v520 - AMD Radeon Pro V520 GPUs * vu9p - Xilinx VU9P FPGAs
- AcceleratorTotal GroupMemory Mib Mixed Instances Policy Launch Template Override Instance Requirements Accelerator Total Memory Mib 
- Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
- AcceleratorTypes List<string>
- List of accelerator types. Default is any accelerator type.Valid types: * fpga * gpu * inference
- AllowedInstance List<string>Types 
- List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: - m5.8xlarge,- c5*.*,- m5a.*,- r*,- *3*. For example, if you specify- c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify- m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.- NOTE: If you specify - allowed_instance_types, you can't specify- excluded_instance_types.
- BareMetal string
- Indicate whether bare metal instace types should be included,excluded, orrequired. Default isexcluded.
- BaselineEbs GroupBandwidth Mbps Mixed Instances Policy Launch Template Override Instance Requirements Baseline Ebs Bandwidth Mbps 
- Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
- BurstablePerformance string
- Indicate whether burstable performance instance types should be included,excluded, orrequired. Default isexcluded.
- CpuManufacturers List<string>
- List of CPU manufacturer names. Default is any manufacturer. - NOTE: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. - Valid names: * amazon-web-services * amd * intel
- ExcludedInstance List<string>Types 
- List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: - m5.8xlarge,- c5*.*,- m5a.*,- r*,- *3*. For example, if you specify- c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify- m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.- NOTE: If you specify - excluded_instance_types, you can't specify- allowed_instance_types.
- InstanceGenerations List<string>
- List of instance generation names. Default is any generation.Valid names: * current - Recommended for best performance. * previous - For existing applications optimized for older instance types.
- LocalStorage string
- Indicate whether instance types with local storage volumes are included,excluded, orrequired. Default isincluded.
- LocalStorage List<string>Types 
- List of local storage type names. Default any storage type.Value names: * hdd - hard disk drive * ssd - solid state drive
- MaxSpot intPrice As Percentage Of Optimal On Demand Price 
- The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Conflicts with spot_max_price_percentage_over_lowest_price
- MemoryGib GroupPer Vcpu Mixed Instances Policy Launch Template Override Instance Requirements Memory Gib Per Vcpu 
- Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
- MemoryMib GroupMixed Instances Policy Launch Template Override Instance Requirements Memory Mib 
- Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
- NetworkBandwidth GroupGbps Mixed Instances Policy Launch Template Override Instance Requirements Network Bandwidth Gbps 
- Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
- NetworkInterface GroupCount Mixed Instances Policy Launch Template Override Instance Requirements Network Interface Count 
- Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
- OnDemand intMax Price Percentage Over Lowest Price 
- Price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20. - If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. 
- RequireHibernate boolSupport 
- Indicate whether instance types must support On-Demand Instance Hibernation, either trueorfalse. Default isfalse.
- SpotMax intPrice Percentage Over Lowest Price 
- Price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100. Conflicts with - max_spot_price_as_percentage_of_optimal_on_demand_price- If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. 
- TotalLocal GroupStorage Gb Mixed Instances Policy Launch Template Override Instance Requirements Total Local Storage Gb 
- Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
- VcpuCount GroupMixed Instances Policy Launch Template Override Instance Requirements Vcpu Count 
- Block describing the minimum and maximum number of vCPUs. Default is no maximum.
- AcceleratorCount GroupMixed Instances Policy Launch Template Override Instance Requirements Accelerator Count 
- Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
- AcceleratorManufacturers []string
- List of accelerator manufacturer names. Default is any manufacturer.Valid names: * amazon-web-services * amd * nvidia * xilinx
- AcceleratorNames []string
- List of accelerator names. Default is any acclerator.Valid names: * a100 - NVIDIA A100 GPUs * v100 - NVIDIA V100 GPUs * k80 - NVIDIA K80 GPUs * t4 - NVIDIA T4 GPUs * m60 - NVIDIA M60 GPUs * radeon-pro-v520 - AMD Radeon Pro V520 GPUs * vu9p - Xilinx VU9P FPGAs
- AcceleratorTotal GroupMemory Mib Mixed Instances Policy Launch Template Override Instance Requirements Accelerator Total Memory Mib 
- Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
- AcceleratorTypes []string
- List of accelerator types. Default is any accelerator type.Valid types: * fpga * gpu * inference
- AllowedInstance []stringTypes 
- List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: - m5.8xlarge,- c5*.*,- m5a.*,- r*,- *3*. For example, if you specify- c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify- m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.- NOTE: If you specify - allowed_instance_types, you can't specify- excluded_instance_types.
- BareMetal string
- Indicate whether bare metal instace types should be included,excluded, orrequired. Default isexcluded.
- BaselineEbs GroupBandwidth Mbps Mixed Instances Policy Launch Template Override Instance Requirements Baseline Ebs Bandwidth Mbps 
- Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
- BurstablePerformance string
- Indicate whether burstable performance instance types should be included,excluded, orrequired. Default isexcluded.
- CpuManufacturers []string
- List of CPU manufacturer names. Default is any manufacturer. - NOTE: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. - Valid names: * amazon-web-services * amd * intel
- ExcludedInstance []stringTypes 
- List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: - m5.8xlarge,- c5*.*,- m5a.*,- r*,- *3*. For example, if you specify- c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify- m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.- NOTE: If you specify - excluded_instance_types, you can't specify- allowed_instance_types.
- InstanceGenerations []string
- List of instance generation names. Default is any generation.Valid names: * current - Recommended for best performance. * previous - For existing applications optimized for older instance types.
- LocalStorage string
- Indicate whether instance types with local storage volumes are included,excluded, orrequired. Default isincluded.
- LocalStorage []stringTypes 
- List of local storage type names. Default any storage type.Value names: * hdd - hard disk drive * ssd - solid state drive
- MaxSpot intPrice As Percentage Of Optimal On Demand Price 
- The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Conflicts with spot_max_price_percentage_over_lowest_price
- MemoryGib GroupPer Vcpu Mixed Instances Policy Launch Template Override Instance Requirements Memory Gib Per Vcpu 
- Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
- MemoryMib GroupMixed Instances Policy Launch Template Override Instance Requirements Memory Mib 
- Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
- NetworkBandwidth GroupGbps Mixed Instances Policy Launch Template Override Instance Requirements Network Bandwidth Gbps 
- Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
- NetworkInterface GroupCount Mixed Instances Policy Launch Template Override Instance Requirements Network Interface Count 
- Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
- OnDemand intMax Price Percentage Over Lowest Price 
- Price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20. - If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. 
- RequireHibernate boolSupport 
- Indicate whether instance types must support On-Demand Instance Hibernation, either trueorfalse. Default isfalse.
- SpotMax intPrice Percentage Over Lowest Price 
- Price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100. Conflicts with - max_spot_price_as_percentage_of_optimal_on_demand_price- If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. 
- TotalLocal GroupStorage Gb Mixed Instances Policy Launch Template Override Instance Requirements Total Local Storage Gb 
- Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
- VcpuCount GroupMixed Instances Policy Launch Template Override Instance Requirements Vcpu Count 
- Block describing the minimum and maximum number of vCPUs. Default is no maximum.
- acceleratorCount GroupMixed Instances Policy Launch Template Override Instance Requirements Accelerator Count 
- Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
- acceleratorManufacturers List<String>
- List of accelerator manufacturer names. Default is any manufacturer.Valid names: * amazon-web-services * amd * nvidia * xilinx
- acceleratorNames List<String>
- List of accelerator names. Default is any acclerator.Valid names: * a100 - NVIDIA A100 GPUs * v100 - NVIDIA V100 GPUs * k80 - NVIDIA K80 GPUs * t4 - NVIDIA T4 GPUs * m60 - NVIDIA M60 GPUs * radeon-pro-v520 - AMD Radeon Pro V520 GPUs * vu9p - Xilinx VU9P FPGAs
- acceleratorTotal GroupMemory Mib Mixed Instances Policy Launch Template Override Instance Requirements Accelerator Total Memory Mib 
- Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
- acceleratorTypes List<String>
- List of accelerator types. Default is any accelerator type.Valid types: * fpga * gpu * inference
- allowedInstance List<String>Types 
- List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: - m5.8xlarge,- c5*.*,- m5a.*,- r*,- *3*. For example, if you specify- c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify- m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.- NOTE: If you specify - allowed_instance_types, you can't specify- excluded_instance_types.
- bareMetal String
- Indicate whether bare metal instace types should be included,excluded, orrequired. Default isexcluded.
- baselineEbs GroupBandwidth Mbps Mixed Instances Policy Launch Template Override Instance Requirements Baseline Ebs Bandwidth Mbps 
- Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
- burstablePerformance String
- Indicate whether burstable performance instance types should be included,excluded, orrequired. Default isexcluded.
- cpuManufacturers List<String>
- List of CPU manufacturer names. Default is any manufacturer. - NOTE: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. - Valid names: * amazon-web-services * amd * intel
- excludedInstance List<String>Types 
- List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: - m5.8xlarge,- c5*.*,- m5a.*,- r*,- *3*. For example, if you specify- c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify- m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.- NOTE: If you specify - excluded_instance_types, you can't specify- allowed_instance_types.
- instanceGenerations List<String>
- List of instance generation names. Default is any generation.Valid names: * current - Recommended for best performance. * previous - For existing applications optimized for older instance types.
- localStorage String
- Indicate whether instance types with local storage volumes are included,excluded, orrequired. Default isincluded.
- localStorage List<String>Types 
- List of local storage type names. Default any storage type.Value names: * hdd - hard disk drive * ssd - solid state drive
- maxSpot IntegerPrice As Percentage Of Optimal On Demand Price 
- The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Conflicts with spot_max_price_percentage_over_lowest_price
- memoryGib GroupPer Vcpu Mixed Instances Policy Launch Template Override Instance Requirements Memory Gib Per Vcpu 
- Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
- memoryMib GroupMixed Instances Policy Launch Template Override Instance Requirements Memory Mib 
- Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
- networkBandwidth GroupGbps Mixed Instances Policy Launch Template Override Instance Requirements Network Bandwidth Gbps 
- Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
- networkInterface GroupCount Mixed Instances Policy Launch Template Override Instance Requirements Network Interface Count 
- Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
- onDemand IntegerMax Price Percentage Over Lowest Price 
- Price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20. - If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. 
- requireHibernate BooleanSupport 
- Indicate whether instance types must support On-Demand Instance Hibernation, either trueorfalse. Default isfalse.
- spotMax IntegerPrice Percentage Over Lowest Price 
- Price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100. Conflicts with - max_spot_price_as_percentage_of_optimal_on_demand_price- If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. 
- totalLocal GroupStorage Gb Mixed Instances Policy Launch Template Override Instance Requirements Total Local Storage Gb 
- Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
- vcpuCount GroupMixed Instances Policy Launch Template Override Instance Requirements Vcpu Count 
- Block describing the minimum and maximum number of vCPUs. Default is no maximum.
- acceleratorCount GroupMixed Instances Policy Launch Template Override Instance Requirements Accelerator Count 
- Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
- acceleratorManufacturers string[]
- List of accelerator manufacturer names. Default is any manufacturer.Valid names: * amazon-web-services * amd * nvidia * xilinx
- acceleratorNames string[]
- List of accelerator names. Default is any acclerator.Valid names: * a100 - NVIDIA A100 GPUs * v100 - NVIDIA V100 GPUs * k80 - NVIDIA K80 GPUs * t4 - NVIDIA T4 GPUs * m60 - NVIDIA M60 GPUs * radeon-pro-v520 - AMD Radeon Pro V520 GPUs * vu9p - Xilinx VU9P FPGAs
- acceleratorTotal GroupMemory Mib Mixed Instances Policy Launch Template Override Instance Requirements Accelerator Total Memory Mib 
- Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
- acceleratorTypes string[]
- List of accelerator types. Default is any accelerator type.Valid types: * fpga * gpu * inference
- allowedInstance string[]Types 
- List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: - m5.8xlarge,- c5*.*,- m5a.*,- r*,- *3*. For example, if you specify- c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify- m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.- NOTE: If you specify - allowed_instance_types, you can't specify- excluded_instance_types.
- bareMetal string
- Indicate whether bare metal instace types should be included,excluded, orrequired. Default isexcluded.
- baselineEbs GroupBandwidth Mbps Mixed Instances Policy Launch Template Override Instance Requirements Baseline Ebs Bandwidth Mbps 
- Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
- burstablePerformance string
- Indicate whether burstable performance instance types should be included,excluded, orrequired. Default isexcluded.
- cpuManufacturers string[]
- List of CPU manufacturer names. Default is any manufacturer. - NOTE: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. - Valid names: * amazon-web-services * amd * intel
- excludedInstance string[]Types 
- List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: - m5.8xlarge,- c5*.*,- m5a.*,- r*,- *3*. For example, if you specify- c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify- m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.- NOTE: If you specify - excluded_instance_types, you can't specify- allowed_instance_types.
- instanceGenerations string[]
- List of instance generation names. Default is any generation.Valid names: * current - Recommended for best performance. * previous - For existing applications optimized for older instance types.
- localStorage string
- Indicate whether instance types with local storage volumes are included,excluded, orrequired. Default isincluded.
- localStorage string[]Types 
- List of local storage type names. Default any storage type.Value names: * hdd - hard disk drive * ssd - solid state drive
- maxSpot numberPrice As Percentage Of Optimal On Demand Price 
- The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Conflicts with spot_max_price_percentage_over_lowest_price
- memoryGib GroupPer Vcpu Mixed Instances Policy Launch Template Override Instance Requirements Memory Gib Per Vcpu 
- Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
- memoryMib GroupMixed Instances Policy Launch Template Override Instance Requirements Memory Mib 
- Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
- networkBandwidth GroupGbps Mixed Instances Policy Launch Template Override Instance Requirements Network Bandwidth Gbps 
- Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
- networkInterface GroupCount Mixed Instances Policy Launch Template Override Instance Requirements Network Interface Count 
- Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
- onDemand numberMax Price Percentage Over Lowest Price 
- Price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20. - If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. 
- requireHibernate booleanSupport 
- Indicate whether instance types must support On-Demand Instance Hibernation, either trueorfalse. Default isfalse.
- spotMax numberPrice Percentage Over Lowest Price 
- Price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100. Conflicts with - max_spot_price_as_percentage_of_optimal_on_demand_price- If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. 
- totalLocal GroupStorage Gb Mixed Instances Policy Launch Template Override Instance Requirements Total Local Storage Gb 
- Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
- vcpuCount GroupMixed Instances Policy Launch Template Override Instance Requirements Vcpu Count 
- Block describing the minimum and maximum number of vCPUs. Default is no maximum.
- accelerator_count GroupMixed Instances Policy Launch Template Override Instance Requirements Accelerator Count 
- Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
- accelerator_manufacturers Sequence[str]
- List of accelerator manufacturer names. Default is any manufacturer.Valid names: * amazon-web-services * amd * nvidia * xilinx
- accelerator_names Sequence[str]
- List of accelerator names. Default is any acclerator.Valid names: * a100 - NVIDIA A100 GPUs * v100 - NVIDIA V100 GPUs * k80 - NVIDIA K80 GPUs * t4 - NVIDIA T4 GPUs * m60 - NVIDIA M60 GPUs * radeon-pro-v520 - AMD Radeon Pro V520 GPUs * vu9p - Xilinx VU9P FPGAs
- accelerator_total_ Groupmemory_ mib Mixed Instances Policy Launch Template Override Instance Requirements Accelerator Total Memory Mib 
- Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
- accelerator_types Sequence[str]
- List of accelerator types. Default is any accelerator type.Valid types: * fpga * gpu * inference
- allowed_instance_ Sequence[str]types 
- List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: - m5.8xlarge,- c5*.*,- m5a.*,- r*,- *3*. For example, if you specify- c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify- m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.- NOTE: If you specify - allowed_instance_types, you can't specify- excluded_instance_types.
- bare_metal str
- Indicate whether bare metal instace types should be included,excluded, orrequired. Default isexcluded.
- baseline_ebs_ Groupbandwidth_ mbps Mixed Instances Policy Launch Template Override Instance Requirements Baseline Ebs Bandwidth Mbps 
- Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
- burstable_performance str
- Indicate whether burstable performance instance types should be included,excluded, orrequired. Default isexcluded.
- cpu_manufacturers Sequence[str]
- List of CPU manufacturer names. Default is any manufacturer. - NOTE: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. - Valid names: * amazon-web-services * amd * intel
- excluded_instance_ Sequence[str]types 
- List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: - m5.8xlarge,- c5*.*,- m5a.*,- r*,- *3*. For example, if you specify- c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify- m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.- NOTE: If you specify - excluded_instance_types, you can't specify- allowed_instance_types.
- instance_generations Sequence[str]
- List of instance generation names. Default is any generation.Valid names: * current - Recommended for best performance. * previous - For existing applications optimized for older instance types.
- local_storage str
- Indicate whether instance types with local storage volumes are included,excluded, orrequired. Default isincluded.
- local_storage_ Sequence[str]types 
- List of local storage type names. Default any storage type.Value names: * hdd - hard disk drive * ssd - solid state drive
- max_spot_ intprice_ as_ percentage_ of_ optimal_ on_ demand_ price 
- The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Conflicts with spot_max_price_percentage_over_lowest_price
- memory_gib_ Groupper_ vcpu Mixed Instances Policy Launch Template Override Instance Requirements Memory Gib Per Vcpu 
- Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
- memory_mib GroupMixed Instances Policy Launch Template Override Instance Requirements Memory Mib 
- Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
- network_bandwidth_ Groupgbps Mixed Instances Policy Launch Template Override Instance Requirements Network Bandwidth Gbps 
- Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
- network_interface_ Groupcount Mixed Instances Policy Launch Template Override Instance Requirements Network Interface Count 
- Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
- on_demand_ intmax_ price_ percentage_ over_ lowest_ price 
- Price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20. - If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. 
- require_hibernate_ boolsupport 
- Indicate whether instance types must support On-Demand Instance Hibernation, either trueorfalse. Default isfalse.
- spot_max_ intprice_ percentage_ over_ lowest_ price 
- Price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100. Conflicts with - max_spot_price_as_percentage_of_optimal_on_demand_price- If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. 
- total_local_ Groupstorage_ gb Mixed Instances Policy Launch Template Override Instance Requirements Total Local Storage Gb 
- Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
- vcpu_count GroupMixed Instances Policy Launch Template Override Instance Requirements Vcpu Count 
- Block describing the minimum and maximum number of vCPUs. Default is no maximum.
- acceleratorCount Property Map
- Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
- acceleratorManufacturers List<String>
- List of accelerator manufacturer names. Default is any manufacturer.Valid names: * amazon-web-services * amd * nvidia * xilinx
- acceleratorNames List<String>
- List of accelerator names. Default is any acclerator.Valid names: * a100 - NVIDIA A100 GPUs * v100 - NVIDIA V100 GPUs * k80 - NVIDIA K80 GPUs * t4 - NVIDIA T4 GPUs * m60 - NVIDIA M60 GPUs * radeon-pro-v520 - AMD Radeon Pro V520 GPUs * vu9p - Xilinx VU9P FPGAs
- acceleratorTotal Property MapMemory Mib 
- Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
- acceleratorTypes List<String>
- List of accelerator types. Default is any accelerator type.Valid types: * fpga * gpu * inference
- allowedInstance List<String>Types 
- List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: - m5.8xlarge,- c5*.*,- m5a.*,- r*,- *3*. For example, if you specify- c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify- m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.- NOTE: If you specify - allowed_instance_types, you can't specify- excluded_instance_types.
- bareMetal String
- Indicate whether bare metal instace types should be included,excluded, orrequired. Default isexcluded.
- baselineEbs Property MapBandwidth Mbps 
- Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
- burstablePerformance String
- Indicate whether burstable performance instance types should be included,excluded, orrequired. Default isexcluded.
- cpuManufacturers List<String>
- List of CPU manufacturer names. Default is any manufacturer. - NOTE: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. - Valid names: * amazon-web-services * amd * intel
- excludedInstance List<String>Types 
- List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: - m5.8xlarge,- c5*.*,- m5a.*,- r*,- *3*. For example, if you specify- c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify- m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.- NOTE: If you specify - excluded_instance_types, you can't specify- allowed_instance_types.
- instanceGenerations List<String>
- List of instance generation names. Default is any generation.Valid names: * current - Recommended for best performance. * previous - For existing applications optimized for older instance types.
- localStorage String
- Indicate whether instance types with local storage volumes are included,excluded, orrequired. Default isincluded.
- localStorage List<String>Types 
- List of local storage type names. Default any storage type.Value names: * hdd - hard disk drive * ssd - solid state drive
- maxSpot NumberPrice As Percentage Of Optimal On Demand Price 
- The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Conflicts with spot_max_price_percentage_over_lowest_price
- memoryGib Property MapPer Vcpu 
- Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
- memoryMib Property Map
- Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
- networkBandwidth Property MapGbps 
- Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
- networkInterface Property MapCount 
- Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
- onDemand NumberMax Price Percentage Over Lowest Price 
- Price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20. - If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. 
- requireHibernate BooleanSupport 
- Indicate whether instance types must support On-Demand Instance Hibernation, either trueorfalse. Default isfalse.
- spotMax NumberPrice Percentage Over Lowest Price 
- Price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100. Conflicts with - max_spot_price_as_percentage_of_optimal_on_demand_price- If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. 
- totalLocal Property MapStorage Gb 
- Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
- vcpuCount Property Map
- Block describing the minimum and maximum number of vCPUs. Default is no maximum.
GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCount, GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorCountArgs                      
GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMib, GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs                          
GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsBaselineEbsBandwidthMbps, GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs                          
GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryGibPerVcpu, GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryGibPerVcpuArgs                          
GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMib, GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsMemoryMibArgs                      
GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkBandwidthGbps, GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkBandwidthGbpsArgs                        
GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkInterfaceCount, GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsNetworkInterfaceCountArgs                        
GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsTotalLocalStorageGb, GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsTotalLocalStorageGbArgs                          
GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCount, GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsVcpuCountArgs                      
GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecification, GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs                    
- LaunchTemplate stringId 
- ID of the launch template. Conflicts with launch_template_name.
- LaunchTemplate stringName 
- Name of the launch template. Conflicts with launch_template_id.
- Version string
- LaunchTemplate stringId 
- ID of the launch template. Conflicts with launch_template_name.
- LaunchTemplate stringName 
- Name of the launch template. Conflicts with launch_template_id.
- Version string
- launchTemplate StringId 
- ID of the launch template. Conflicts with launch_template_name.
- launchTemplate StringName 
- Name of the launch template. Conflicts with launch_template_id.
- version String
- launchTemplate stringId 
- ID of the launch template. Conflicts with launch_template_name.
- launchTemplate stringName 
- Name of the launch template. Conflicts with launch_template_id.
- version string
- launch_template_ strid 
- ID of the launch template. Conflicts with launch_template_name.
- launch_template_ strname 
- Name of the launch template. Conflicts with launch_template_id.
- version str
- launchTemplate StringId 
- ID of the launch template. Conflicts with launch_template_name.
- launchTemplate StringName 
- Name of the launch template. Conflicts with launch_template_id.
- version String
GroupTag, GroupTagArgs    
- Key string
- Key
- PropagateAt boolLaunch 
- Enables propagation of the tag to Amazon EC2 instances launched via this ASG - To declare multiple tags, additional - tagblocks can be specified.- NOTE: Other AWS APIs may automatically add special tags to their associated Auto Scaling Group for management purposes, such as ECS Capacity Providers adding the - AmazonECSManagedtag. These generally should be included in the configuration so the provider does not attempt to remove them and so if the- min_sizewas greater than zero on creation, that these tag(s) are applied to any initial EC2 Instances in the Auto Scaling Group. If these tag(s) were missing in the Auto Scaling Group configuration on creation, affected EC2 Instances missing the tags may require manual intervention of adding the tags to ensure they work properly with the other AWS service.
- Value string
- Value
- Key string
- Key
- PropagateAt boolLaunch 
- Enables propagation of the tag to Amazon EC2 instances launched via this ASG - To declare multiple tags, additional - tagblocks can be specified.- NOTE: Other AWS APIs may automatically add special tags to their associated Auto Scaling Group for management purposes, such as ECS Capacity Providers adding the - AmazonECSManagedtag. These generally should be included in the configuration so the provider does not attempt to remove them and so if the- min_sizewas greater than zero on creation, that these tag(s) are applied to any initial EC2 Instances in the Auto Scaling Group. If these tag(s) were missing in the Auto Scaling Group configuration on creation, affected EC2 Instances missing the tags may require manual intervention of adding the tags to ensure they work properly with the other AWS service.
- Value string
- Value
- key String
- Key
- propagateAt BooleanLaunch 
- Enables propagation of the tag to Amazon EC2 instances launched via this ASG - To declare multiple tags, additional - tagblocks can be specified.- NOTE: Other AWS APIs may automatically add special tags to their associated Auto Scaling Group for management purposes, such as ECS Capacity Providers adding the - AmazonECSManagedtag. These generally should be included in the configuration so the provider does not attempt to remove them and so if the- min_sizewas greater than zero on creation, that these tag(s) are applied to any initial EC2 Instances in the Auto Scaling Group. If these tag(s) were missing in the Auto Scaling Group configuration on creation, affected EC2 Instances missing the tags may require manual intervention of adding the tags to ensure they work properly with the other AWS service.
- value String
- Value
- key string
- Key
- propagateAt booleanLaunch 
- Enables propagation of the tag to Amazon EC2 instances launched via this ASG - To declare multiple tags, additional - tagblocks can be specified.- NOTE: Other AWS APIs may automatically add special tags to their associated Auto Scaling Group for management purposes, such as ECS Capacity Providers adding the - AmazonECSManagedtag. These generally should be included in the configuration so the provider does not attempt to remove them and so if the- min_sizewas greater than zero on creation, that these tag(s) are applied to any initial EC2 Instances in the Auto Scaling Group. If these tag(s) were missing in the Auto Scaling Group configuration on creation, affected EC2 Instances missing the tags may require manual intervention of adding the tags to ensure they work properly with the other AWS service.
- value string
- Value
- key str
- Key
- propagate_at_ boollaunch 
- Enables propagation of the tag to Amazon EC2 instances launched via this ASG - To declare multiple tags, additional - tagblocks can be specified.- NOTE: Other AWS APIs may automatically add special tags to their associated Auto Scaling Group for management purposes, such as ECS Capacity Providers adding the - AmazonECSManagedtag. These generally should be included in the configuration so the provider does not attempt to remove them and so if the- min_sizewas greater than zero on creation, that these tag(s) are applied to any initial EC2 Instances in the Auto Scaling Group. If these tag(s) were missing in the Auto Scaling Group configuration on creation, affected EC2 Instances missing the tags may require manual intervention of adding the tags to ensure they work properly with the other AWS service.
- value str
- Value
- key String
- Key
- propagateAt BooleanLaunch 
- Enables propagation of the tag to Amazon EC2 instances launched via this ASG - To declare multiple tags, additional - tagblocks can be specified.- NOTE: Other AWS APIs may automatically add special tags to their associated Auto Scaling Group for management purposes, such as ECS Capacity Providers adding the - AmazonECSManagedtag. These generally should be included in the configuration so the provider does not attempt to remove them and so if the- min_sizewas greater than zero on creation, that these tag(s) are applied to any initial EC2 Instances in the Auto Scaling Group. If these tag(s) were missing in the Auto Scaling Group configuration on creation, affected EC2 Instances missing the tags may require manual intervention of adding the tags to ensure they work properly with the other AWS service.
- value String
- Value
GroupTrafficSource, GroupTrafficSourceArgs      
- Identifier string
- Identifies the traffic source. For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region.
- Type string
- Provides additional context for the value of Identifier.
The following lists the valid values:
elbifidentifieris the name of a Classic Load Balancer.elbv2ifidentifieris the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.vpc-latticeifidentifieris the ARN of a VPC Lattice target group.
- Identifier string
- Identifies the traffic source. For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region.
- Type string
- Provides additional context for the value of Identifier.
The following lists the valid values:
elbifidentifieris the name of a Classic Load Balancer.elbv2ifidentifieris the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.vpc-latticeifidentifieris the ARN of a VPC Lattice target group.
- identifier String
- Identifies the traffic source. For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region.
- type String
- Provides additional context for the value of Identifier.
The following lists the valid values:
elbifidentifieris the name of a Classic Load Balancer.elbv2ifidentifieris the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.vpc-latticeifidentifieris the ARN of a VPC Lattice target group.
- identifier string
- Identifies the traffic source. For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region.
- type string
- Provides additional context for the value of Identifier.
The following lists the valid values:
elbifidentifieris the name of a Classic Load Balancer.elbv2ifidentifieris the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.vpc-latticeifidentifieris the ARN of a VPC Lattice target group.
- identifier str
- Identifies the traffic source. For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region.
- type str
- Provides additional context for the value of Identifier.
The following lists the valid values:
elbifidentifieris the name of a Classic Load Balancer.elbv2ifidentifieris the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.vpc-latticeifidentifieris the ARN of a VPC Lattice target group.
- identifier String
- Identifies the traffic source. For Application Load Balancers, Gateway Load Balancers, Network Load Balancers, and VPC Lattice, this will be the Amazon Resource Name (ARN) for a target group in this account and Region. For Classic Load Balancers, this will be the name of the Classic Load Balancer in this account and Region.
- type String
- Provides additional context for the value of Identifier.
The following lists the valid values:
elbifidentifieris the name of a Classic Load Balancer.elbv2ifidentifieris the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.vpc-latticeifidentifieris the ARN of a VPC Lattice target group.
GroupWarmPool, GroupWarmPoolArgs      
- InstanceReuse GroupPolicy Warm Pool Instance Reuse Policy 
- Whether instances in the Auto Scaling group can be returned to the warm pool on scale in. The default is to terminate instances in the Auto Scaling group when the group scales in.
- MaxGroup intPrepared Capacity 
- Total maximum number of instances that are allowed to be in the warm pool or in any state except Terminated for the Auto Scaling group.
- MinSize int
- Minimum number of instances to maintain in the warm pool. This helps you to ensure that there is always a certain number of warmed instances available to handle traffic spikes. Defaults to 0 if not specified.
- PoolState string
- Sets the instance state to transition to after the lifecycle hooks finish. Valid values are: Stopped (default), Running or Hibernated.
- InstanceReuse GroupPolicy Warm Pool Instance Reuse Policy 
- Whether instances in the Auto Scaling group can be returned to the warm pool on scale in. The default is to terminate instances in the Auto Scaling group when the group scales in.
- MaxGroup intPrepared Capacity 
- Total maximum number of instances that are allowed to be in the warm pool or in any state except Terminated for the Auto Scaling group.
- MinSize int
- Minimum number of instances to maintain in the warm pool. This helps you to ensure that there is always a certain number of warmed instances available to handle traffic spikes. Defaults to 0 if not specified.
- PoolState string
- Sets the instance state to transition to after the lifecycle hooks finish. Valid values are: Stopped (default), Running or Hibernated.
- instanceReuse GroupPolicy Warm Pool Instance Reuse Policy 
- Whether instances in the Auto Scaling group can be returned to the warm pool on scale in. The default is to terminate instances in the Auto Scaling group when the group scales in.
- maxGroup IntegerPrepared Capacity 
- Total maximum number of instances that are allowed to be in the warm pool or in any state except Terminated for the Auto Scaling group.
- minSize Integer
- Minimum number of instances to maintain in the warm pool. This helps you to ensure that there is always a certain number of warmed instances available to handle traffic spikes. Defaults to 0 if not specified.
- poolState String
- Sets the instance state to transition to after the lifecycle hooks finish. Valid values are: Stopped (default), Running or Hibernated.
- instanceReuse GroupPolicy Warm Pool Instance Reuse Policy 
- Whether instances in the Auto Scaling group can be returned to the warm pool on scale in. The default is to terminate instances in the Auto Scaling group when the group scales in.
- maxGroup numberPrepared Capacity 
- Total maximum number of instances that are allowed to be in the warm pool or in any state except Terminated for the Auto Scaling group.
- minSize number
- Minimum number of instances to maintain in the warm pool. This helps you to ensure that there is always a certain number of warmed instances available to handle traffic spikes. Defaults to 0 if not specified.
- poolState string
- Sets the instance state to transition to after the lifecycle hooks finish. Valid values are: Stopped (default), Running or Hibernated.
- instance_reuse_ Grouppolicy Warm Pool Instance Reuse Policy 
- Whether instances in the Auto Scaling group can be returned to the warm pool on scale in. The default is to terminate instances in the Auto Scaling group when the group scales in.
- max_group_ intprepared_ capacity 
- Total maximum number of instances that are allowed to be in the warm pool or in any state except Terminated for the Auto Scaling group.
- min_size int
- Minimum number of instances to maintain in the warm pool. This helps you to ensure that there is always a certain number of warmed instances available to handle traffic spikes. Defaults to 0 if not specified.
- pool_state str
- Sets the instance state to transition to after the lifecycle hooks finish. Valid values are: Stopped (default), Running or Hibernated.
- instanceReuse Property MapPolicy 
- Whether instances in the Auto Scaling group can be returned to the warm pool on scale in. The default is to terminate instances in the Auto Scaling group when the group scales in.
- maxGroup NumberPrepared Capacity 
- Total maximum number of instances that are allowed to be in the warm pool or in any state except Terminated for the Auto Scaling group.
- minSize Number
- Minimum number of instances to maintain in the warm pool. This helps you to ensure that there is always a certain number of warmed instances available to handle traffic spikes. Defaults to 0 if not specified.
- poolState String
- Sets the instance state to transition to after the lifecycle hooks finish. Valid values are: Stopped (default), Running or Hibernated.
GroupWarmPoolInstanceReusePolicy, GroupWarmPoolInstanceReusePolicyArgs            
- ReuseOn boolScale In 
- Whether instances in the Auto Scaling group can be returned to the warm pool on scale in.
- ReuseOn boolScale In 
- Whether instances in the Auto Scaling group can be returned to the warm pool on scale in.
- reuseOn BooleanScale In 
- Whether instances in the Auto Scaling group can be returned to the warm pool on scale in.
- reuseOn booleanScale In 
- Whether instances in the Auto Scaling group can be returned to the warm pool on scale in.
- reuse_on_ boolscale_ in 
- Whether instances in the Auto Scaling group can be returned to the warm pool on scale in.
- reuseOn BooleanScale In 
- Whether instances in the Auto Scaling group can be returned to the warm pool on scale in.
MetricsGranularity, MetricsGranularityArgs    
- OneMinute 
- 1Minute
- MetricsGranularity One Minute 
- 1Minute
- OneMinute 
- 1Minute
- OneMinute 
- 1Minute
- ONE_MINUTE
- 1Minute
- "1Minute"
- 1Minute
Import
Using pulumi import, import Auto Scaling Groups using the name. For example:
$ pulumi import aws:autoscaling/group:Group web web-asg
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- AWS Classic pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the awsTerraform Provider.