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_arns
andtraffic_source
attributes. Do not use the same traffic source in more than one of these resources. Doing so will cause a conflict of attachments. Alifecycle
configuration 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,
load_balancers: Optional[Sequence[str]] = None,
wait_for_elb_capacity: Optional[int] = None,
default_instance_warmup: Optional[int] = None,
context: Optional[str] = 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,
availability_zones: Optional[Sequence[str]] = None,
max_instance_lifetime: Optional[int] = None,
desired_capacity: Optional[int] = None,
default_cooldown: Optional[int] = None,
capacity_rebalance: Optional[bool] = None,
min_elb_capacity: Optional[int] = None,
mixed_instances_policy: Optional[GroupMixedInstancesPolicyArgs] = None,
name: Optional[str] = None,
name_prefix: Optional[str] = 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,
metrics_granularity: Optional[Union[str, MetricsGranularity]] = 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,
LoadBalancers = new[]
{
"string",
},
WaitForElbCapacity = 0,
DefaultInstanceWarmup = 0,
Context = "string",
DesiredCapacityType = "string",
EnabledMetrics = new[]
{
"string",
},
ForceDelete = false,
ForceDeleteWarmPool = false,
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",
},
AvailabilityZones = new[]
{
"string",
},
MaxInstanceLifetime = 0,
DesiredCapacity = 0,
DefaultCooldown = 0,
CapacityRebalance = false,
MinElbCapacity = 0,
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",
NamePrefix = "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",
MetricsGranularity = "string",
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),
LoadBalancers: pulumi.StringArray{
pulumi.String("string"),
},
WaitForElbCapacity: pulumi.Int(0),
DefaultInstanceWarmup: pulumi.Int(0),
Context: pulumi.String("string"),
DesiredCapacityType: pulumi.String("string"),
EnabledMetrics: pulumi.StringArray{
pulumi.String("string"),
},
ForceDelete: pulumi.Bool(false),
ForceDeleteWarmPool: pulumi.Bool(false),
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"),
},
AvailabilityZones: pulumi.StringArray{
pulumi.String("string"),
},
MaxInstanceLifetime: pulumi.Int(0),
DesiredCapacity: pulumi.Int(0),
DefaultCooldown: pulumi.Int(0),
CapacityRebalance: pulumi.Bool(false),
MinElbCapacity: pulumi.Int(0),
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"),
NamePrefix: 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"),
MetricsGranularity: pulumi.String("string"),
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)
.loadBalancers("string")
.waitForElbCapacity(0)
.defaultInstanceWarmup(0)
.context("string")
.desiredCapacityType("string")
.enabledMetrics("string")
.forceDelete(false)
.forceDeleteWarmPool(false)
.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())
.availabilityZones("string")
.maxInstanceLifetime(0)
.desiredCapacity(0)
.defaultCooldown(0)
.capacityRebalance(false)
.minElbCapacity(0)
.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")
.namePrefix("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")
.metricsGranularity("string")
.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,
load_balancers=["string"],
wait_for_elb_capacity=0,
default_instance_warmup=0,
context="string",
desired_capacity_type="string",
enabled_metrics=["string"],
force_delete=False,
force_delete_warm_pool=False,
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",
},
availability_zones=["string"],
max_instance_lifetime=0,
desired_capacity=0,
default_cooldown=0,
capacity_rebalance=False,
min_elb_capacity=0,
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",
name_prefix="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",
metrics_granularity="string",
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,
loadBalancers: ["string"],
waitForElbCapacity: 0,
defaultInstanceWarmup: 0,
context: "string",
desiredCapacityType: "string",
enabledMetrics: ["string"],
forceDelete: false,
forceDeleteWarmPool: false,
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",
},
availabilityZones: ["string"],
maxInstanceLifetime: 0,
desiredCapacity: 0,
defaultCooldown: 0,
capacityRebalance: false,
minElbCapacity: 0,
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",
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",
metricsGranularity: "string",
warmPool: {
instanceReusePolicy: {
reuseOnScaleIn: false,
},
maxGroupPreparedCapacity: 0,
minSize: 0,
poolState: "string",
},
});
type: aws:autoscaling:Group
properties:
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:
- 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
Zones 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_identifier
attribute, 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 string
- 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 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"
. - Enabled
Metrics List<string> - 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 stringType - "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 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.LifecycleHook
resource, without theautoscaling_group_name
attribute. Please note that this will only work when creating a new Auto Scaling Group. For all other use-cases, please useaws.autoscaling.LifecycleHook
resource. - Instance
Maintenance GroupPolicy Instance Maintenance Policy - If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below.
- Instance
Refresh GroupInstance Refresh - If this block is configured, start an Instance Refresh when this Auto Scaling Group is updated. Defined below.
- Launch
Configuration string | string - Name of the launch configuration to use.
- Launch
Template GroupLaunch Template - Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details.
- Load
Balancers 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_arns
instead. 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 string | Pulumi.Aws. Auto Scaling. Metrics Granularity - 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 - 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
. - Name
Prefix string - Creates a unique name beginning with the specified
prefix. Conflicts with
name
. - Placement
Group string | string - 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 stringRole Arn - ARN of the service-linked role that the ASG will use to call other AWS services
- Suspended
Processes 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 theLaunch
orTerminate
process types, it can prevent your Auto Scaling Group from functioning properly. - List<Group
Tag> - Configuration block(s) containing resource tags. See Tag below for more details.
- Target
Group List<string>Arns - Set of
aws.alb.TargetGroup
ARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified. - Termination
Policies 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. - Traffic
Sources List<GroupTraffic Source> - Attaches one or more traffic sources to the specified Auto Scaling group.
- Vpc
Zone 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
. - Wait
For 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.
- 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_capacity
behavior.) (See also Waiting for Capacity below.) - Warm
Pool 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
Zones []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_identifier
attribute, 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 string
- 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 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"
. - Enabled
Metrics []string - 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 stringType - "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 []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.LifecycleHook
resource, without theautoscaling_group_name
attribute. Please note that this will only work when creating a new Auto Scaling Group. For all other use-cases, please useaws.autoscaling.LifecycleHook
resource. - 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 string | string - 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 []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_arns
instead. 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 string | 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 string
- Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with
name_prefix
. - Name
Prefix string - Creates a unique name beginning with the specified
prefix. Conflicts with
name
. - Placement
Group string | string - 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 stringRole Arn - ARN of the service-linked role that the ASG will use to call other AWS services
- Suspended
Processes []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 theLaunch
orTerminate
process types, it can prevent your Auto Scaling Group from functioning properly. - []Group
Tag Args - Configuration block(s) containing resource tags. See Tag below for more details.
- Target
Group []stringArns - Set of
aws.alb.TargetGroup
ARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified. - Termination
Policies []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. - Traffic
Sources []GroupTraffic Source Args - Attaches one or more traffic sources to the specified Auto Scaling group.
- Vpc
Zone []stringIdentifiers - List of subnet IDs to launch resources in. Subnets automatically determine which availability zones the group will reside. Conflicts with
availability_zones
. - Wait
For 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.
- 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_capacity
behavior.) (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
- max
Size Integer - Maximum size of the Auto Scaling Group.
- min
Size Integer - Minimum size of the Auto Scaling Group. (See also Waiting for Capacity below.)
- availability
Zones 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_identifier
attribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts withvpc_zone_identifier
. - capacity
Rebalance Boolean - Whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled.
- context String
- Reserved.
- default
Cooldown Integer - Amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
- default
Instance 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)
- desired
Capacity Integer - Number of Amazon EC2 instances that should be running in the group. (See also Waiting for Capacity below.)
- desired
Capacity 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"
. - enabled
Metrics List<String> - List of metrics to collect. The allowed values are defined by the underlying AWS API.
- force
Delete 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.
- force
Delete BooleanWarm Pool - Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate.
- health
Check IntegerGrace Period - Time (in seconds) after instance comes into service before checking health.
- health
Check StringType - "EC2" or "ELB". Controls how health checking is done.
- ignore
Failed 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. - initial
Lifecycle 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.LifecycleHook
resource, without theautoscaling_group_name
attribute. Please note that this will only work when creating a new Auto Scaling Group. For all other use-cases, please useaws.autoscaling.LifecycleHook
resource. - instance
Maintenance GroupPolicy Instance Maintenance Policy - If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below.
- instance
Refresh GroupInstance Refresh - If this block is configured, start an Instance Refresh when this Auto Scaling Group is updated. Defined below.
- launch
Configuration String | String - Name of the launch configuration to use.
- launch
Template GroupLaunch Template - Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details.
- load
Balancers 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_arns
instead. To remove all load balancer attachments an empty list should be specified. - max
Instance 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.
- metrics
Granularity String | MetricsGranularity - Granularity to associate with the metrics to collect. The only valid value is
1Minute
. Default is1Minute
. - min
Elb 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.)
- mixed
Instances 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
. - name
Prefix String - Creates a unique name beginning with the specified
prefix. Conflicts with
name
. - placement
Group String | String - Name of the placement group into which you'll launch your instances, if any.
- protect
From 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.
- service
Linked StringRole Arn - ARN of the service-linked role that the ASG will use to call other AWS services
- suspended
Processes 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 theLaunch
orTerminate
process types, it can prevent your Auto Scaling Group from functioning properly. - List<Group
Tag> - Configuration block(s) containing resource tags. See Tag below for more details.
- target
Group List<String>Arns - Set of
aws.alb.TargetGroup
ARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified. - termination
Policies 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. - traffic
Sources List<GroupTraffic Source> - Attaches one or more traffic sources to the specified Auto Scaling group.
- vpc
Zone 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
. - wait
For 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.
- wait
For 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_capacity
behavior.) (See also Waiting for Capacity below.) - warm
Pool GroupWarm Pool - If this block is configured, add a Warm Pool to the specified Auto Scaling group. Defined below
- max
Size number - Maximum size of the Auto Scaling Group.
- min
Size number - Minimum size of the Auto Scaling Group. (See also Waiting for Capacity below.)
- availability
Zones 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_identifier
attribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts withvpc_zone_identifier
. - capacity
Rebalance boolean - Whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled.
- context string
- Reserved.
- default
Cooldown number - Amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
- default
Instance 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)
- desired
Capacity number - Number of Amazon EC2 instances that should be running in the group. (See also Waiting for Capacity below.)
- desired
Capacity 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"
. - enabled
Metrics Metric[] - List of metrics to collect. The allowed values are defined by the underlying AWS API.
- force
Delete 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.
- force
Delete booleanWarm Pool - Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate.
- health
Check numberGrace Period - Time (in seconds) after instance comes into service before checking health.
- health
Check stringType - "EC2" or "ELB". Controls how health checking is done.
- ignore
Failed 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. - initial
Lifecycle 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.LifecycleHook
resource, without theautoscaling_group_name
attribute. Please note that this will only work when creating a new Auto Scaling Group. For all other use-cases, please useaws.autoscaling.LifecycleHook
resource. - instance
Maintenance GroupPolicy Instance Maintenance Policy - If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below.
- instance
Refresh GroupInstance Refresh - If this block is configured, start an Instance Refresh when this Auto Scaling Group is updated. Defined below.
- launch
Configuration string | LaunchConfiguration - Name of the launch configuration to use.
- launch
Template GroupLaunch Template - Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details.
- load
Balancers 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_arns
instead. To remove all load balancer attachments an empty list should be specified. - max
Instance 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.
- metrics
Granularity string | MetricsGranularity - Granularity to associate with the metrics to collect. The only valid value is
1Minute
. Default is1Minute
. - min
Elb 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.)
- mixed
Instances 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
. - name
Prefix string - Creates a unique name beginning with the specified
prefix. Conflicts with
name
. - placement
Group string | PlacementGroup - Name of the placement group into which you'll launch your instances, if any.
- protect
From 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.
- service
Linked stringRole Arn - ARN of the service-linked role that the ASG will use to call other AWS services
- suspended
Processes 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 theLaunch
orTerminate
process types, it can prevent your Auto Scaling Group from functioning properly. - Group
Tag[] - Configuration block(s) containing resource tags. See Tag below for more details.
- target
Group string[]Arns - Set of
aws.alb.TargetGroup
ARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified. - termination
Policies 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. - traffic
Sources GroupTraffic Source[] - Attaches one or more traffic sources to the specified Auto Scaling group.
- vpc
Zone string[]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 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.
- wait
For 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_capacity
behavior.) (See also Waiting for Capacity below.) - warm
Pool 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_
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_identifier
attribute, 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.LifecycleHook
resource, without theautoscaling_group_name
attribute. Please note that this will only work when creating a new Auto Scaling Group. For all other use-cases, please useaws.autoscaling.LifecycleHook
resource. - 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_arns
instead. 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 theLaunch
orTerminate
process types, it can prevent your Auto Scaling Group from functioning properly. - Sequence[Group
Tag Args] - Configuration block(s) containing resource tags. See Tag below for more details.
- target_
group_ Sequence[str]arns - Set of
aws.alb.TargetGroup
ARNs, 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_capacity
behavior.) (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
- max
Size Number - Maximum size of the Auto Scaling Group.
- min
Size Number - Minimum size of the Auto Scaling Group. (See also Waiting for Capacity below.)
- availability
Zones 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_identifier
attribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts withvpc_zone_identifier
. - capacity
Rebalance Boolean - Whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled.
- context String
- Reserved.
- default
Cooldown Number - Amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
- default
Instance 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)
- desired
Capacity Number - Number of Amazon EC2 instances that should be running in the group. (See also Waiting for Capacity below.)
- desired
Capacity 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"
. - enabled
Metrics List<> - List of metrics to collect. The allowed values are defined by the underlying AWS API.
- force
Delete 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.
- force
Delete BooleanWarm Pool - Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate.
- health
Check NumberGrace Period - Time (in seconds) after instance comes into service before checking health.
- health
Check StringType - "EC2" or "ELB". Controls how health checking is done.
- ignore
Failed 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. - initial
Lifecycle 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.LifecycleHook
resource, without theautoscaling_group_name
attribute. Please note that this will only work when creating a new Auto Scaling Group. For all other use-cases, please useaws.autoscaling.LifecycleHook
resource. - instance
Maintenance Property MapPolicy - If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below.
- instance
Refresh Property Map - If this block is configured, start an Instance Refresh when this Auto Scaling Group is updated. Defined below.
- launch
Configuration String | - Name of the launch configuration to use.
- launch
Template Property Map - Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details.
- load
Balancers 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_arns
instead. To remove all load balancer attachments an empty list should be specified. - max
Instance 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.
- metrics
Granularity String | "1Minute" - Granularity to associate with the metrics to collect. The only valid value is
1Minute
. Default is1Minute
. - min
Elb 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.)
- mixed
Instances 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
. - name
Prefix String - Creates a unique name beginning with the specified
prefix. Conflicts with
name
. - placement
Group String | - Name of the placement group into which you'll launch your instances, if any.
- protect
From 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.
- service
Linked StringRole Arn - ARN of the service-linked role that the ASG will use to call other AWS services
- suspended
Processes 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 theLaunch
orTerminate
process 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.
- target
Group List<String>Arns - Set of
aws.alb.TargetGroup
ARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified. - termination
Policies 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. - traffic
Sources List<Property Map> - Attaches one or more traffic sources to the specified Auto Scaling group.
- vpc
Zone 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
. - wait
For 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.
- wait
For 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_capacity
behavior.) (See also Waiting for Capacity below.) - warm
Pool 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.
- 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.
- 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.
- predicted
Capacity Integer - Predicted capacity of the group.
- warm
Pool 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.
- predicted
Capacity number - Predicted capacity of the group.
- warm
Pool 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.
- predicted
Capacity Number - Predicted capacity of the group.
- warm
Pool 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_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) -> Group
func 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)
Resource lookup is not supported in YAML
- 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
- Availability
Zones 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_identifier
attribute, 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 string
- 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 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"
. - Enabled
Metrics List<string> - 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 stringType - "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 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.LifecycleHook
resource, without theautoscaling_group_name
attribute. Please note that this will only work when creating a new Auto Scaling Group. For all other use-cases, please useaws.autoscaling.LifecycleHook
resource. - Instance
Maintenance GroupPolicy Instance Maintenance Policy - If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below.
- Instance
Refresh GroupInstance Refresh - If this block is configured, start an Instance Refresh when this Auto Scaling Group is updated. Defined below.
- Launch
Configuration string | string - Name of the launch configuration to use.
- Launch
Template GroupLaunch Template - Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details.
- Load
Balancers 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_arns
instead. 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 string | Pulumi.Aws. Auto Scaling. Metrics Granularity - 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 - 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
. - Name
Prefix string - Creates a unique name beginning with the specified
prefix. Conflicts with
name
. - Placement
Group string | string - 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 stringRole Arn - ARN of the service-linked role that the ASG will use to call other AWS services
- Suspended
Processes 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 theLaunch
orTerminate
process types, it can prevent your Auto Scaling Group from functioning properly. - List<Group
Tag> - Configuration block(s) containing resource tags. See Tag below for more details.
- Target
Group List<string>Arns - Set of
aws.alb.TargetGroup
ARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified. - Termination
Policies 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. - Traffic
Sources List<GroupTraffic Source> - Attaches one or more traffic sources to the specified Auto Scaling group.
- Vpc
Zone 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
. - Wait
For 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.
- 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_capacity
behavior.) (See also Waiting for Capacity below.) - Warm
Pool GroupWarm Pool - 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
- Availability
Zones []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_identifier
attribute, 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 string
- 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 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"
. - Enabled
Metrics []string - 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 stringType - "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 []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.LifecycleHook
resource, without theautoscaling_group_name
attribute. Please note that this will only work when creating a new Auto Scaling Group. For all other use-cases, please useaws.autoscaling.LifecycleHook
resource. - 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 string | string - 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 []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_arns
instead. 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 string | 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 string
- Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with
name_prefix
. - Name
Prefix string - Creates a unique name beginning with the specified
prefix. Conflicts with
name
. - Placement
Group string | string - 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 stringRole Arn - ARN of the service-linked role that the ASG will use to call other AWS services
- Suspended
Processes []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 theLaunch
orTerminate
process types, it can prevent your Auto Scaling Group from functioning properly. - []Group
Tag Args - Configuration block(s) containing resource tags. See Tag below for more details.
- Target
Group []stringArns - Set of
aws.alb.TargetGroup
ARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified. - Termination
Policies []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. - Traffic
Sources []GroupTraffic Source Args - Attaches one or more traffic sources to the specified Auto Scaling group.
- Vpc
Zone []stringIdentifiers - List of subnet IDs to launch resources in. Subnets automatically determine which availability zones the group will reside. Conflicts with
availability_zones
. - Wait
For 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.
- 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_capacity
behavior.) (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
- availability
Zones 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_identifier
attribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts withvpc_zone_identifier
. - capacity
Rebalance Boolean - Whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled.
- context String
- Reserved.
- default
Cooldown Integer - Amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
- default
Instance 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)
- desired
Capacity Integer - Number of Amazon EC2 instances that should be running in the group. (See also Waiting for Capacity below.)
- desired
Capacity 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"
. - enabled
Metrics List<String> - List of metrics to collect. The allowed values are defined by the underlying AWS API.
- force
Delete 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.
- force
Delete BooleanWarm Pool - Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate.
- health
Check IntegerGrace Period - Time (in seconds) after instance comes into service before checking health.
- health
Check StringType - "EC2" or "ELB". Controls how health checking is done.
- ignore
Failed 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. - initial
Lifecycle 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.LifecycleHook
resource, without theautoscaling_group_name
attribute. Please note that this will only work when creating a new Auto Scaling Group. For all other use-cases, please useaws.autoscaling.LifecycleHook
resource. - instance
Maintenance GroupPolicy Instance Maintenance Policy - If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below.
- instance
Refresh GroupInstance Refresh - If this block is configured, start an Instance Refresh when this Auto Scaling Group is updated. Defined below.
- launch
Configuration String | String - Name of the launch configuration to use.
- launch
Template GroupLaunch Template - Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details.
- load
Balancers 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_arns
instead. To remove all load balancer attachments an empty list should be specified. - max
Instance 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.
- max
Size Integer - Maximum size of the Auto Scaling Group.
- metrics
Granularity String | MetricsGranularity - Granularity to associate with the metrics to collect. The only valid value is
1Minute
. Default is1Minute
. - min
Elb 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.)
- min
Size Integer - Minimum size of the Auto Scaling Group. (See also Waiting for Capacity below.)
- mixed
Instances 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
. - name
Prefix String - Creates a unique name beginning with the specified
prefix. Conflicts with
name
. - placement
Group String | String - Name of the placement group into which you'll launch your instances, if any.
- predicted
Capacity Integer - Predicted capacity of the group.
- protect
From 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.
- service
Linked StringRole Arn - ARN of the service-linked role that the ASG will use to call other AWS services
- suspended
Processes 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 theLaunch
orTerminate
process types, it can prevent your Auto Scaling Group from functioning properly. - List<Group
Tag> - Configuration block(s) containing resource tags. See Tag below for more details.
- target
Group List<String>Arns - Set of
aws.alb.TargetGroup
ARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified. - termination
Policies 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. - traffic
Sources List<GroupTraffic Source> - Attaches one or more traffic sources to the specified Auto Scaling group.
- vpc
Zone 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
. - wait
For 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.
- wait
For 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_capacity
behavior.) (See also Waiting for Capacity below.) - warm
Pool GroupWarm Pool - If this block is configured, add a Warm Pool to the specified Auto Scaling group. Defined below
- warm
Pool IntegerSize - Current size of the warm pool.
- arn string
- ARN for this Auto Scaling Group
- availability
Zones 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_identifier
attribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts withvpc_zone_identifier
. - capacity
Rebalance boolean - Whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled.
- context string
- Reserved.
- default
Cooldown number - Amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
- default
Instance 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)
- desired
Capacity number - Number of Amazon EC2 instances that should be running in the group. (See also Waiting for Capacity below.)
- desired
Capacity 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"
. - enabled
Metrics Metric[] - List of metrics to collect. The allowed values are defined by the underlying AWS API.
- force
Delete 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.
- force
Delete booleanWarm Pool - Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate.
- health
Check numberGrace Period - Time (in seconds) after instance comes into service before checking health.
- health
Check stringType - "EC2" or "ELB". Controls how health checking is done.
- ignore
Failed 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. - initial
Lifecycle 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.LifecycleHook
resource, without theautoscaling_group_name
attribute. Please note that this will only work when creating a new Auto Scaling Group. For all other use-cases, please useaws.autoscaling.LifecycleHook
resource. - instance
Maintenance GroupPolicy Instance Maintenance Policy - If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below.
- instance
Refresh GroupInstance Refresh - If this block is configured, start an Instance Refresh when this Auto Scaling Group is updated. Defined below.
- launch
Configuration string | LaunchConfiguration - Name of the launch configuration to use.
- launch
Template GroupLaunch Template - Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details.
- load
Balancers 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_arns
instead. To remove all load balancer attachments an empty list should be specified. - max
Instance 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.
- max
Size number - Maximum size of the Auto Scaling Group.
- metrics
Granularity string | MetricsGranularity - Granularity to associate with the metrics to collect. The only valid value is
1Minute
. Default is1Minute
. - min
Elb 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.)
- min
Size number - Minimum size of the Auto Scaling Group. (See also Waiting for Capacity below.)
- mixed
Instances 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
. - name
Prefix string - Creates a unique name beginning with the specified
prefix. Conflicts with
name
. - placement
Group string | PlacementGroup - Name of the placement group into which you'll launch your instances, if any.
- predicted
Capacity number - Predicted capacity of the group.
- protect
From 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.
- service
Linked stringRole Arn - ARN of the service-linked role that the ASG will use to call other AWS services
- suspended
Processes 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 theLaunch
orTerminate
process types, it can prevent your Auto Scaling Group from functioning properly. - Group
Tag[] - Configuration block(s) containing resource tags. See Tag below for more details.
- target
Group string[]Arns - Set of
aws.alb.TargetGroup
ARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified. - termination
Policies 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. - traffic
Sources GroupTraffic Source[] - Attaches one or more traffic sources to the specified Auto Scaling group.
- vpc
Zone string[]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 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.
- wait
For 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_capacity
behavior.) (See also Waiting for Capacity below.) - warm
Pool GroupWarm Pool - If this block is configured, add a Warm Pool to the specified Auto Scaling group. Defined below
- warm
Pool numberSize - Current size of the warm pool.
- arn str
- ARN for this Auto Scaling Group
- 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_identifier
attribute, 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.LifecycleHook
resource, without theautoscaling_group_name
attribute. Please note that this will only work when creating a new Auto Scaling Group. For all other use-cases, please useaws.autoscaling.LifecycleHook
resource. - 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_arns
instead. 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 theLaunch
orTerminate
process types, it can prevent your Auto Scaling Group from functioning properly. - Sequence[Group
Tag Args] - Configuration block(s) containing resource tags. See Tag below for more details.
- target_
group_ Sequence[str]arns - Set of
aws.alb.TargetGroup
ARNs, 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_capacity
behavior.) (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
- availability
Zones 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_identifier
attribute, or for attaching a network interface when an existing network interface ID is specified in a launch template. Conflicts withvpc_zone_identifier
. - capacity
Rebalance Boolean - Whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled.
- context String
- Reserved.
- default
Cooldown Number - Amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
- default
Instance 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)
- desired
Capacity Number - Number of Amazon EC2 instances that should be running in the group. (See also Waiting for Capacity below.)
- desired
Capacity 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"
. - enabled
Metrics List<> - List of metrics to collect. The allowed values are defined by the underlying AWS API.
- force
Delete 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.
- force
Delete BooleanWarm Pool - Allows deleting the Auto Scaling Group without waiting for all instances in the warm pool to terminate.
- health
Check NumberGrace Period - Time (in seconds) after instance comes into service before checking health.
- health
Check StringType - "EC2" or "ELB". Controls how health checking is done.
- ignore
Failed 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. - initial
Lifecycle 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.LifecycleHook
resource, without theautoscaling_group_name
attribute. Please note that this will only work when creating a new Auto Scaling Group. For all other use-cases, please useaws.autoscaling.LifecycleHook
resource. - instance
Maintenance Property MapPolicy - If this block is configured, add a instance maintenance policy to the specified Auto Scaling group. Defined below.
- instance
Refresh Property Map - If this block is configured, start an Instance Refresh when this Auto Scaling Group is updated. Defined below.
- launch
Configuration String | - Name of the launch configuration to use.
- launch
Template Property Map - Nested argument with Launch template specification to use to launch instances. See Launch Template below for more details.
- load
Balancers 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_arns
instead. To remove all load balancer attachments an empty list should be specified. - max
Instance 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.
- max
Size Number - Maximum size of the Auto Scaling Group.
- metrics
Granularity String | "1Minute" - Granularity to associate with the metrics to collect. The only valid value is
1Minute
. Default is1Minute
. - min
Elb 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.)
- min
Size Number - Minimum size of the Auto Scaling Group. (See also Waiting for Capacity below.)
- mixed
Instances 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
. - name
Prefix String - Creates a unique name beginning with the specified
prefix. Conflicts with
name
. - placement
Group String | - Name of the placement group into which you'll launch your instances, if any.
- predicted
Capacity Number - Predicted capacity of the group.
- protect
From 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.
- service
Linked StringRole Arn - ARN of the service-linked role that the ASG will use to call other AWS services
- suspended
Processes 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 theLaunch
orTerminate
process 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.
- target
Group List<String>Arns - Set of
aws.alb.TargetGroup
ARNs, for use with Application or Network Load Balancing. To remove all target group attachments an empty list should be specified. - termination
Policies 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. - traffic
Sources List<Property Map> - Attaches one or more traffic sources to the specified Auto Scaling group.
- vpc
Zone 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
. - wait
For 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.
- wait
For 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_capacity
behavior.) (See also Waiting for Capacity below.) - warm
Pool Property Map - If this block is configured, add a Warm Pool to the specified Auto Scaling group. Defined below
- warm
Pool NumberSize - Current size of the warm pool.
Supporting Types
GroupInitialLifecycleHook, GroupInitialLifecycleHookArgs
- Lifecycle
Transition string - Name string
- Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with
name_prefix
. - Default
Result string - Heartbeat
Timeout int - Notification
Metadata string - Notification
Target stringArn - Role
Arn string
- Lifecycle
Transition string - Name string
- Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with
name_prefix
. - Default
Result string - Heartbeat
Timeout int - Notification
Metadata string - Notification
Target stringArn - Role
Arn string
- lifecycle
Transition String - name String
- Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with
name_prefix
. - default
Result String - heartbeat
Timeout Integer - notification
Metadata String - notification
Target StringArn - role
Arn String
- lifecycle
Transition string - name string
- Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with
name_prefix
. - default
Result string - heartbeat
Timeout number - notification
Metadata string - notification
Target stringArn - role
Arn 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
- lifecycle
Transition String - name String
- Name of the Auto Scaling Group. By default generated by Pulumi. Conflicts with
name_prefix
. - default
Result String - heartbeat
Timeout Number - notification
Metadata String - notification
Target StringArn - role
Arn String
GroupInstanceMaintenancePolicy, GroupInstanceMaintenancePolicyArgs
- 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.
- 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.
- max
Healthy 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.
- min
Healthy 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.
- max
Healthy 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.
- min
Healthy 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.
- max
Healthy 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.
- min
Healthy 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
Group
Instance 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
, ormixed_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 thetriggers
property ofinstance_refresh
.NOTE: A refresh will not start when
version = "$Latest"
is configured in thelaunch_template
block. To trigger the instance refresh when a launch template is changed, configureversion
to use thelatest_version
attribute of theaws.ec2.LaunchTemplate
resource.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
Group
Instance 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
, ormixed_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 thetriggers
property ofinstance_refresh
.NOTE: A refresh will not start when
version = "$Latest"
is configured in thelaunch_template
block. To trigger the instance refresh when a launch template is changed, configureversion
to use thelatest_version
attribute of theaws.ec2.LaunchTemplate
resource.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
Group
Instance 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
, ormixed_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 thetriggers
property ofinstance_refresh
.NOTE: A refresh will not start when
version = "$Latest"
is configured in thelaunch_template
block. To trigger the instance refresh when a launch template is changed, configureversion
to use thelatest_version
attribute of theaws.ec2.LaunchTemplate
resource.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
Group
Instance 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
, ormixed_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 thetriggers
property ofinstance_refresh
.NOTE: A refresh will not start when
version = "$Latest"
is configured in thelaunch_template
block. To trigger the instance refresh when a launch template is changed, configureversion
to use thelatest_version
attribute of theaws.ec2.LaunchTemplate
resource.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
Group
Instance 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
, ormixed_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 thetriggers
property ofinstance_refresh
.NOTE: A refresh will not start when
version = "$Latest"
is configured in thelaunch_template
block. To trigger the instance refresh when a launch template is changed, configureversion
to use thelatest_version
attribute of theaws.ec2.LaunchTemplate
resource.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
, ormixed_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 thetriggers
property ofinstance_refresh
.NOTE: A refresh will not start when
version = "$Latest"
is configured in thelaunch_template
block. To trigger the instance refresh when a launch template is changed, configureversion
to use thelatest_version
attribute of theaws.ec2.LaunchTemplate
resource.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
- 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 totrue
when specifying alaunch_template
ormixed_instances_policy
. - Checkpoint
Delay string - Number of seconds to wait after a checkpoint. Defaults to
3600
. - Checkpoint
Percentages 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
. - Instance
Warmup 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.
- 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
100
and200
, 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 stringProtected 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 string - Behavior when encountering instances in the
Standby
state 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 totrue
when specifying alaunch_template
ormixed_instances_policy
. - Checkpoint
Delay string - Number of seconds to wait after a checkpoint. Defaults to
3600
. - Checkpoint
Percentages []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 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.
- 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
100
and200
, 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 stringProtected 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 string - Behavior when encountering instances in the
Standby
state in are found. Available behaviors areTerminate
,Ignore
, andWait
. Default isIgnore
.
- alarm
Specification GroupInstance Refresh Preferences Alarm Specification - Alarm Specification for Instance Refresh.
- auto
Rollback Boolean - Automatically rollback if instance refresh fails. Defaults to
false
. This option may only be set totrue
when specifying alaunch_template
ormixed_instances_policy
. - checkpoint
Delay String - Number of seconds to wait after a checkpoint. Defaults to
3600
. - checkpoint
Percentages 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
. - instance
Warmup 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.
- max
Healthy 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
100
and200
, defaults to100
. - min
Healthy 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
. - scale
In StringProtected Instances - Behavior when encountering instances protected from scale in are found. Available behaviors are
Refresh
,Ignore
, andWait
. Default isIgnore
. - skip
Matching Boolean - Replace instances that already have your desired configuration. Defaults to
false
. - standby
Instances String - Behavior when encountering instances in the
Standby
state in are found. Available behaviors areTerminate
,Ignore
, andWait
. Default isIgnore
.
- alarm
Specification GroupInstance Refresh Preferences Alarm Specification - Alarm Specification for Instance Refresh.
- auto
Rollback boolean - Automatically rollback if instance refresh fails. Defaults to
false
. This option may only be set totrue
when specifying alaunch_template
ormixed_instances_policy
. - checkpoint
Delay string - Number of seconds to wait after a checkpoint. Defaults to
3600
. - checkpoint
Percentages 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
. - instance
Warmup 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.
- max
Healthy 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
100
and200
, defaults to100
. - min
Healthy 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
. - scale
In stringProtected Instances - Behavior when encountering instances protected from scale in are found. Available behaviors are
Refresh
,Ignore
, andWait
. Default isIgnore
. - skip
Matching boolean - Replace instances that already have your desired configuration. Defaults to
false
. - standby
Instances string - Behavior when encountering instances in the
Standby
state 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 totrue
when specifying alaunch_template
ormixed_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
100
and200
, 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
Standby
state in are found. Available behaviors areTerminate
,Ignore
, andWait
. Default isIgnore
.
- alarm
Specification Property Map - Alarm Specification for Instance Refresh.
- auto
Rollback Boolean - Automatically rollback if instance refresh fails. Defaults to
false
. This option may only be set totrue
when specifying alaunch_template
ormixed_instances_policy
. - checkpoint
Delay String - Number of seconds to wait after a checkpoint. Defaults to
3600
. - checkpoint
Percentages 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
. - instance
Warmup 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.
- max
Healthy 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
100
and200
, defaults to100
. - min
Healthy 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
. - scale
In StringProtected Instances - Behavior when encountering instances protected from scale in are found. Available behaviors are
Refresh
,Ignore
, andWait
. Default isIgnore
. - skip
Matching Boolean - Replace instances that already have your desired configuration. Defaults to
false
. - standby
Instances String - Behavior when encountering instances in the
Standby
state 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
- 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.
- 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.
- 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.
- 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.
- 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.
- launch
Template Property Map - Nested argument containing launch template settings along with the overrides to specify multiple instance types and weights. Defined below.
- instances
Distribution Property Map - Nested argument containing settings on how to mix on-demand and Spot instances in the Auto Scaling group. Defined below.
GroupMixedInstancesPolicyInstancesDistribution, GroupMixedInstancesPolicyInstancesDistributionArgs
- On
Demand stringAllocation 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 stringStrategy - 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_strategy
set tolowest-price
. Otherwise it must be set to0
, if it has been defined before. Default:2
. - Spot
Max 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 stringAllocation 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 stringStrategy - 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_strategy
set tolowest-price
. Otherwise it must be set to0
, if it has been defined before. Default:2
. - Spot
Max 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 StringAllocation Strategy - Strategy to use when launching on-demand instances. Valid values:
prioritized
,lowest-price
. Default:prioritized
. - on
Demand IntegerBase Capacity - Absolute minimum amount of desired capacity that must be fulfilled by on-demand instances. Default:
0
. - on
Demand IntegerPercentage Above Base Capacity - Percentage split between on-demand and Spot instances above the base on-demand capacity. Default:
100
. - spot
Allocation StringStrategy - 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 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_strategy
set tolowest-price
. Otherwise it must be set to0
, if it has been defined before. Default:2
. - spot
Max 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 stringAllocation Strategy - Strategy to use when launching on-demand instances. Valid values:
prioritized
,lowest-price
. Default:prioritized
. - on
Demand numberBase Capacity - Absolute minimum amount of desired capacity that must be fulfilled by on-demand instances. Default:
0
. - on
Demand numberPercentage Above Base Capacity - Percentage split between on-demand and Spot instances above the base on-demand capacity. Default:
100
. - spot
Allocation stringStrategy - 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 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_strategy
set tolowest-price
. Otherwise it must be set to0
, if it has been defined before. Default:2
. - spot
Max 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_strategy
set 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.
- on
Demand StringAllocation Strategy - Strategy to use when launching on-demand instances. Valid values:
prioritized
,lowest-price
. Default:prioritized
. - on
Demand NumberBase Capacity - Absolute minimum amount of desired capacity that must be fulfilled by on-demand instances. Default:
0
. - on
Demand NumberPercentage Above Base Capacity - Percentage split between on-demand and Spot instances above the base on-demand capacity. Default:
100
. - spot
Allocation StringStrategy - 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 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_strategy
set tolowest-price
. Otherwise it must be set to0
, if it has been defined before. Default:2
. - spot
Max 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
- Launch
Template GroupSpecification Mixed Instances Policy Launch Template Launch Template Specification - Override the instance launch template specification in the Launch Template.
- Overrides
List<Group
Mixed 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
[]Group
Mixed 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
List<Group
Mixed 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
Group
Mixed 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[Group
Mixed 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 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
- Launch
Template stringId - ID of the launch template. Conflicts with
launch_template_name
. - Launch
Template stringName - Name of the launch template. Conflicts with
launch_template_id
. - Version string
- Launch
Template stringId - ID of the launch template. Conflicts with
launch_template_name
. - Launch
Template stringName - Name of the launch template. Conflicts with
launch_template_id
. - Version string
- launch
Template StringId - ID of the launch template. Conflicts with
launch_template_name
. - launch
Template StringName - Name of the launch template. Conflicts with
launch_template_id
. - version String
- launch
Template stringId - ID of the launch template. Conflicts with
launch_template_name
. - launch
Template 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
- launch
Template StringId - ID of the launch template. Conflicts with
launch_template_name
. - launch
Template StringName - Name of the launch template. Conflicts with
launch_template_id
. - version String
GroupMixedInstancesPolicyLaunchTemplateOverride, GroupMixedInstancesPolicyLaunchTemplateOverrideArgs
- 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 string - 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 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 string - 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 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 String - 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 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 string - 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 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.
- instance
Requirements Property Map - Override the instance type in the Launch Template with instance types that satisfy the requirements.
- instance
Type String - Override the instance type in the Launch Template.
- launch
Template Property MapSpecification - Override the instance launch template specification in the Launch Template.
- weighted
Capacity String - Number of capacity units, which gives the instance type a proportional weight to other instance types.
GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirements, GroupMixedInstancesPolicyLaunchTemplateOverrideInstanceRequirementsArgs
- 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 List<string> - List of accelerator manufacturer names. Default is any manufacturer.
Valid names: * amazon-web-services * amd * nvidia * xilinx
- Accelerator
Names 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
- 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 List<string> - List of accelerator types. Default is any accelerator type.
Valid types: * fpga * gpu * inference
- Allowed
Instance 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 specifyc5*
, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specifym5a.*
, 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 specifyexcluded_instance_types
.- Bare
Metal string - 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 string - Indicate whether burstable performance instance types should be
included
,excluded
, orrequired
. Default isexcluded
. - Cpu
Manufacturers 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
- Excluded
Instance 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 specifyc5*
, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specifym5a.*
, 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 specifyallowed_instance_types
.- Instance
Generations 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.
- Local
Storage string - Indicate whether instance types with local storage volumes are
included
,excluded
, orrequired
. Default isincluded
. - Local
Storage List<string>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
true
orfalse
. 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.
- 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 []string - List of accelerator manufacturer names. Default is any manufacturer.
Valid names: * amazon-web-services * amd * nvidia * xilinx
- Accelerator
Names []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
- 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 []string - List of accelerator types. Default is any accelerator type.
Valid types: * fpga * gpu * inference
- Allowed
Instance []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 specifyc5*
, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specifym5a.*
, 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 specifyexcluded_instance_types
.- Bare
Metal string - 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 string - Indicate whether burstable performance instance types should be
included
,excluded
, orrequired
. Default isexcluded
. - Cpu
Manufacturers []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
- Excluded
Instance []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 specifyc5*
, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specifym5a.*
, 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 specifyallowed_instance_types
.- Instance
Generations []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.
- Local
Storage string - Indicate whether instance types with local storage volumes are
included
,excluded
, orrequired
. Default isincluded
. - Local
Storage []stringTypes - 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
true
orfalse
. 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.
- 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 List<String> - List of accelerator manufacturer names. Default is any manufacturer.
Valid names: * amazon-web-services * amd * nvidia * xilinx
- accelerator
Names 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
- 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 List<String> - List of accelerator types. Default is any accelerator type.
Valid types: * fpga * gpu * inference
- allowed
Instance 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 specifyc5*
, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specifym5a.*
, 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 specifyexcluded_instance_types
.- bare
Metal String - 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 String - Indicate whether burstable performance instance types should be
included
,excluded
, orrequired
. Default isexcluded
. - cpu
Manufacturers 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
- excluded
Instance 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 specifyc5*
, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specifym5a.*
, 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 specifyallowed_instance_types
.- instance
Generations 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.
- local
Storage String - Indicate whether instance types with local storage volumes are
included
,excluded
, orrequired
. Default isincluded
. - local
Storage List<String>Types - List of local storage type names. Default any storage type.
Value names: * hdd - hard disk drive * ssd - solid state drive
- max
Spot 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
- 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 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.
- require
Hibernate BooleanSupport - Indicate whether instance types must support On-Demand Instance Hibernation, either
true
orfalse
. Default isfalse
. - spot
Max 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.
- 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.
- 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 string[] - List of accelerator manufacturer names. Default is any manufacturer.
Valid names: * amazon-web-services * amd * nvidia * xilinx
- accelerator
Names 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
- 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 string[] - List of accelerator types. Default is any accelerator type.
Valid types: * fpga * gpu * inference
- allowed
Instance 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 specifyc5*
, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specifym5a.*
, 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 specifyexcluded_instance_types
.- bare
Metal string - 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 string - Indicate whether burstable performance instance types should be
included
,excluded
, orrequired
. Default isexcluded
. - cpu
Manufacturers 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
- excluded
Instance 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 specifyc5*
, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specifym5a.*
, 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 specifyallowed_instance_types
.- instance
Generations 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.
- local
Storage string - Indicate whether instance types with local storage volumes are
included
,excluded
, orrequired
. Default isincluded
. - local
Storage string[]Types - List of local storage type names. Default any storage type.
Value names: * hdd - hard disk drive * ssd - solid state drive
- max
Spot 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
- 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 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.
- require
Hibernate booleanSupport - Indicate whether instance types must support On-Demand Instance Hibernation, either
true
orfalse
. Default isfalse
. - spot
Max 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.
- 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.
- 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 specifyc5*
, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specifym5a.*
, 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 specifyexcluded_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 specifyc5*
, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specifym5a.*
, 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 specifyallowed_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
true
orfalse
. 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.
- accelerator
Count Property Map - Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
- accelerator
Manufacturers List<String> - List of accelerator manufacturer names. Default is any manufacturer.
Valid names: * amazon-web-services * amd * nvidia * xilinx
- accelerator
Names 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
- accelerator
Total Property MapMemory Mib - Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
- accelerator
Types List<String> - List of accelerator types. Default is any accelerator type.
Valid types: * fpga * gpu * inference
- allowed
Instance 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 specifyc5*
, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specifym5a.*
, 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 specifyexcluded_instance_types
.- bare
Metal String - Indicate whether bare metal instace types should be
included
,excluded
, orrequired
. Default isexcluded
. - baseline
Ebs Property MapBandwidth Mbps - Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
- burstable
Performance String - Indicate whether burstable performance instance types should be
included
,excluded
, orrequired
. Default isexcluded
. - cpu
Manufacturers 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
- excluded
Instance 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 specifyc5*
, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specifym5a.*
, 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 specifyallowed_instance_types
.- instance
Generations 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.
- local
Storage String - Indicate whether instance types with local storage volumes are
included
,excluded
, orrequired
. Default isincluded
. - local
Storage List<String>Types - List of local storage type names. Default any storage type.
Value names: * hdd - hard disk drive * ssd - solid state drive
- max
Spot 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
- memory
Gib Property MapPer Vcpu - Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
- memory
Mib Property Map - Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
- network
Bandwidth Property MapGbps - Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
- network
Interface Property MapCount - Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
- on
Demand 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.
- require
Hibernate BooleanSupport - Indicate whether instance types must support On-Demand Instance Hibernation, either
true
orfalse
. Default isfalse
. - spot
Max 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.
- total
Local Property MapStorage Gb - Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
- vcpu
Count 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
- Launch
Template stringId - ID of the launch template. Conflicts with
launch_template_name
. - Launch
Template stringName - Name of the launch template. Conflicts with
launch_template_id
. - Version string
- Launch
Template stringId - ID of the launch template. Conflicts with
launch_template_name
. - Launch
Template stringName - Name of the launch template. Conflicts with
launch_template_id
. - Version string
- launch
Template StringId - ID of the launch template. Conflicts with
launch_template_name
. - launch
Template StringName - Name of the launch template. Conflicts with
launch_template_id
. - version String
- launch
Template stringId - ID of the launch template. Conflicts with
launch_template_name
. - launch
Template 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
- launch
Template StringId - ID of the launch template. Conflicts with
launch_template_name
. - launch
Template StringName - Name of the launch template. Conflicts with
launch_template_id
. - version String
GroupTag, GroupTagArgs
- Key string
- Key
- Propagate
At boolLaunch Enables propagation of the tag to Amazon EC2 instances launched via this ASG
To declare multiple tags, additional
tag
blocks 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
AmazonECSManaged
tag. These generally should be included in the configuration so the provider does not attempt to remove them and so if themin_size
was 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
- Propagate
At boolLaunch Enables propagation of the tag to Amazon EC2 instances launched via this ASG
To declare multiple tags, additional
tag
blocks 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
AmazonECSManaged
tag. These generally should be included in the configuration so the provider does not attempt to remove them and so if themin_size
was 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
- propagate
At BooleanLaunch Enables propagation of the tag to Amazon EC2 instances launched via this ASG
To declare multiple tags, additional
tag
blocks 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
AmazonECSManaged
tag. These generally should be included in the configuration so the provider does not attempt to remove them and so if themin_size
was 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
- propagate
At booleanLaunch Enables propagation of the tag to Amazon EC2 instances launched via this ASG
To declare multiple tags, additional
tag
blocks 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
AmazonECSManaged
tag. These generally should be included in the configuration so the provider does not attempt to remove them and so if themin_size
was 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
tag
blocks 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
AmazonECSManaged
tag. These generally should be included in the configuration so the provider does not attempt to remove them and so if themin_size
was 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
- propagate
At BooleanLaunch Enables propagation of the tag to Amazon EC2 instances launched via this ASG
To declare multiple tags, additional
tag
blocks 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
AmazonECSManaged
tag. These generally should be included in the configuration so the provider does not attempt to remove them and so if themin_size
was 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:
elb
ifidentifier
is the name of a Classic Load Balancer.elbv2
ifidentifier
is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.vpc-lattice
ifidentifier
is 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:
elb
ifidentifier
is the name of a Classic Load Balancer.elbv2
ifidentifier
is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.vpc-lattice
ifidentifier
is 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:
elb
ifidentifier
is the name of a Classic Load Balancer.elbv2
ifidentifier
is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.vpc-lattice
ifidentifier
is 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:
elb
ifidentifier
is the name of a Classic Load Balancer.elbv2
ifidentifier
is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.vpc-lattice
ifidentifier
is 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:
elb
ifidentifier
is the name of a Classic Load Balancer.elbv2
ifidentifier
is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.vpc-lattice
ifidentifier
is 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:
elb
ifidentifier
is the name of a Classic Load Balancer.elbv2
ifidentifier
is the ARN of an Application Load Balancer, Gateway Load Balancer, or Network Load Balancer target group.vpc-lattice
ifidentifier
is the ARN of a VPC Lattice target group.
GroupWarmPool, GroupWarmPoolArgs
- 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 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 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 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.
- min
Size 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.
- pool
State 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 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.
- min
Size 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.
- pool
State 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.
- instance
Reuse 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.
- max
Group 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.
- min
Size 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.
- pool
State String - Sets the instance state to transition to after the lifecycle hooks finish. Valid values are: Stopped (default), Running or Hibernated.
GroupWarmPoolInstanceReusePolicy, GroupWarmPoolInstanceReusePolicyArgs
- Reuse
On boolScale 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.
- reuse
On BooleanScale In - Whether instances in the Auto Scaling group can be returned to the warm pool on scale in.
- reuse
On 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.
- reuse
On BooleanScale In - Whether instances in the Auto Scaling group can be returned to the warm pool on scale in.
MetricsGranularity, MetricsGranularityArgs
- One
Minute - 1Minute
- Metrics
Granularity One Minute - 1Minute
- One
Minute - 1Minute
- One
Minute - 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
aws
Terraform Provider.