aws.autoscaling.Policy
Explore with Pulumi AI
Provides an AutoScaling Scaling Policy resource.
NOTE: You may want to omit
desired_capacityattribute from attachedaws.autoscaling.Groupwhen using autoscaling policies. It’s good practice to pick either manual or dynamic (policy-based) scaling.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const bar = new aws.autoscaling.Group("bar", {
    availabilityZones: ["us-east-1a"],
    name: "foobar3-test",
    maxSize: 5,
    minSize: 2,
    healthCheckGracePeriod: 300,
    healthCheckType: "ELB",
    forceDelete: true,
    launchConfiguration: foo.name,
});
const bat = new aws.autoscaling.Policy("bat", {
    name: "foobar3-test",
    scalingAdjustment: 4,
    adjustmentType: "ChangeInCapacity",
    cooldown: 300,
    autoscalingGroupName: bar.name,
});
import pulumi
import pulumi_aws as aws
bar = aws.autoscaling.Group("bar",
    availability_zones=["us-east-1a"],
    name="foobar3-test",
    max_size=5,
    min_size=2,
    health_check_grace_period=300,
    health_check_type="ELB",
    force_delete=True,
    launch_configuration=foo["name"])
bat = aws.autoscaling.Policy("bat",
    name="foobar3-test",
    scaling_adjustment=4,
    adjustment_type="ChangeInCapacity",
    cooldown=300,
    autoscaling_group_name=bar.name)
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 {
		bar, err := autoscaling.NewGroup(ctx, "bar", &autoscaling.GroupArgs{
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-east-1a"),
			},
			Name:                   pulumi.String("foobar3-test"),
			MaxSize:                pulumi.Int(5),
			MinSize:                pulumi.Int(2),
			HealthCheckGracePeriod: pulumi.Int(300),
			HealthCheckType:        pulumi.String("ELB"),
			ForceDelete:            pulumi.Bool(true),
			LaunchConfiguration:    pulumi.Any(foo.Name),
		})
		if err != nil {
			return err
		}
		_, err = autoscaling.NewPolicy(ctx, "bat", &autoscaling.PolicyArgs{
			Name:                 pulumi.String("foobar3-test"),
			ScalingAdjustment:    pulumi.Int(4),
			AdjustmentType:       pulumi.String("ChangeInCapacity"),
			Cooldown:             pulumi.Int(300),
			AutoscalingGroupName: bar.Name,
		})
		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 bar = new Aws.AutoScaling.Group("bar", new()
    {
        AvailabilityZones = new[]
        {
            "us-east-1a",
        },
        Name = "foobar3-test",
        MaxSize = 5,
        MinSize = 2,
        HealthCheckGracePeriod = 300,
        HealthCheckType = "ELB",
        ForceDelete = true,
        LaunchConfiguration = foo.Name,
    });
    var bat = new Aws.AutoScaling.Policy("bat", new()
    {
        Name = "foobar3-test",
        ScalingAdjustment = 4,
        AdjustmentType = "ChangeInCapacity",
        Cooldown = 300,
        AutoscalingGroupName = bar.Name,
    });
});
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.Policy;
import com.pulumi.aws.autoscaling.PolicyArgs;
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 bar = new Group("bar", GroupArgs.builder()
            .availabilityZones("us-east-1a")
            .name("foobar3-test")
            .maxSize(5)
            .minSize(2)
            .healthCheckGracePeriod(300)
            .healthCheckType("ELB")
            .forceDelete(true)
            .launchConfiguration(foo.name())
            .build());
        var bat = new Policy("bat", PolicyArgs.builder()
            .name("foobar3-test")
            .scalingAdjustment(4)
            .adjustmentType("ChangeInCapacity")
            .cooldown(300)
            .autoscalingGroupName(bar.name())
            .build());
    }
}
resources:
  bat:
    type: aws:autoscaling:Policy
    properties:
      name: foobar3-test
      scalingAdjustment: 4
      adjustmentType: ChangeInCapacity
      cooldown: 300
      autoscalingGroupName: ${bar.name}
  bar:
    type: aws:autoscaling:Group
    properties:
      availabilityZones:
        - us-east-1a
      name: foobar3-test
      maxSize: 5
      minSize: 2
      healthCheckGracePeriod: 300
      healthCheckType: ELB
      forceDelete: true
      launchConfiguration: ${foo.name}
Create target tracking scaling policy using metric math
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.autoscaling.Policy("example", {
    autoscalingGroupName: "my-test-asg",
    name: "foo",
    policyType: "TargetTrackingScaling",
    targetTrackingConfiguration: {
        targetValue: 100,
        customizedMetricSpecification: {
            metrics: [
                {
                    label: "Get the queue size (the number of messages waiting to be processed)",
                    id: "m1",
                    metricStat: {
                        metric: {
                            namespace: "AWS/SQS",
                            metricName: "ApproximateNumberOfMessagesVisible",
                            dimensions: [{
                                name: "QueueName",
                                value: "my-queue",
                            }],
                        },
                        stat: "Sum",
                        period: 10,
                    },
                    returnData: false,
                },
                {
                    label: "Get the group size (the number of InService instances)",
                    id: "m2",
                    metricStat: {
                        metric: {
                            namespace: "AWS/AutoScaling",
                            metricName: "GroupInServiceInstances",
                            dimensions: [{
                                name: "AutoScalingGroupName",
                                value: "my-asg",
                            }],
                        },
                        stat: "Average",
                        period: 10,
                    },
                    returnData: false,
                },
                {
                    label: "Calculate the backlog per instance",
                    id: "e1",
                    expression: "m1 / m2",
                    returnData: true,
                },
            ],
        },
    },
});
import pulumi
import pulumi_aws as aws
example = aws.autoscaling.Policy("example",
    autoscaling_group_name="my-test-asg",
    name="foo",
    policy_type="TargetTrackingScaling",
    target_tracking_configuration={
        "target_value": 100,
        "customized_metric_specification": {
            "metrics": [
                {
                    "label": "Get the queue size (the number of messages waiting to be processed)",
                    "id": "m1",
                    "metric_stat": {
                        "metric": {
                            "namespace": "AWS/SQS",
                            "metric_name": "ApproximateNumberOfMessagesVisible",
                            "dimensions": [{
                                "name": "QueueName",
                                "value": "my-queue",
                            }],
                        },
                        "stat": "Sum",
                        "period": 10,
                    },
                    "return_data": False,
                },
                {
                    "label": "Get the group size (the number of InService instances)",
                    "id": "m2",
                    "metric_stat": {
                        "metric": {
                            "namespace": "AWS/AutoScaling",
                            "metric_name": "GroupInServiceInstances",
                            "dimensions": [{
                                "name": "AutoScalingGroupName",
                                "value": "my-asg",
                            }],
                        },
                        "stat": "Average",
                        "period": 10,
                    },
                    "return_data": False,
                },
                {
                    "label": "Calculate the backlog per instance",
                    "id": "e1",
                    "expression": "m1 / m2",
                    "return_data": True,
                },
            ],
        },
    })
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{
			AutoscalingGroupName: pulumi.String("my-test-asg"),
			Name:                 pulumi.String("foo"),
			PolicyType:           pulumi.String("TargetTrackingScaling"),
			TargetTrackingConfiguration: &autoscaling.PolicyTargetTrackingConfigurationArgs{
				TargetValue: pulumi.Float64(100),
				CustomizedMetricSpecification: &autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs{
					Metrics: autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArray{
						&autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs{
							Label: pulumi.String("Get the queue size (the number of messages waiting to be processed)"),
							Id:    pulumi.String("m1"),
							MetricStat: &autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatArgs{
								Metric: &autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs{
									Namespace:  pulumi.String("AWS/SQS"),
									MetricName: pulumi.String("ApproximateNumberOfMessagesVisible"),
									Dimensions: autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArray{
										&autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs{
											Name:  pulumi.String("QueueName"),
											Value: pulumi.String("my-queue"),
										},
									},
								},
								Stat:   pulumi.String("Sum"),
								Period: pulumi.Int(10),
							},
							ReturnData: pulumi.Bool(false),
						},
						&autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs{
							Label: pulumi.String("Get the group size (the number of InService instances)"),
							Id:    pulumi.String("m2"),
							MetricStat: &autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatArgs{
								Metric: &autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs{
									Namespace:  pulumi.String("AWS/AutoScaling"),
									MetricName: pulumi.String("GroupInServiceInstances"),
									Dimensions: autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArray{
										&autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs{
											Name:  pulumi.String("AutoScalingGroupName"),
											Value: pulumi.String("my-asg"),
										},
									},
								},
								Stat:   pulumi.String("Average"),
								Period: pulumi.Int(10),
							},
							ReturnData: pulumi.Bool(false),
						},
						&autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs{
							Label:      pulumi.String("Calculate the backlog per instance"),
							Id:         pulumi.String("e1"),
							Expression: pulumi.String("m1 / m2"),
							ReturnData: 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.AutoScaling.Policy("example", new()
    {
        AutoscalingGroupName = "my-test-asg",
        Name = "foo",
        PolicyType = "TargetTrackingScaling",
        TargetTrackingConfiguration = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationArgs
        {
            TargetValue = 100,
            CustomizedMetricSpecification = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs
            {
                Metrics = new[]
                {
                    new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs
                    {
                        Label = "Get the queue size (the number of messages waiting to be processed)",
                        Id = "m1",
                        MetricStat = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatArgs
                        {
                            Metric = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs
                            {
                                Namespace = "AWS/SQS",
                                MetricName = "ApproximateNumberOfMessagesVisible",
                                Dimensions = new[]
                                {
                                    new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs
                                    {
                                        Name = "QueueName",
                                        Value = "my-queue",
                                    },
                                },
                            },
                            Stat = "Sum",
                            Period = 10,
                        },
                        ReturnData = false,
                    },
                    new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs
                    {
                        Label = "Get the group size (the number of InService instances)",
                        Id = "m2",
                        MetricStat = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatArgs
                        {
                            Metric = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs
                            {
                                Namespace = "AWS/AutoScaling",
                                MetricName = "GroupInServiceInstances",
                                Dimensions = new[]
                                {
                                    new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs
                                    {
                                        Name = "AutoScalingGroupName",
                                        Value = "my-asg",
                                    },
                                },
                            },
                            Stat = "Average",
                            Period = 10,
                        },
                        ReturnData = false,
                    },
                    new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs
                    {
                        Label = "Calculate the backlog per instance",
                        Id = "e1",
                        Expression = "m1 / m2",
                        ReturnData = true,
                    },
                },
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.autoscaling.Policy;
import com.pulumi.aws.autoscaling.PolicyArgs;
import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationArgs;
import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs;
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 Policy("example", PolicyArgs.builder()
            .autoscalingGroupName("my-test-asg")
            .name("foo")
            .policyType("TargetTrackingScaling")
            .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder()
                .targetValue(100.0)
                .customizedMetricSpecification(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs.builder()
                    .metrics(                    
                        PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs.builder()
                            .label("Get the queue size (the number of messages waiting to be processed)")
                            .id("m1")
                            .metricStat(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatArgs.builder()
                                .metric(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs.builder()
                                    .namespace("AWS/SQS")
                                    .metricName("ApproximateNumberOfMessagesVisible")
                                    .dimensions(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs.builder()
                                        .name("QueueName")
                                        .value("my-queue")
                                        .build())
                                    .build())
                                .stat("Sum")
                                .period(10)
                                .build())
                            .returnData(false)
                            .build(),
                        PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs.builder()
                            .label("Get the group size (the number of InService instances)")
                            .id("m2")
                            .metricStat(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatArgs.builder()
                                .metric(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs.builder()
                                    .namespace("AWS/AutoScaling")
                                    .metricName("GroupInServiceInstances")
                                    .dimensions(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs.builder()
                                        .name("AutoScalingGroupName")
                                        .value("my-asg")
                                        .build())
                                    .build())
                                .stat("Average")
                                .period(10)
                                .build())
                            .returnData(false)
                            .build(),
                        PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs.builder()
                            .label("Calculate the backlog per instance")
                            .id("e1")
                            .expression("m1 / m2")
                            .returnData(true)
                            .build())
                    .build())
                .build())
            .build());
    }
}
resources:
  example:
    type: aws:autoscaling:Policy
    properties:
      autoscalingGroupName: my-test-asg
      name: foo
      policyType: TargetTrackingScaling
      targetTrackingConfiguration:
        targetValue: 100
        customizedMetricSpecification:
          metrics:
            - label: Get the queue size (the number of messages waiting to be processed)
              id: m1
              metricStat:
                metric:
                  namespace: AWS/SQS
                  metricName: ApproximateNumberOfMessagesVisible
                  dimensions:
                    - name: QueueName
                      value: my-queue
                stat: Sum
                period: 10
              returnData: false
            - label: Get the group size (the number of InService instances)
              id: m2
              metricStat:
                metric:
                  namespace: AWS/AutoScaling
                  metricName: GroupInServiceInstances
                  dimensions:
                    - name: AutoScalingGroupName
                      value: my-asg
                stat: Average
                period: 10
              returnData: false
            - label: Calculate the backlog per instance
              id: e1
              expression: m1 / m2
              returnData: true
Create predictive scaling policy using customized metrics
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.autoscaling.Policy("example", {
    autoscalingGroupName: "my-test-asg",
    name: "foo",
    policyType: "PredictiveScaling",
    predictiveScalingConfiguration: {
        metricSpecification: {
            targetValue: 10,
            customizedLoadMetricSpecification: {
                metricDataQueries: [{
                    id: "load_sum",
                    expression: "SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\"CPUUtilization\" my-test-asg', 'Sum', 3600))",
                }],
            },
            customizedCapacityMetricSpecification: {
                metricDataQueries: [{
                    id: "capacity_sum",
                    expression: "SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\"GroupInServiceIntances\" my-test-asg', 'Average', 300))",
                }],
            },
            customizedScalingMetricSpecification: {
                metricDataQueries: [
                    {
                        id: "capacity_sum",
                        expression: "SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\"GroupInServiceIntances\" my-test-asg', 'Average', 300))",
                        returnData: false,
                    },
                    {
                        id: "load_sum",
                        expression: "SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\"CPUUtilization\" my-test-asg', 'Sum', 300))",
                        returnData: false,
                    },
                    {
                        id: "weighted_average",
                        expression: "load_sum / (capacity_sum * PERIOD(capacity_sum) / 60)",
                    },
                ],
            },
        },
    },
});
import pulumi
import pulumi_aws as aws
example = aws.autoscaling.Policy("example",
    autoscaling_group_name="my-test-asg",
    name="foo",
    policy_type="PredictiveScaling",
    predictive_scaling_configuration={
        "metric_specification": {
            "target_value": 10,
            "customized_load_metric_specification": {
                "metric_data_queries": [{
                    "id": "load_sum",
                    "expression": "SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\"CPUUtilization\" my-test-asg', 'Sum', 3600))",
                }],
            },
            "customized_capacity_metric_specification": {
                "metric_data_queries": [{
                    "id": "capacity_sum",
                    "expression": "SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\"GroupInServiceIntances\" my-test-asg', 'Average', 300))",
                }],
            },
            "customized_scaling_metric_specification": {
                "metric_data_queries": [
                    {
                        "id": "capacity_sum",
                        "expression": "SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\"GroupInServiceIntances\" my-test-asg', 'Average', 300))",
                        "return_data": False,
                    },
                    {
                        "id": "load_sum",
                        "expression": "SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\"CPUUtilization\" my-test-asg', 'Sum', 300))",
                        "return_data": False,
                    },
                    {
                        "id": "weighted_average",
                        "expression": "load_sum / (capacity_sum * PERIOD(capacity_sum) / 60)",
                    },
                ],
            },
        },
    })
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{
			AutoscalingGroupName: pulumi.String("my-test-asg"),
			Name:                 pulumi.String("foo"),
			PolicyType:           pulumi.String("PredictiveScaling"),
			PredictiveScalingConfiguration: &autoscaling.PolicyPredictiveScalingConfigurationArgs{
				MetricSpecification: &autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationArgs{
					TargetValue: pulumi.Float64(10),
					CustomizedLoadMetricSpecification: &autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationArgs{
						MetricDataQueries: autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryArray{
							&autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryArgs{
								Id:         pulumi.String("load_sum"),
								Expression: pulumi.String("SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\"CPUUtilization\" my-test-asg', 'Sum', 3600))"),
							},
						},
					},
					CustomizedCapacityMetricSpecification: &autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationArgs{
						MetricDataQueries: autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryArray{
							&autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryArgs{
								Id:         pulumi.String("capacity_sum"),
								Expression: pulumi.String("SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\"GroupInServiceIntances\" my-test-asg', 'Average', 300))"),
							},
						},
					},
					CustomizedScalingMetricSpecification: &autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs{
						MetricDataQueries: autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArray{
							&autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs{
								Id:         pulumi.String("capacity_sum"),
								Expression: pulumi.String("SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\"GroupInServiceIntances\" my-test-asg', 'Average', 300))"),
								ReturnData: pulumi.Bool(false),
							},
							&autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs{
								Id:         pulumi.String("load_sum"),
								Expression: pulumi.String("SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\"CPUUtilization\" my-test-asg', 'Sum', 300))"),
								ReturnData: pulumi.Bool(false),
							},
							&autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs{
								Id:         pulumi.String("weighted_average"),
								Expression: pulumi.String("load_sum / (capacity_sum * PERIOD(capacity_sum) / 60)"),
							},
						},
					},
				},
			},
		})
		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.AutoScaling.Policy("example", new()
    {
        AutoscalingGroupName = "my-test-asg",
        Name = "foo",
        PolicyType = "PredictiveScaling",
        PredictiveScalingConfiguration = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationArgs
        {
            MetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationArgs
            {
                TargetValue = 10,
                CustomizedLoadMetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationArgs
                {
                    MetricDataQueries = new[]
                    {
                        new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryArgs
                        {
                            Id = "load_sum",
                            Expression = "SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\"CPUUtilization\" my-test-asg', 'Sum', 3600))",
                        },
                    },
                },
                CustomizedCapacityMetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationArgs
                {
                    MetricDataQueries = new[]
                    {
                        new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryArgs
                        {
                            Id = "capacity_sum",
                            Expression = "SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\"GroupInServiceIntances\" my-test-asg', 'Average', 300))",
                        },
                    },
                },
                CustomizedScalingMetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs
                {
                    MetricDataQueries = new[]
                    {
                        new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs
                        {
                            Id = "capacity_sum",
                            Expression = "SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\"GroupInServiceIntances\" my-test-asg', 'Average', 300))",
                            ReturnData = false,
                        },
                        new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs
                        {
                            Id = "load_sum",
                            Expression = "SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\"CPUUtilization\" my-test-asg', 'Sum', 300))",
                            ReturnData = false,
                        },
                        new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs
                        {
                            Id = "weighted_average",
                            Expression = "load_sum / (capacity_sum * PERIOD(capacity_sum) / 60)",
                        },
                    },
                },
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.autoscaling.Policy;
import com.pulumi.aws.autoscaling.PolicyArgs;
import com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationArgs;
import com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationMetricSpecificationArgs;
import com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationArgs;
import com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationArgs;
import com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs;
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 Policy("example", PolicyArgs.builder()
            .autoscalingGroupName("my-test-asg")
            .name("foo")
            .policyType("PredictiveScaling")
            .predictiveScalingConfiguration(PolicyPredictiveScalingConfigurationArgs.builder()
                .metricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationArgs.builder()
                    .targetValue(10.0)
                    .customizedLoadMetricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationArgs.builder()
                        .metricDataQueries(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryArgs.builder()
                            .id("load_sum")
                            .expression("SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\"CPUUtilization\" my-test-asg', 'Sum', 3600))")
                            .build())
                        .build())
                    .customizedCapacityMetricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationArgs.builder()
                        .metricDataQueries(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryArgs.builder()
                            .id("capacity_sum")
                            .expression("SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\"GroupInServiceIntances\" my-test-asg', 'Average', 300))")
                            .build())
                        .build())
                    .customizedScalingMetricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs.builder()
                        .metricDataQueries(                        
                            PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs.builder()
                                .id("capacity_sum")
                                .expression("SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\"GroupInServiceIntances\" my-test-asg', 'Average', 300))")
                                .returnData(false)
                                .build(),
                            PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs.builder()
                                .id("load_sum")
                                .expression("SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName=\"CPUUtilization\" my-test-asg', 'Sum', 300))")
                                .returnData(false)
                                .build(),
                            PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs.builder()
                                .id("weighted_average")
                                .expression("load_sum / (capacity_sum * PERIOD(capacity_sum) / 60)")
                                .build())
                        .build())
                    .build())
                .build())
            .build());
    }
}
resources:
  example:
    type: aws:autoscaling:Policy
    properties:
      autoscalingGroupName: my-test-asg
      name: foo
      policyType: PredictiveScaling
      predictiveScalingConfiguration:
        metricSpecification:
          targetValue: 10
          customizedLoadMetricSpecification:
            metricDataQueries:
              - id: load_sum
                expression: SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName="CPUUtilization" my-test-asg', 'Sum', 3600))
          customizedCapacityMetricSpecification:
            metricDataQueries:
              - id: capacity_sum
                expression: SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName="GroupInServiceIntances" my-test-asg', 'Average', 300))
          customizedScalingMetricSpecification:
            metricDataQueries:
              - id: capacity_sum
                expression: SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName="GroupInServiceIntances" my-test-asg', 'Average', 300))
                returnData: false
              - id: load_sum
                expression: SUM(SEARCH('{AWS/EC2,AutoScalingGroupName} MetricName="CPUUtilization" my-test-asg', 'Sum', 300))
                returnData: false
              - id: weighted_average
                expression: load_sum / (capacity_sum * PERIOD(capacity_sum) / 60)
Create predictive scaling policy using customized scaling and predefined load metric
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.autoscaling.Policy("example", {
    autoscalingGroupName: "my-test-asg",
    name: "foo",
    policyType: "PredictiveScaling",
    predictiveScalingConfiguration: {
        metricSpecification: {
            targetValue: 10,
            predefinedLoadMetricSpecification: {
                predefinedMetricType: "ASGTotalCPUUtilization",
                resourceLabel: "app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff",
            },
            customizedScalingMetricSpecification: {
                metricDataQueries: [{
                    id: "scaling",
                    metricStat: {
                        metric: {
                            metricName: "CPUUtilization",
                            namespace: "AWS/EC2",
                            dimensions: [{
                                name: "AutoScalingGroupName",
                                value: "my-test-asg",
                            }],
                        },
                        stat: "Average",
                    },
                }],
            },
        },
    },
});
import pulumi
import pulumi_aws as aws
example = aws.autoscaling.Policy("example",
    autoscaling_group_name="my-test-asg",
    name="foo",
    policy_type="PredictiveScaling",
    predictive_scaling_configuration={
        "metric_specification": {
            "target_value": 10,
            "predefined_load_metric_specification": {
                "predefined_metric_type": "ASGTotalCPUUtilization",
                "resource_label": "app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff",
            },
            "customized_scaling_metric_specification": {
                "metric_data_queries": [{
                    "id": "scaling",
                    "metric_stat": {
                        "metric": {
                            "metric_name": "CPUUtilization",
                            "namespace": "AWS/EC2",
                            "dimensions": [{
                                "name": "AutoScalingGroupName",
                                "value": "my-test-asg",
                            }],
                        },
                        "stat": "Average",
                    },
                }],
            },
        },
    })
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{
			AutoscalingGroupName: pulumi.String("my-test-asg"),
			Name:                 pulumi.String("foo"),
			PolicyType:           pulumi.String("PredictiveScaling"),
			PredictiveScalingConfiguration: &autoscaling.PolicyPredictiveScalingConfigurationArgs{
				MetricSpecification: &autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationArgs{
					TargetValue: pulumi.Float64(10),
					PredefinedLoadMetricSpecification: &autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs{
						PredefinedMetricType: pulumi.String("ASGTotalCPUUtilization"),
						ResourceLabel:        pulumi.String("app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff"),
					},
					CustomizedScalingMetricSpecification: &autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs{
						MetricDataQueries: autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArray{
							&autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs{
								Id: pulumi.String("scaling"),
								MetricStat: &autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatArgs{
									Metric: &autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricArgs{
										MetricName: pulumi.String("CPUUtilization"),
										Namespace:  pulumi.String("AWS/EC2"),
										Dimensions: autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricDimensionArray{
											&autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricDimensionArgs{
												Name:  pulumi.String("AutoScalingGroupName"),
												Value: pulumi.String("my-test-asg"),
											},
										},
									},
									Stat: pulumi.String("Average"),
								},
							},
						},
					},
				},
			},
		})
		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.AutoScaling.Policy("example", new()
    {
        AutoscalingGroupName = "my-test-asg",
        Name = "foo",
        PolicyType = "PredictiveScaling",
        PredictiveScalingConfiguration = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationArgs
        {
            MetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationArgs
            {
                TargetValue = 10,
                PredefinedLoadMetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs
                {
                    PredefinedMetricType = "ASGTotalCPUUtilization",
                    ResourceLabel = "app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff",
                },
                CustomizedScalingMetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs
                {
                    MetricDataQueries = new[]
                    {
                        new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs
                        {
                            Id = "scaling",
                            MetricStat = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatArgs
                            {
                                Metric = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricArgs
                                {
                                    MetricName = "CPUUtilization",
                                    Namespace = "AWS/EC2",
                                    Dimensions = new[]
                                    {
                                        new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricDimensionArgs
                                        {
                                            Name = "AutoScalingGroupName",
                                            Value = "my-test-asg",
                                        },
                                    },
                                },
                                Stat = "Average",
                            },
                        },
                    },
                },
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.autoscaling.Policy;
import com.pulumi.aws.autoscaling.PolicyArgs;
import com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationArgs;
import com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationMetricSpecificationArgs;
import com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs;
import com.pulumi.aws.autoscaling.inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs;
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 Policy("example", PolicyArgs.builder()
            .autoscalingGroupName("my-test-asg")
            .name("foo")
            .policyType("PredictiveScaling")
            .predictiveScalingConfiguration(PolicyPredictiveScalingConfigurationArgs.builder()
                .metricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationArgs.builder()
                    .targetValue(10.0)
                    .predefinedLoadMetricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs.builder()
                        .predefinedMetricType("ASGTotalCPUUtilization")
                        .resourceLabel("app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff")
                        .build())
                    .customizedScalingMetricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs.builder()
                        .metricDataQueries(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs.builder()
                            .id("scaling")
                            .metricStat(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatArgs.builder()
                                .metric(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricArgs.builder()
                                    .metricName("CPUUtilization")
                                    .namespace("AWS/EC2")
                                    .dimensions(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricDimensionArgs.builder()
                                        .name("AutoScalingGroupName")
                                        .value("my-test-asg")
                                        .build())
                                    .build())
                                .stat("Average")
                                .build())
                            .build())
                        .build())
                    .build())
                .build())
            .build());
    }
}
resources:
  example:
    type: aws:autoscaling:Policy
    properties:
      autoscalingGroupName: my-test-asg
      name: foo
      policyType: PredictiveScaling
      predictiveScalingConfiguration:
        metricSpecification:
          targetValue: 10
          predefinedLoadMetricSpecification:
            predefinedMetricType: ASGTotalCPUUtilization
            resourceLabel: app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff
          customizedScalingMetricSpecification:
            metricDataQueries:
              - id: scaling
                metricStat:
                  metric:
                    metricName: CPUUtilization
                    namespace: AWS/EC2
                    dimensions:
                      - name: AutoScalingGroupName
                        value: my-test-asg
                  stat: Average
Create Policy Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Policy(name: string, args: PolicyArgs, opts?: CustomResourceOptions);@overload
def Policy(resource_name: str,
           args: PolicyArgs,
           opts: Optional[ResourceOptions] = None)
@overload
def Policy(resource_name: str,
           opts: Optional[ResourceOptions] = None,
           autoscaling_group_name: Optional[str] = None,
           min_adjustment_magnitude: Optional[int] = None,
           cooldown: Optional[int] = None,
           enabled: Optional[bool] = None,
           estimated_instance_warmup: Optional[int] = None,
           metric_aggregation_type: Optional[str] = None,
           adjustment_type: Optional[str] = None,
           name: Optional[str] = None,
           policy_type: Optional[str] = None,
           predictive_scaling_configuration: Optional[PolicyPredictiveScalingConfigurationArgs] = None,
           scaling_adjustment: Optional[int] = None,
           step_adjustments: Optional[Sequence[PolicyStepAdjustmentArgs]] = None,
           target_tracking_configuration: Optional[PolicyTargetTrackingConfigurationArgs] = None)func NewPolicy(ctx *Context, name string, args PolicyArgs, opts ...ResourceOption) (*Policy, error)public Policy(string name, PolicyArgs args, CustomResourceOptions? opts = null)
public Policy(String name, PolicyArgs args)
public Policy(String name, PolicyArgs args, CustomResourceOptions options)
type: aws:autoscaling:Policy
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 PolicyArgs
 - 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 PolicyArgs
 - 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 PolicyArgs
 - The arguments to resource properties.
 - opts ResourceOption
 - Bag of options to control resource's behavior.
 
- name string
 - The unique name of the resource.
 - args PolicyArgs
 - The arguments to resource properties.
 - opts CustomResourceOptions
 - Bag of options to control resource's behavior.
 
- name String
 - The unique name of the resource.
 - args PolicyArgs
 - 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 examplepolicyResourceResourceFromAutoscalingpolicy = new Aws.AutoScaling.Policy("examplepolicyResourceResourceFromAutoscalingpolicy", new()
{
    AutoscalingGroupName = "string",
    MinAdjustmentMagnitude = 0,
    Cooldown = 0,
    Enabled = false,
    EstimatedInstanceWarmup = 0,
    MetricAggregationType = "string",
    AdjustmentType = "string",
    Name = "string",
    PolicyType = "string",
    PredictiveScalingConfiguration = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationArgs
    {
        MetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationArgs
        {
            TargetValue = 0,
            CustomizedCapacityMetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationArgs
            {
                MetricDataQueries = new[]
                {
                    new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryArgs
                    {
                        Id = "string",
                        Expression = "string",
                        Label = "string",
                        MetricStat = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryMetricStatArgs
                        {
                            Metric = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryMetricStatMetricArgs
                            {
                                MetricName = "string",
                                Namespace = "string",
                                Dimensions = new[]
                                {
                                    new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryMetricStatMetricDimensionArgs
                                    {
                                        Name = "string",
                                        Value = "string",
                                    },
                                },
                            },
                            Stat = "string",
                            Unit = "string",
                        },
                        ReturnData = false,
                    },
                },
            },
            CustomizedLoadMetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationArgs
            {
                MetricDataQueries = new[]
                {
                    new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryArgs
                    {
                        Id = "string",
                        Expression = "string",
                        Label = "string",
                        MetricStat = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryMetricStatArgs
                        {
                            Metric = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryMetricStatMetricArgs
                            {
                                MetricName = "string",
                                Namespace = "string",
                                Dimensions = new[]
                                {
                                    new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryMetricStatMetricDimensionArgs
                                    {
                                        Name = "string",
                                        Value = "string",
                                    },
                                },
                            },
                            Stat = "string",
                            Unit = "string",
                        },
                        ReturnData = false,
                    },
                },
            },
            CustomizedScalingMetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs
            {
                MetricDataQueries = new[]
                {
                    new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs
                    {
                        Id = "string",
                        Expression = "string",
                        Label = "string",
                        MetricStat = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatArgs
                        {
                            Metric = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricArgs
                            {
                                MetricName = "string",
                                Namespace = "string",
                                Dimensions = new[]
                                {
                                    new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricDimensionArgs
                                    {
                                        Name = "string",
                                        Value = "string",
                                    },
                                },
                            },
                            Stat = "string",
                            Unit = "string",
                        },
                        ReturnData = false,
                    },
                },
            },
            PredefinedLoadMetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs
            {
                PredefinedMetricType = "string",
                ResourceLabel = "string",
            },
            PredefinedMetricPairSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationArgs
            {
                PredefinedMetricType = "string",
                ResourceLabel = "string",
            },
            PredefinedScalingMetricSpecification = new Aws.AutoScaling.Inputs.PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationArgs
            {
                PredefinedMetricType = "string",
                ResourceLabel = "string",
            },
        },
        MaxCapacityBreachBehavior = "string",
        MaxCapacityBuffer = "string",
        Mode = "string",
        SchedulingBufferTime = "string",
    },
    ScalingAdjustment = 0,
    StepAdjustments = new[]
    {
        new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs
        {
            ScalingAdjustment = 0,
            MetricIntervalLowerBound = "string",
            MetricIntervalUpperBound = "string",
        },
    },
    TargetTrackingConfiguration = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationArgs
    {
        TargetValue = 0,
        CustomizedMetricSpecification = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs
        {
            MetricDimensions = new[]
            {
                new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArgs
                {
                    Name = "string",
                    Value = "string",
                },
            },
            MetricName = "string",
            Metrics = new[]
            {
                new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs
                {
                    Id = "string",
                    Expression = "string",
                    Label = "string",
                    MetricStat = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatArgs
                    {
                        Metric = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs
                        {
                            MetricName = "string",
                            Namespace = "string",
                            Dimensions = new[]
                            {
                                new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs
                                {
                                    Name = "string",
                                    Value = "string",
                                },
                            },
                        },
                        Stat = "string",
                        Period = 0,
                        Unit = "string",
                    },
                    ReturnData = false,
                },
            },
            Namespace = "string",
            Period = 0,
            Statistic = "string",
            Unit = "string",
        },
        DisableScaleIn = false,
        PredefinedMetricSpecification = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs
        {
            PredefinedMetricType = "string",
            ResourceLabel = "string",
        },
    },
});
example, err := autoscaling.NewPolicy(ctx, "examplepolicyResourceResourceFromAutoscalingpolicy", &autoscaling.PolicyArgs{
	AutoscalingGroupName:    pulumi.String("string"),
	MinAdjustmentMagnitude:  pulumi.Int(0),
	Cooldown:                pulumi.Int(0),
	Enabled:                 pulumi.Bool(false),
	EstimatedInstanceWarmup: pulumi.Int(0),
	MetricAggregationType:   pulumi.String("string"),
	AdjustmentType:          pulumi.String("string"),
	Name:                    pulumi.String("string"),
	PolicyType:              pulumi.String("string"),
	PredictiveScalingConfiguration: &autoscaling.PolicyPredictiveScalingConfigurationArgs{
		MetricSpecification: &autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationArgs{
			TargetValue: pulumi.Float64(0),
			CustomizedCapacityMetricSpecification: &autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationArgs{
				MetricDataQueries: autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryArray{
					&autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryArgs{
						Id:         pulumi.String("string"),
						Expression: pulumi.String("string"),
						Label:      pulumi.String("string"),
						MetricStat: &autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryMetricStatArgs{
							Metric: &autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryMetricStatMetricArgs{
								MetricName: pulumi.String("string"),
								Namespace:  pulumi.String("string"),
								Dimensions: autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryMetricStatMetricDimensionArray{
									&autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryMetricStatMetricDimensionArgs{
										Name:  pulumi.String("string"),
										Value: pulumi.String("string"),
									},
								},
							},
							Stat: pulumi.String("string"),
							Unit: pulumi.String("string"),
						},
						ReturnData: pulumi.Bool(false),
					},
				},
			},
			CustomizedLoadMetricSpecification: &autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationArgs{
				MetricDataQueries: autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryArray{
					&autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryArgs{
						Id:         pulumi.String("string"),
						Expression: pulumi.String("string"),
						Label:      pulumi.String("string"),
						MetricStat: &autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryMetricStatArgs{
							Metric: &autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryMetricStatMetricArgs{
								MetricName: pulumi.String("string"),
								Namespace:  pulumi.String("string"),
								Dimensions: autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryMetricStatMetricDimensionArray{
									&autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryMetricStatMetricDimensionArgs{
										Name:  pulumi.String("string"),
										Value: pulumi.String("string"),
									},
								},
							},
							Stat: pulumi.String("string"),
							Unit: pulumi.String("string"),
						},
						ReturnData: pulumi.Bool(false),
					},
				},
			},
			CustomizedScalingMetricSpecification: &autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs{
				MetricDataQueries: autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArray{
					&autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs{
						Id:         pulumi.String("string"),
						Expression: pulumi.String("string"),
						Label:      pulumi.String("string"),
						MetricStat: &autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatArgs{
							Metric: &autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricArgs{
								MetricName: pulumi.String("string"),
								Namespace:  pulumi.String("string"),
								Dimensions: autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricDimensionArray{
									&autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricDimensionArgs{
										Name:  pulumi.String("string"),
										Value: pulumi.String("string"),
									},
								},
							},
							Stat: pulumi.String("string"),
							Unit: pulumi.String("string"),
						},
						ReturnData: pulumi.Bool(false),
					},
				},
			},
			PredefinedLoadMetricSpecification: &autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs{
				PredefinedMetricType: pulumi.String("string"),
				ResourceLabel:        pulumi.String("string"),
			},
			PredefinedMetricPairSpecification: &autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationArgs{
				PredefinedMetricType: pulumi.String("string"),
				ResourceLabel:        pulumi.String("string"),
			},
			PredefinedScalingMetricSpecification: &autoscaling.PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationArgs{
				PredefinedMetricType: pulumi.String("string"),
				ResourceLabel:        pulumi.String("string"),
			},
		},
		MaxCapacityBreachBehavior: pulumi.String("string"),
		MaxCapacityBuffer:         pulumi.String("string"),
		Mode:                      pulumi.String("string"),
		SchedulingBufferTime:      pulumi.String("string"),
	},
	ScalingAdjustment: pulumi.Int(0),
	StepAdjustments: autoscaling.PolicyStepAdjustmentArray{
		&autoscaling.PolicyStepAdjustmentArgs{
			ScalingAdjustment:        pulumi.Int(0),
			MetricIntervalLowerBound: pulumi.String("string"),
			MetricIntervalUpperBound: pulumi.String("string"),
		},
	},
	TargetTrackingConfiguration: &autoscaling.PolicyTargetTrackingConfigurationArgs{
		TargetValue: pulumi.Float64(0),
		CustomizedMetricSpecification: &autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs{
			MetricDimensions: autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArray{
				&autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArgs{
					Name:  pulumi.String("string"),
					Value: pulumi.String("string"),
				},
			},
			MetricName: pulumi.String("string"),
			Metrics: autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArray{
				&autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs{
					Id:         pulumi.String("string"),
					Expression: pulumi.String("string"),
					Label:      pulumi.String("string"),
					MetricStat: &autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatArgs{
						Metric: &autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs{
							MetricName: pulumi.String("string"),
							Namespace:  pulumi.String("string"),
							Dimensions: autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArray{
								&autoscaling.PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs{
									Name:  pulumi.String("string"),
									Value: pulumi.String("string"),
								},
							},
						},
						Stat:   pulumi.String("string"),
						Period: pulumi.Int(0),
						Unit:   pulumi.String("string"),
					},
					ReturnData: pulumi.Bool(false),
				},
			},
			Namespace: pulumi.String("string"),
			Period:    pulumi.Int(0),
			Statistic: pulumi.String("string"),
			Unit:      pulumi.String("string"),
		},
		DisableScaleIn: pulumi.Bool(false),
		PredefinedMetricSpecification: &autoscaling.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs{
			PredefinedMetricType: pulumi.String("string"),
			ResourceLabel:        pulumi.String("string"),
		},
	},
})
var examplepolicyResourceResourceFromAutoscalingpolicy = new Policy("examplepolicyResourceResourceFromAutoscalingpolicy", PolicyArgs.builder()
    .autoscalingGroupName("string")
    .minAdjustmentMagnitude(0)
    .cooldown(0)
    .enabled(false)
    .estimatedInstanceWarmup(0)
    .metricAggregationType("string")
    .adjustmentType("string")
    .name("string")
    .policyType("string")
    .predictiveScalingConfiguration(PolicyPredictiveScalingConfigurationArgs.builder()
        .metricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationArgs.builder()
            .targetValue(0)
            .customizedCapacityMetricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationArgs.builder()
                .metricDataQueries(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryArgs.builder()
                    .id("string")
                    .expression("string")
                    .label("string")
                    .metricStat(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryMetricStatArgs.builder()
                        .metric(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryMetricStatMetricArgs.builder()
                            .metricName("string")
                            .namespace("string")
                            .dimensions(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryMetricStatMetricDimensionArgs.builder()
                                .name("string")
                                .value("string")
                                .build())
                            .build())
                        .stat("string")
                        .unit("string")
                        .build())
                    .returnData(false)
                    .build())
                .build())
            .customizedLoadMetricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationArgs.builder()
                .metricDataQueries(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryArgs.builder()
                    .id("string")
                    .expression("string")
                    .label("string")
                    .metricStat(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryMetricStatArgs.builder()
                        .metric(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryMetricStatMetricArgs.builder()
                            .metricName("string")
                            .namespace("string")
                            .dimensions(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryMetricStatMetricDimensionArgs.builder()
                                .name("string")
                                .value("string")
                                .build())
                            .build())
                        .stat("string")
                        .unit("string")
                        .build())
                    .returnData(false)
                    .build())
                .build())
            .customizedScalingMetricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs.builder()
                .metricDataQueries(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs.builder()
                    .id("string")
                    .expression("string")
                    .label("string")
                    .metricStat(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatArgs.builder()
                        .metric(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricArgs.builder()
                            .metricName("string")
                            .namespace("string")
                            .dimensions(PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricDimensionArgs.builder()
                                .name("string")
                                .value("string")
                                .build())
                            .build())
                        .stat("string")
                        .unit("string")
                        .build())
                    .returnData(false)
                    .build())
                .build())
            .predefinedLoadMetricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs.builder()
                .predefinedMetricType("string")
                .resourceLabel("string")
                .build())
            .predefinedMetricPairSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationArgs.builder()
                .predefinedMetricType("string")
                .resourceLabel("string")
                .build())
            .predefinedScalingMetricSpecification(PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationArgs.builder()
                .predefinedMetricType("string")
                .resourceLabel("string")
                .build())
            .build())
        .maxCapacityBreachBehavior("string")
        .maxCapacityBuffer("string")
        .mode("string")
        .schedulingBufferTime("string")
        .build())
    .scalingAdjustment(0)
    .stepAdjustments(PolicyStepAdjustmentArgs.builder()
        .scalingAdjustment(0)
        .metricIntervalLowerBound("string")
        .metricIntervalUpperBound("string")
        .build())
    .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder()
        .targetValue(0)
        .customizedMetricSpecification(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs.builder()
            .metricDimensions(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArgs.builder()
                .name("string")
                .value("string")
                .build())
            .metricName("string")
            .metrics(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs.builder()
                .id("string")
                .expression("string")
                .label("string")
                .metricStat(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatArgs.builder()
                    .metric(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs.builder()
                        .metricName("string")
                        .namespace("string")
                        .dimensions(PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs.builder()
                            .name("string")
                            .value("string")
                            .build())
                        .build())
                    .stat("string")
                    .period(0)
                    .unit("string")
                    .build())
                .returnData(false)
                .build())
            .namespace("string")
            .period(0)
            .statistic("string")
            .unit("string")
            .build())
        .disableScaleIn(false)
        .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder()
            .predefinedMetricType("string")
            .resourceLabel("string")
            .build())
        .build())
    .build());
examplepolicy_resource_resource_from_autoscalingpolicy = aws.autoscaling.Policy("examplepolicyResourceResourceFromAutoscalingpolicy",
    autoscaling_group_name="string",
    min_adjustment_magnitude=0,
    cooldown=0,
    enabled=False,
    estimated_instance_warmup=0,
    metric_aggregation_type="string",
    adjustment_type="string",
    name="string",
    policy_type="string",
    predictive_scaling_configuration={
        "metric_specification": {
            "target_value": 0,
            "customized_capacity_metric_specification": {
                "metric_data_queries": [{
                    "id": "string",
                    "expression": "string",
                    "label": "string",
                    "metric_stat": {
                        "metric": {
                            "metric_name": "string",
                            "namespace": "string",
                            "dimensions": [{
                                "name": "string",
                                "value": "string",
                            }],
                        },
                        "stat": "string",
                        "unit": "string",
                    },
                    "return_data": False,
                }],
            },
            "customized_load_metric_specification": {
                "metric_data_queries": [{
                    "id": "string",
                    "expression": "string",
                    "label": "string",
                    "metric_stat": {
                        "metric": {
                            "metric_name": "string",
                            "namespace": "string",
                            "dimensions": [{
                                "name": "string",
                                "value": "string",
                            }],
                        },
                        "stat": "string",
                        "unit": "string",
                    },
                    "return_data": False,
                }],
            },
            "customized_scaling_metric_specification": {
                "metric_data_queries": [{
                    "id": "string",
                    "expression": "string",
                    "label": "string",
                    "metric_stat": {
                        "metric": {
                            "metric_name": "string",
                            "namespace": "string",
                            "dimensions": [{
                                "name": "string",
                                "value": "string",
                            }],
                        },
                        "stat": "string",
                        "unit": "string",
                    },
                    "return_data": False,
                }],
            },
            "predefined_load_metric_specification": {
                "predefined_metric_type": "string",
                "resource_label": "string",
            },
            "predefined_metric_pair_specification": {
                "predefined_metric_type": "string",
                "resource_label": "string",
            },
            "predefined_scaling_metric_specification": {
                "predefined_metric_type": "string",
                "resource_label": "string",
            },
        },
        "max_capacity_breach_behavior": "string",
        "max_capacity_buffer": "string",
        "mode": "string",
        "scheduling_buffer_time": "string",
    },
    scaling_adjustment=0,
    step_adjustments=[{
        "scaling_adjustment": 0,
        "metric_interval_lower_bound": "string",
        "metric_interval_upper_bound": "string",
    }],
    target_tracking_configuration={
        "target_value": 0,
        "customized_metric_specification": {
            "metric_dimensions": [{
                "name": "string",
                "value": "string",
            }],
            "metric_name": "string",
            "metrics": [{
                "id": "string",
                "expression": "string",
                "label": "string",
                "metric_stat": {
                    "metric": {
                        "metric_name": "string",
                        "namespace": "string",
                        "dimensions": [{
                            "name": "string",
                            "value": "string",
                        }],
                    },
                    "stat": "string",
                    "period": 0,
                    "unit": "string",
                },
                "return_data": False,
            }],
            "namespace": "string",
            "period": 0,
            "statistic": "string",
            "unit": "string",
        },
        "disable_scale_in": False,
        "predefined_metric_specification": {
            "predefined_metric_type": "string",
            "resource_label": "string",
        },
    })
const examplepolicyResourceResourceFromAutoscalingpolicy = new aws.autoscaling.Policy("examplepolicyResourceResourceFromAutoscalingpolicy", {
    autoscalingGroupName: "string",
    minAdjustmentMagnitude: 0,
    cooldown: 0,
    enabled: false,
    estimatedInstanceWarmup: 0,
    metricAggregationType: "string",
    adjustmentType: "string",
    name: "string",
    policyType: "string",
    predictiveScalingConfiguration: {
        metricSpecification: {
            targetValue: 0,
            customizedCapacityMetricSpecification: {
                metricDataQueries: [{
                    id: "string",
                    expression: "string",
                    label: "string",
                    metricStat: {
                        metric: {
                            metricName: "string",
                            namespace: "string",
                            dimensions: [{
                                name: "string",
                                value: "string",
                            }],
                        },
                        stat: "string",
                        unit: "string",
                    },
                    returnData: false,
                }],
            },
            customizedLoadMetricSpecification: {
                metricDataQueries: [{
                    id: "string",
                    expression: "string",
                    label: "string",
                    metricStat: {
                        metric: {
                            metricName: "string",
                            namespace: "string",
                            dimensions: [{
                                name: "string",
                                value: "string",
                            }],
                        },
                        stat: "string",
                        unit: "string",
                    },
                    returnData: false,
                }],
            },
            customizedScalingMetricSpecification: {
                metricDataQueries: [{
                    id: "string",
                    expression: "string",
                    label: "string",
                    metricStat: {
                        metric: {
                            metricName: "string",
                            namespace: "string",
                            dimensions: [{
                                name: "string",
                                value: "string",
                            }],
                        },
                        stat: "string",
                        unit: "string",
                    },
                    returnData: false,
                }],
            },
            predefinedLoadMetricSpecification: {
                predefinedMetricType: "string",
                resourceLabel: "string",
            },
            predefinedMetricPairSpecification: {
                predefinedMetricType: "string",
                resourceLabel: "string",
            },
            predefinedScalingMetricSpecification: {
                predefinedMetricType: "string",
                resourceLabel: "string",
            },
        },
        maxCapacityBreachBehavior: "string",
        maxCapacityBuffer: "string",
        mode: "string",
        schedulingBufferTime: "string",
    },
    scalingAdjustment: 0,
    stepAdjustments: [{
        scalingAdjustment: 0,
        metricIntervalLowerBound: "string",
        metricIntervalUpperBound: "string",
    }],
    targetTrackingConfiguration: {
        targetValue: 0,
        customizedMetricSpecification: {
            metricDimensions: [{
                name: "string",
                value: "string",
            }],
            metricName: "string",
            metrics: [{
                id: "string",
                expression: "string",
                label: "string",
                metricStat: {
                    metric: {
                        metricName: "string",
                        namespace: "string",
                        dimensions: [{
                            name: "string",
                            value: "string",
                        }],
                    },
                    stat: "string",
                    period: 0,
                    unit: "string",
                },
                returnData: false,
            }],
            namespace: "string",
            period: 0,
            statistic: "string",
            unit: "string",
        },
        disableScaleIn: false,
        predefinedMetricSpecification: {
            predefinedMetricType: "string",
            resourceLabel: "string",
        },
    },
});
type: aws:autoscaling:Policy
properties:
    adjustmentType: string
    autoscalingGroupName: string
    cooldown: 0
    enabled: false
    estimatedInstanceWarmup: 0
    metricAggregationType: string
    minAdjustmentMagnitude: 0
    name: string
    policyType: string
    predictiveScalingConfiguration:
        maxCapacityBreachBehavior: string
        maxCapacityBuffer: string
        metricSpecification:
            customizedCapacityMetricSpecification:
                metricDataQueries:
                    - expression: string
                      id: string
                      label: string
                      metricStat:
                        metric:
                            dimensions:
                                - name: string
                                  value: string
                            metricName: string
                            namespace: string
                        stat: string
                        unit: string
                      returnData: false
            customizedLoadMetricSpecification:
                metricDataQueries:
                    - expression: string
                      id: string
                      label: string
                      metricStat:
                        metric:
                            dimensions:
                                - name: string
                                  value: string
                            metricName: string
                            namespace: string
                        stat: string
                        unit: string
                      returnData: false
            customizedScalingMetricSpecification:
                metricDataQueries:
                    - expression: string
                      id: string
                      label: string
                      metricStat:
                        metric:
                            dimensions:
                                - name: string
                                  value: string
                            metricName: string
                            namespace: string
                        stat: string
                        unit: string
                      returnData: false
            predefinedLoadMetricSpecification:
                predefinedMetricType: string
                resourceLabel: string
            predefinedMetricPairSpecification:
                predefinedMetricType: string
                resourceLabel: string
            predefinedScalingMetricSpecification:
                predefinedMetricType: string
                resourceLabel: string
            targetValue: 0
        mode: string
        schedulingBufferTime: string
    scalingAdjustment: 0
    stepAdjustments:
        - metricIntervalLowerBound: string
          metricIntervalUpperBound: string
          scalingAdjustment: 0
    targetTrackingConfiguration:
        customizedMetricSpecification:
            metricDimensions:
                - name: string
                  value: string
            metricName: string
            metrics:
                - expression: string
                  id: string
                  label: string
                  metricStat:
                    metric:
                        dimensions:
                            - name: string
                              value: string
                        metricName: string
                        namespace: string
                    period: 0
                    stat: string
                    unit: string
                  returnData: false
            namespace: string
            period: 0
            statistic: string
            unit: string
        disableScaleIn: false
        predefinedMetricSpecification:
            predefinedMetricType: string
            resourceLabel: string
        targetValue: 0
Policy 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 Policy resource accepts the following input properties:
- Autoscaling
Group stringName  - Name of the autoscaling group.
 - Adjustment
Type string - Whether the adjustment is an absolute number or a percentage of the current capacity. Valid values are 
ChangeInCapacity,ExactCapacity, andPercentChangeInCapacity. - Cooldown int
 - Amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - Enabled bool
 Whether the scaling policy is enabled or disabled. Default:
true.The following argument is only available to "SimpleScaling" and "StepScaling" type policies:
- Estimated
Instance intWarmup  - Estimated time, in seconds, until a newly launched instance will contribute CloudWatch metrics. Without a value, AWS will default to the group's specified cooldown period.
 - Metric
Aggregation stringType  - Aggregation type for the policy's metrics. Valid values are "Minimum", "Maximum", and "Average". Without a value, AWS will treat the aggregation type as "Average".
 - Min
Adjustment intMagnitude  Minimum value to scale by when
adjustment_typeis set toPercentChangeInCapacity.The following arguments are only available to "SimpleScaling" type policies:
- Name string
 - Name of the policy.
 - Policy
Type string - Policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
 - Predictive
Scaling PolicyConfiguration Predictive Scaling Configuration  - Predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
 - Scaling
Adjustment int - Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
 - Step
Adjustments List<PolicyStep Adjustment>  Set of adjustments that manage group scaling. These have the following structure:
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";const example = new aws.autoscaling.Policy("example", {stepAdjustments: [ { scalingAdjustment: -1, metricIntervalLowerBound: "1", metricIntervalUpperBound: "2", }, { scalingAdjustment: 1, metricIntervalLowerBound: "2", metricIntervalUpperBound: "3", }, ]});
import pulumi import pulumi_aws as aws example = aws.autoscaling.Policy("example", step_adjustments=[ { "scaling_adjustment": -1, "metric_interval_lower_bound": "1", "metric_interval_upper_bound": "2", }, { "scaling_adjustment": 1, "metric_interval_lower_bound": "2", "metric_interval_upper_bound": "3", }, ])using System.Collections.Generic; using System.Linq; using Pulumi; using Aws = Pulumi.Aws; return await Deployment.RunAsync(() => { var example = new Aws.AutoScaling.Policy("example", new() { StepAdjustments = new[] { new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs { ScalingAdjustment = -1, MetricIntervalLowerBound = "1", MetricIntervalUpperBound = "2", }, new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs { ScalingAdjustment = 1, MetricIntervalLowerBound = "2", MetricIntervalUpperBound = "3", }, }, }); });package main import ( "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{ StepAdjustments: autoscaling.PolicyStepAdjustmentArray{ &autoscaling.PolicyStepAdjustmentArgs{ ScalingAdjustment: pulumi.Int(-1), MetricIntervalLowerBound: pulumi.String("1"), MetricIntervalUpperBound: pulumi.String("2"), }, &autoscaling.PolicyStepAdjustmentArgs{ ScalingAdjustment: pulumi.Int(1), MetricIntervalLowerBound: pulumi.String("2"), MetricIntervalUpperBound: pulumi.String("3"), }, }, }) if err != nil { return err } return nil }) }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.autoscaling.Policy; import com.pulumi.aws.autoscaling.PolicyArgs; import com.pulumi.aws.autoscaling.inputs.PolicyStepAdjustmentArgs; 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 Policy("example", PolicyArgs.builder() .stepAdjustments( PolicyStepAdjustmentArgs.builder() .scalingAdjustment(-1) .metricIntervalLowerBound("1") .metricIntervalUpperBound("2") .build(), PolicyStepAdjustmentArgs.builder() .scalingAdjustment(1) .metricIntervalLowerBound("2") .metricIntervalUpperBound("3") .build()) .build()); } }resources: example: type: aws:autoscaling:Policy properties: stepAdjustments: - scalingAdjustment: -1 metricIntervalLowerBound: 1 metricIntervalUpperBound: 2 - scalingAdjustment: 1 metricIntervalLowerBound: 2 metricIntervalUpperBound: 3The following fields are available in step adjustments:
- Target
Tracking PolicyConfiguration Target Tracking Configuration  Target tracking policy. These have the following structure:
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";const example = new aws.autoscaling.Policy("example", {targetTrackingConfiguration: { predefinedMetricSpecification: { predefinedMetricType: "ASGAverageCPUUtilization", }, targetValue: 40, }});
import pulumi import pulumi_aws as aws example = aws.autoscaling.Policy("example", target_tracking_configuration={ "predefined_metric_specification": { "predefined_metric_type": "ASGAverageCPUUtilization", }, "target_value": 40, })using System.Collections.Generic; using System.Linq; using Pulumi; using Aws = Pulumi.Aws; return await Deployment.RunAsync(() => { var example = new Aws.AutoScaling.Policy("example", new() { TargetTrackingConfiguration = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationArgs { PredefinedMetricSpecification = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs { PredefinedMetricType = "ASGAverageCPUUtilization", }, TargetValue = 40, }, }); });package main import ( "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{ TargetTrackingConfiguration: &autoscaling.PolicyTargetTrackingConfigurationArgs{ PredefinedMetricSpecification: &autoscaling.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs{ PredefinedMetricType: pulumi.String("ASGAverageCPUUtilization"), }, TargetValue: pulumi.Float64(40), }, }) if err != nil { return err } return nil }) }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.autoscaling.Policy; import com.pulumi.aws.autoscaling.PolicyArgs; import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationArgs; import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs; 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 Policy("example", PolicyArgs.builder() .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder() .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder() .predefinedMetricType("ASGAverageCPUUtilization") .build()) .targetValue(40.0) .build()) .build()); } }resources: example: type: aws:autoscaling:Policy properties: targetTrackingConfiguration: predefinedMetricSpecification: predefinedMetricType: ASGAverageCPUUtilization targetValue: 40The following fields are available in target tracking configuration:
- Autoscaling
Group stringName  - Name of the autoscaling group.
 - Adjustment
Type string - Whether the adjustment is an absolute number or a percentage of the current capacity. Valid values are 
ChangeInCapacity,ExactCapacity, andPercentChangeInCapacity. - Cooldown int
 - Amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - Enabled bool
 Whether the scaling policy is enabled or disabled. Default:
true.The following argument is only available to "SimpleScaling" and "StepScaling" type policies:
- Estimated
Instance intWarmup  - Estimated time, in seconds, until a newly launched instance will contribute CloudWatch metrics. Without a value, AWS will default to the group's specified cooldown period.
 - Metric
Aggregation stringType  - Aggregation type for the policy's metrics. Valid values are "Minimum", "Maximum", and "Average". Without a value, AWS will treat the aggregation type as "Average".
 - Min
Adjustment intMagnitude  Minimum value to scale by when
adjustment_typeis set toPercentChangeInCapacity.The following arguments are only available to "SimpleScaling" type policies:
- Name string
 - Name of the policy.
 - Policy
Type string - Policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
 - Predictive
Scaling PolicyConfiguration Predictive Scaling Configuration Args  - Predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
 - Scaling
Adjustment int - Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
 - Step
Adjustments []PolicyStep Adjustment Args  Set of adjustments that manage group scaling. These have the following structure:
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";const example = new aws.autoscaling.Policy("example", {stepAdjustments: [ { scalingAdjustment: -1, metricIntervalLowerBound: "1", metricIntervalUpperBound: "2", }, { scalingAdjustment: 1, metricIntervalLowerBound: "2", metricIntervalUpperBound: "3", }, ]});
import pulumi import pulumi_aws as aws example = aws.autoscaling.Policy("example", step_adjustments=[ { "scaling_adjustment": -1, "metric_interval_lower_bound": "1", "metric_interval_upper_bound": "2", }, { "scaling_adjustment": 1, "metric_interval_lower_bound": "2", "metric_interval_upper_bound": "3", }, ])using System.Collections.Generic; using System.Linq; using Pulumi; using Aws = Pulumi.Aws; return await Deployment.RunAsync(() => { var example = new Aws.AutoScaling.Policy("example", new() { StepAdjustments = new[] { new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs { ScalingAdjustment = -1, MetricIntervalLowerBound = "1", MetricIntervalUpperBound = "2", }, new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs { ScalingAdjustment = 1, MetricIntervalLowerBound = "2", MetricIntervalUpperBound = "3", }, }, }); });package main import ( "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{ StepAdjustments: autoscaling.PolicyStepAdjustmentArray{ &autoscaling.PolicyStepAdjustmentArgs{ ScalingAdjustment: pulumi.Int(-1), MetricIntervalLowerBound: pulumi.String("1"), MetricIntervalUpperBound: pulumi.String("2"), }, &autoscaling.PolicyStepAdjustmentArgs{ ScalingAdjustment: pulumi.Int(1), MetricIntervalLowerBound: pulumi.String("2"), MetricIntervalUpperBound: pulumi.String("3"), }, }, }) if err != nil { return err } return nil }) }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.autoscaling.Policy; import com.pulumi.aws.autoscaling.PolicyArgs; import com.pulumi.aws.autoscaling.inputs.PolicyStepAdjustmentArgs; 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 Policy("example", PolicyArgs.builder() .stepAdjustments( PolicyStepAdjustmentArgs.builder() .scalingAdjustment(-1) .metricIntervalLowerBound("1") .metricIntervalUpperBound("2") .build(), PolicyStepAdjustmentArgs.builder() .scalingAdjustment(1) .metricIntervalLowerBound("2") .metricIntervalUpperBound("3") .build()) .build()); } }resources: example: type: aws:autoscaling:Policy properties: stepAdjustments: - scalingAdjustment: -1 metricIntervalLowerBound: 1 metricIntervalUpperBound: 2 - scalingAdjustment: 1 metricIntervalLowerBound: 2 metricIntervalUpperBound: 3The following fields are available in step adjustments:
- Target
Tracking PolicyConfiguration Target Tracking Configuration Args  Target tracking policy. These have the following structure:
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";const example = new aws.autoscaling.Policy("example", {targetTrackingConfiguration: { predefinedMetricSpecification: { predefinedMetricType: "ASGAverageCPUUtilization", }, targetValue: 40, }});
import pulumi import pulumi_aws as aws example = aws.autoscaling.Policy("example", target_tracking_configuration={ "predefined_metric_specification": { "predefined_metric_type": "ASGAverageCPUUtilization", }, "target_value": 40, })using System.Collections.Generic; using System.Linq; using Pulumi; using Aws = Pulumi.Aws; return await Deployment.RunAsync(() => { var example = new Aws.AutoScaling.Policy("example", new() { TargetTrackingConfiguration = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationArgs { PredefinedMetricSpecification = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs { PredefinedMetricType = "ASGAverageCPUUtilization", }, TargetValue = 40, }, }); });package main import ( "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{ TargetTrackingConfiguration: &autoscaling.PolicyTargetTrackingConfigurationArgs{ PredefinedMetricSpecification: &autoscaling.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs{ PredefinedMetricType: pulumi.String("ASGAverageCPUUtilization"), }, TargetValue: pulumi.Float64(40), }, }) if err != nil { return err } return nil }) }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.autoscaling.Policy; import com.pulumi.aws.autoscaling.PolicyArgs; import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationArgs; import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs; 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 Policy("example", PolicyArgs.builder() .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder() .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder() .predefinedMetricType("ASGAverageCPUUtilization") .build()) .targetValue(40.0) .build()) .build()); } }resources: example: type: aws:autoscaling:Policy properties: targetTrackingConfiguration: predefinedMetricSpecification: predefinedMetricType: ASGAverageCPUUtilization targetValue: 40The following fields are available in target tracking configuration:
- autoscaling
Group StringName  - Name of the autoscaling group.
 - adjustment
Type String - Whether the adjustment is an absolute number or a percentage of the current capacity. Valid values are 
ChangeInCapacity,ExactCapacity, andPercentChangeInCapacity. - cooldown Integer
 - Amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - enabled Boolean
 Whether the scaling policy is enabled or disabled. Default:
true.The following argument is only available to "SimpleScaling" and "StepScaling" type policies:
- estimated
Instance IntegerWarmup  - Estimated time, in seconds, until a newly launched instance will contribute CloudWatch metrics. Without a value, AWS will default to the group's specified cooldown period.
 - metric
Aggregation StringType  - Aggregation type for the policy's metrics. Valid values are "Minimum", "Maximum", and "Average". Without a value, AWS will treat the aggregation type as "Average".
 - min
Adjustment IntegerMagnitude  Minimum value to scale by when
adjustment_typeis set toPercentChangeInCapacity.The following arguments are only available to "SimpleScaling" type policies:
- name String
 - Name of the policy.
 - policy
Type String - Policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
 - predictive
Scaling PolicyConfiguration Predictive Scaling Configuration  - Predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
 - scaling
Adjustment Integer - Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
 - step
Adjustments List<PolicyStep Adjustment>  Set of adjustments that manage group scaling. These have the following structure:
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";const example = new aws.autoscaling.Policy("example", {stepAdjustments: [ { scalingAdjustment: -1, metricIntervalLowerBound: "1", metricIntervalUpperBound: "2", }, { scalingAdjustment: 1, metricIntervalLowerBound: "2", metricIntervalUpperBound: "3", }, ]});
import pulumi import pulumi_aws as aws example = aws.autoscaling.Policy("example", step_adjustments=[ { "scaling_adjustment": -1, "metric_interval_lower_bound": "1", "metric_interval_upper_bound": "2", }, { "scaling_adjustment": 1, "metric_interval_lower_bound": "2", "metric_interval_upper_bound": "3", }, ])using System.Collections.Generic; using System.Linq; using Pulumi; using Aws = Pulumi.Aws; return await Deployment.RunAsync(() => { var example = new Aws.AutoScaling.Policy("example", new() { StepAdjustments = new[] { new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs { ScalingAdjustment = -1, MetricIntervalLowerBound = "1", MetricIntervalUpperBound = "2", }, new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs { ScalingAdjustment = 1, MetricIntervalLowerBound = "2", MetricIntervalUpperBound = "3", }, }, }); });package main import ( "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{ StepAdjustments: autoscaling.PolicyStepAdjustmentArray{ &autoscaling.PolicyStepAdjustmentArgs{ ScalingAdjustment: pulumi.Int(-1), MetricIntervalLowerBound: pulumi.String("1"), MetricIntervalUpperBound: pulumi.String("2"), }, &autoscaling.PolicyStepAdjustmentArgs{ ScalingAdjustment: pulumi.Int(1), MetricIntervalLowerBound: pulumi.String("2"), MetricIntervalUpperBound: pulumi.String("3"), }, }, }) if err != nil { return err } return nil }) }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.autoscaling.Policy; import com.pulumi.aws.autoscaling.PolicyArgs; import com.pulumi.aws.autoscaling.inputs.PolicyStepAdjustmentArgs; 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 Policy("example", PolicyArgs.builder() .stepAdjustments( PolicyStepAdjustmentArgs.builder() .scalingAdjustment(-1) .metricIntervalLowerBound("1") .metricIntervalUpperBound("2") .build(), PolicyStepAdjustmentArgs.builder() .scalingAdjustment(1) .metricIntervalLowerBound("2") .metricIntervalUpperBound("3") .build()) .build()); } }resources: example: type: aws:autoscaling:Policy properties: stepAdjustments: - scalingAdjustment: -1 metricIntervalLowerBound: 1 metricIntervalUpperBound: 2 - scalingAdjustment: 1 metricIntervalLowerBound: 2 metricIntervalUpperBound: 3The following fields are available in step adjustments:
- target
Tracking PolicyConfiguration Target Tracking Configuration  Target tracking policy. These have the following structure:
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";const example = new aws.autoscaling.Policy("example", {targetTrackingConfiguration: { predefinedMetricSpecification: { predefinedMetricType: "ASGAverageCPUUtilization", }, targetValue: 40, }});
import pulumi import pulumi_aws as aws example = aws.autoscaling.Policy("example", target_tracking_configuration={ "predefined_metric_specification": { "predefined_metric_type": "ASGAverageCPUUtilization", }, "target_value": 40, })using System.Collections.Generic; using System.Linq; using Pulumi; using Aws = Pulumi.Aws; return await Deployment.RunAsync(() => { var example = new Aws.AutoScaling.Policy("example", new() { TargetTrackingConfiguration = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationArgs { PredefinedMetricSpecification = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs { PredefinedMetricType = "ASGAverageCPUUtilization", }, TargetValue = 40, }, }); });package main import ( "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{ TargetTrackingConfiguration: &autoscaling.PolicyTargetTrackingConfigurationArgs{ PredefinedMetricSpecification: &autoscaling.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs{ PredefinedMetricType: pulumi.String("ASGAverageCPUUtilization"), }, TargetValue: pulumi.Float64(40), }, }) if err != nil { return err } return nil }) }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.autoscaling.Policy; import com.pulumi.aws.autoscaling.PolicyArgs; import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationArgs; import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs; 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 Policy("example", PolicyArgs.builder() .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder() .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder() .predefinedMetricType("ASGAverageCPUUtilization") .build()) .targetValue(40.0) .build()) .build()); } }resources: example: type: aws:autoscaling:Policy properties: targetTrackingConfiguration: predefinedMetricSpecification: predefinedMetricType: ASGAverageCPUUtilization targetValue: 40The following fields are available in target tracking configuration:
- autoscaling
Group stringName  - Name of the autoscaling group.
 - adjustment
Type string - Whether the adjustment is an absolute number or a percentage of the current capacity. Valid values are 
ChangeInCapacity,ExactCapacity, andPercentChangeInCapacity. - cooldown number
 - Amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - enabled boolean
 Whether the scaling policy is enabled or disabled. Default:
true.The following argument is only available to "SimpleScaling" and "StepScaling" type policies:
- estimated
Instance numberWarmup  - Estimated time, in seconds, until a newly launched instance will contribute CloudWatch metrics. Without a value, AWS will default to the group's specified cooldown period.
 - metric
Aggregation stringType  - Aggregation type for the policy's metrics. Valid values are "Minimum", "Maximum", and "Average". Without a value, AWS will treat the aggregation type as "Average".
 - min
Adjustment numberMagnitude  Minimum value to scale by when
adjustment_typeis set toPercentChangeInCapacity.The following arguments are only available to "SimpleScaling" type policies:
- name string
 - Name of the policy.
 - policy
Type string - Policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
 - predictive
Scaling PolicyConfiguration Predictive Scaling Configuration  - Predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
 - scaling
Adjustment number - Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
 - step
Adjustments PolicyStep Adjustment[]  Set of adjustments that manage group scaling. These have the following structure:
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";const example = new aws.autoscaling.Policy("example", {stepAdjustments: [ { scalingAdjustment: -1, metricIntervalLowerBound: "1", metricIntervalUpperBound: "2", }, { scalingAdjustment: 1, metricIntervalLowerBound: "2", metricIntervalUpperBound: "3", }, ]});
import pulumi import pulumi_aws as aws example = aws.autoscaling.Policy("example", step_adjustments=[ { "scaling_adjustment": -1, "metric_interval_lower_bound": "1", "metric_interval_upper_bound": "2", }, { "scaling_adjustment": 1, "metric_interval_lower_bound": "2", "metric_interval_upper_bound": "3", }, ])using System.Collections.Generic; using System.Linq; using Pulumi; using Aws = Pulumi.Aws; return await Deployment.RunAsync(() => { var example = new Aws.AutoScaling.Policy("example", new() { StepAdjustments = new[] { new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs { ScalingAdjustment = -1, MetricIntervalLowerBound = "1", MetricIntervalUpperBound = "2", }, new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs { ScalingAdjustment = 1, MetricIntervalLowerBound = "2", MetricIntervalUpperBound = "3", }, }, }); });package main import ( "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{ StepAdjustments: autoscaling.PolicyStepAdjustmentArray{ &autoscaling.PolicyStepAdjustmentArgs{ ScalingAdjustment: pulumi.Int(-1), MetricIntervalLowerBound: pulumi.String("1"), MetricIntervalUpperBound: pulumi.String("2"), }, &autoscaling.PolicyStepAdjustmentArgs{ ScalingAdjustment: pulumi.Int(1), MetricIntervalLowerBound: pulumi.String("2"), MetricIntervalUpperBound: pulumi.String("3"), }, }, }) if err != nil { return err } return nil }) }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.autoscaling.Policy; import com.pulumi.aws.autoscaling.PolicyArgs; import com.pulumi.aws.autoscaling.inputs.PolicyStepAdjustmentArgs; 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 Policy("example", PolicyArgs.builder() .stepAdjustments( PolicyStepAdjustmentArgs.builder() .scalingAdjustment(-1) .metricIntervalLowerBound("1") .metricIntervalUpperBound("2") .build(), PolicyStepAdjustmentArgs.builder() .scalingAdjustment(1) .metricIntervalLowerBound("2") .metricIntervalUpperBound("3") .build()) .build()); } }resources: example: type: aws:autoscaling:Policy properties: stepAdjustments: - scalingAdjustment: -1 metricIntervalLowerBound: 1 metricIntervalUpperBound: 2 - scalingAdjustment: 1 metricIntervalLowerBound: 2 metricIntervalUpperBound: 3The following fields are available in step adjustments:
- target
Tracking PolicyConfiguration Target Tracking Configuration  Target tracking policy. These have the following structure:
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";const example = new aws.autoscaling.Policy("example", {targetTrackingConfiguration: { predefinedMetricSpecification: { predefinedMetricType: "ASGAverageCPUUtilization", }, targetValue: 40, }});
import pulumi import pulumi_aws as aws example = aws.autoscaling.Policy("example", target_tracking_configuration={ "predefined_metric_specification": { "predefined_metric_type": "ASGAverageCPUUtilization", }, "target_value": 40, })using System.Collections.Generic; using System.Linq; using Pulumi; using Aws = Pulumi.Aws; return await Deployment.RunAsync(() => { var example = new Aws.AutoScaling.Policy("example", new() { TargetTrackingConfiguration = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationArgs { PredefinedMetricSpecification = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs { PredefinedMetricType = "ASGAverageCPUUtilization", }, TargetValue = 40, }, }); });package main import ( "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{ TargetTrackingConfiguration: &autoscaling.PolicyTargetTrackingConfigurationArgs{ PredefinedMetricSpecification: &autoscaling.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs{ PredefinedMetricType: pulumi.String("ASGAverageCPUUtilization"), }, TargetValue: pulumi.Float64(40), }, }) if err != nil { return err } return nil }) }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.autoscaling.Policy; import com.pulumi.aws.autoscaling.PolicyArgs; import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationArgs; import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs; 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 Policy("example", PolicyArgs.builder() .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder() .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder() .predefinedMetricType("ASGAverageCPUUtilization") .build()) .targetValue(40.0) .build()) .build()); } }resources: example: type: aws:autoscaling:Policy properties: targetTrackingConfiguration: predefinedMetricSpecification: predefinedMetricType: ASGAverageCPUUtilization targetValue: 40The following fields are available in target tracking configuration:
- autoscaling_
group_ strname  - Name of the autoscaling group.
 - adjustment_
type str - Whether the adjustment is an absolute number or a percentage of the current capacity. Valid values are 
ChangeInCapacity,ExactCapacity, andPercentChangeInCapacity. - cooldown int
 - Amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - enabled bool
 Whether the scaling policy is enabled or disabled. Default:
true.The following argument is only available to "SimpleScaling" and "StepScaling" type policies:
- estimated_
instance_ intwarmup  - Estimated time, in seconds, until a newly launched instance will contribute CloudWatch metrics. Without a value, AWS will default to the group's specified cooldown period.
 - metric_
aggregation_ strtype  - Aggregation type for the policy's metrics. Valid values are "Minimum", "Maximum", and "Average". Without a value, AWS will treat the aggregation type as "Average".
 - min_
adjustment_ intmagnitude  Minimum value to scale by when
adjustment_typeis set toPercentChangeInCapacity.The following arguments are only available to "SimpleScaling" type policies:
- name str
 - Name of the policy.
 - policy_
type str - Policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
 - predictive_
scaling_ Policyconfiguration Predictive Scaling Configuration Args  - Predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
 - scaling_
adjustment int - Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
 - step_
adjustments Sequence[PolicyStep Adjustment Args]  Set of adjustments that manage group scaling. These have the following structure:
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";const example = new aws.autoscaling.Policy("example", {stepAdjustments: [ { scalingAdjustment: -1, metricIntervalLowerBound: "1", metricIntervalUpperBound: "2", }, { scalingAdjustment: 1, metricIntervalLowerBound: "2", metricIntervalUpperBound: "3", }, ]});
import pulumi import pulumi_aws as aws example = aws.autoscaling.Policy("example", step_adjustments=[ { "scaling_adjustment": -1, "metric_interval_lower_bound": "1", "metric_interval_upper_bound": "2", }, { "scaling_adjustment": 1, "metric_interval_lower_bound": "2", "metric_interval_upper_bound": "3", }, ])using System.Collections.Generic; using System.Linq; using Pulumi; using Aws = Pulumi.Aws; return await Deployment.RunAsync(() => { var example = new Aws.AutoScaling.Policy("example", new() { StepAdjustments = new[] { new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs { ScalingAdjustment = -1, MetricIntervalLowerBound = "1", MetricIntervalUpperBound = "2", }, new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs { ScalingAdjustment = 1, MetricIntervalLowerBound = "2", MetricIntervalUpperBound = "3", }, }, }); });package main import ( "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{ StepAdjustments: autoscaling.PolicyStepAdjustmentArray{ &autoscaling.PolicyStepAdjustmentArgs{ ScalingAdjustment: pulumi.Int(-1), MetricIntervalLowerBound: pulumi.String("1"), MetricIntervalUpperBound: pulumi.String("2"), }, &autoscaling.PolicyStepAdjustmentArgs{ ScalingAdjustment: pulumi.Int(1), MetricIntervalLowerBound: pulumi.String("2"), MetricIntervalUpperBound: pulumi.String("3"), }, }, }) if err != nil { return err } return nil }) }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.autoscaling.Policy; import com.pulumi.aws.autoscaling.PolicyArgs; import com.pulumi.aws.autoscaling.inputs.PolicyStepAdjustmentArgs; 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 Policy("example", PolicyArgs.builder() .stepAdjustments( PolicyStepAdjustmentArgs.builder() .scalingAdjustment(-1) .metricIntervalLowerBound("1") .metricIntervalUpperBound("2") .build(), PolicyStepAdjustmentArgs.builder() .scalingAdjustment(1) .metricIntervalLowerBound("2") .metricIntervalUpperBound("3") .build()) .build()); } }resources: example: type: aws:autoscaling:Policy properties: stepAdjustments: - scalingAdjustment: -1 metricIntervalLowerBound: 1 metricIntervalUpperBound: 2 - scalingAdjustment: 1 metricIntervalLowerBound: 2 metricIntervalUpperBound: 3The following fields are available in step adjustments:
- target_
tracking_ Policyconfiguration Target Tracking Configuration Args  Target tracking policy. These have the following structure:
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";const example = new aws.autoscaling.Policy("example", {targetTrackingConfiguration: { predefinedMetricSpecification: { predefinedMetricType: "ASGAverageCPUUtilization", }, targetValue: 40, }});
import pulumi import pulumi_aws as aws example = aws.autoscaling.Policy("example", target_tracking_configuration={ "predefined_metric_specification": { "predefined_metric_type": "ASGAverageCPUUtilization", }, "target_value": 40, })using System.Collections.Generic; using System.Linq; using Pulumi; using Aws = Pulumi.Aws; return await Deployment.RunAsync(() => { var example = new Aws.AutoScaling.Policy("example", new() { TargetTrackingConfiguration = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationArgs { PredefinedMetricSpecification = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs { PredefinedMetricType = "ASGAverageCPUUtilization", }, TargetValue = 40, }, }); });package main import ( "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{ TargetTrackingConfiguration: &autoscaling.PolicyTargetTrackingConfigurationArgs{ PredefinedMetricSpecification: &autoscaling.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs{ PredefinedMetricType: pulumi.String("ASGAverageCPUUtilization"), }, TargetValue: pulumi.Float64(40), }, }) if err != nil { return err } return nil }) }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.autoscaling.Policy; import com.pulumi.aws.autoscaling.PolicyArgs; import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationArgs; import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs; 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 Policy("example", PolicyArgs.builder() .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder() .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder() .predefinedMetricType("ASGAverageCPUUtilization") .build()) .targetValue(40.0) .build()) .build()); } }resources: example: type: aws:autoscaling:Policy properties: targetTrackingConfiguration: predefinedMetricSpecification: predefinedMetricType: ASGAverageCPUUtilization targetValue: 40The following fields are available in target tracking configuration:
- autoscaling
Group StringName  - Name of the autoscaling group.
 - adjustment
Type String - Whether the adjustment is an absolute number or a percentage of the current capacity. Valid values are 
ChangeInCapacity,ExactCapacity, andPercentChangeInCapacity. - cooldown Number
 - Amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - enabled Boolean
 Whether the scaling policy is enabled or disabled. Default:
true.The following argument is only available to "SimpleScaling" and "StepScaling" type policies:
- estimated
Instance NumberWarmup  - Estimated time, in seconds, until a newly launched instance will contribute CloudWatch metrics. Without a value, AWS will default to the group's specified cooldown period.
 - metric
Aggregation StringType  - Aggregation type for the policy's metrics. Valid values are "Minimum", "Maximum", and "Average". Without a value, AWS will treat the aggregation type as "Average".
 - min
Adjustment NumberMagnitude  Minimum value to scale by when
adjustment_typeis set toPercentChangeInCapacity.The following arguments are only available to "SimpleScaling" type policies:
- name String
 - Name of the policy.
 - policy
Type String - Policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
 - predictive
Scaling Property MapConfiguration  - Predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
 - scaling
Adjustment Number - Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
 - step
Adjustments List<Property Map> Set of adjustments that manage group scaling. These have the following structure:
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";const example = new aws.autoscaling.Policy("example", {stepAdjustments: [ { scalingAdjustment: -1, metricIntervalLowerBound: "1", metricIntervalUpperBound: "2", }, { scalingAdjustment: 1, metricIntervalLowerBound: "2", metricIntervalUpperBound: "3", }, ]});
import pulumi import pulumi_aws as aws example = aws.autoscaling.Policy("example", step_adjustments=[ { "scaling_adjustment": -1, "metric_interval_lower_bound": "1", "metric_interval_upper_bound": "2", }, { "scaling_adjustment": 1, "metric_interval_lower_bound": "2", "metric_interval_upper_bound": "3", }, ])using System.Collections.Generic; using System.Linq; using Pulumi; using Aws = Pulumi.Aws; return await Deployment.RunAsync(() => { var example = new Aws.AutoScaling.Policy("example", new() { StepAdjustments = new[] { new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs { ScalingAdjustment = -1, MetricIntervalLowerBound = "1", MetricIntervalUpperBound = "2", }, new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs { ScalingAdjustment = 1, MetricIntervalLowerBound = "2", MetricIntervalUpperBound = "3", }, }, }); });package main import ( "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{ StepAdjustments: autoscaling.PolicyStepAdjustmentArray{ &autoscaling.PolicyStepAdjustmentArgs{ ScalingAdjustment: pulumi.Int(-1), MetricIntervalLowerBound: pulumi.String("1"), MetricIntervalUpperBound: pulumi.String("2"), }, &autoscaling.PolicyStepAdjustmentArgs{ ScalingAdjustment: pulumi.Int(1), MetricIntervalLowerBound: pulumi.String("2"), MetricIntervalUpperBound: pulumi.String("3"), }, }, }) if err != nil { return err } return nil }) }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.autoscaling.Policy; import com.pulumi.aws.autoscaling.PolicyArgs; import com.pulumi.aws.autoscaling.inputs.PolicyStepAdjustmentArgs; 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 Policy("example", PolicyArgs.builder() .stepAdjustments( PolicyStepAdjustmentArgs.builder() .scalingAdjustment(-1) .metricIntervalLowerBound("1") .metricIntervalUpperBound("2") .build(), PolicyStepAdjustmentArgs.builder() .scalingAdjustment(1) .metricIntervalLowerBound("2") .metricIntervalUpperBound("3") .build()) .build()); } }resources: example: type: aws:autoscaling:Policy properties: stepAdjustments: - scalingAdjustment: -1 metricIntervalLowerBound: 1 metricIntervalUpperBound: 2 - scalingAdjustment: 1 metricIntervalLowerBound: 2 metricIntervalUpperBound: 3The following fields are available in step adjustments:
- target
Tracking Property MapConfiguration  Target tracking policy. These have the following structure:
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";const example = new aws.autoscaling.Policy("example", {targetTrackingConfiguration: { predefinedMetricSpecification: { predefinedMetricType: "ASGAverageCPUUtilization", }, targetValue: 40, }});
import pulumi import pulumi_aws as aws example = aws.autoscaling.Policy("example", target_tracking_configuration={ "predefined_metric_specification": { "predefined_metric_type": "ASGAverageCPUUtilization", }, "target_value": 40, })using System.Collections.Generic; using System.Linq; using Pulumi; using Aws = Pulumi.Aws; return await Deployment.RunAsync(() => { var example = new Aws.AutoScaling.Policy("example", new() { TargetTrackingConfiguration = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationArgs { PredefinedMetricSpecification = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs { PredefinedMetricType = "ASGAverageCPUUtilization", }, TargetValue = 40, }, }); });package main import ( "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{ TargetTrackingConfiguration: &autoscaling.PolicyTargetTrackingConfigurationArgs{ PredefinedMetricSpecification: &autoscaling.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs{ PredefinedMetricType: pulumi.String("ASGAverageCPUUtilization"), }, TargetValue: pulumi.Float64(40), }, }) if err != nil { return err } return nil }) }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.autoscaling.Policy; import com.pulumi.aws.autoscaling.PolicyArgs; import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationArgs; import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs; 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 Policy("example", PolicyArgs.builder() .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder() .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder() .predefinedMetricType("ASGAverageCPUUtilization") .build()) .targetValue(40.0) .build()) .build()); } }resources: example: type: aws:autoscaling:Policy properties: targetTrackingConfiguration: predefinedMetricSpecification: predefinedMetricType: ASGAverageCPUUtilization targetValue: 40The following fields are available in target tracking configuration:
Outputs
All input properties are implicitly available as output properties. Additionally, the Policy resource produces the following output properties:
Look up Existing Policy Resource
Get an existing Policy 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?: PolicyState, opts?: CustomResourceOptions): Policy@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        adjustment_type: Optional[str] = None,
        arn: Optional[str] = None,
        autoscaling_group_name: Optional[str] = None,
        cooldown: Optional[int] = None,
        enabled: Optional[bool] = None,
        estimated_instance_warmup: Optional[int] = None,
        metric_aggregation_type: Optional[str] = None,
        min_adjustment_magnitude: Optional[int] = None,
        name: Optional[str] = None,
        policy_type: Optional[str] = None,
        predictive_scaling_configuration: Optional[PolicyPredictiveScalingConfigurationArgs] = None,
        scaling_adjustment: Optional[int] = None,
        step_adjustments: Optional[Sequence[PolicyStepAdjustmentArgs]] = None,
        target_tracking_configuration: Optional[PolicyTargetTrackingConfigurationArgs] = None) -> Policyfunc GetPolicy(ctx *Context, name string, id IDInput, state *PolicyState, opts ...ResourceOption) (*Policy, error)public static Policy Get(string name, Input<string> id, PolicyState? state, CustomResourceOptions? opts = null)public static Policy get(String name, Output<String> id, PolicyState state, CustomResourceOptions options)resources:  _:    type: aws:autoscaling:Policy    get:      id: ${id}- name
 - The unique name of the resulting resource.
 - id
 - The unique provider ID of the resource to lookup.
 - state
 - Any extra arguments used during the lookup.
 - opts
 - A bag of options that control this resource's behavior.
 
- resource_name
 - The unique name of the resulting resource.
 - id
 - The unique provider ID of the resource to lookup.
 
- name
 - The unique name of the resulting resource.
 - id
 - The unique provider ID of the resource to lookup.
 - state
 - Any extra arguments used during the lookup.
 - opts
 - A bag of options that control this resource's behavior.
 
- name
 - The unique name of the resulting resource.
 - id
 - The unique provider ID of the resource to lookup.
 - state
 - Any extra arguments used during the lookup.
 - opts
 - A bag of options that control this resource's behavior.
 
- name
 - The unique name of the resulting resource.
 - id
 - The unique provider ID of the resource to lookup.
 - state
 - Any extra arguments used during the lookup.
 - opts
 - A bag of options that control this resource's behavior.
 
- Adjustment
Type string - Whether the adjustment is an absolute number or a percentage of the current capacity. Valid values are 
ChangeInCapacity,ExactCapacity, andPercentChangeInCapacity. - Arn string
 - ARN assigned by AWS to the scaling policy.
 - Autoscaling
Group stringName  - Name of the autoscaling group.
 - Cooldown int
 - Amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - Enabled bool
 Whether the scaling policy is enabled or disabled. Default:
true.The following argument is only available to "SimpleScaling" and "StepScaling" type policies:
- Estimated
Instance intWarmup  - Estimated time, in seconds, until a newly launched instance will contribute CloudWatch metrics. Without a value, AWS will default to the group's specified cooldown period.
 - Metric
Aggregation stringType  - Aggregation type for the policy's metrics. Valid values are "Minimum", "Maximum", and "Average". Without a value, AWS will treat the aggregation type as "Average".
 - Min
Adjustment intMagnitude  Minimum value to scale by when
adjustment_typeis set toPercentChangeInCapacity.The following arguments are only available to "SimpleScaling" type policies:
- Name string
 - Name of the policy.
 - Policy
Type string - Policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
 - Predictive
Scaling PolicyConfiguration Predictive Scaling Configuration  - Predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
 - Scaling
Adjustment int - Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
 - Step
Adjustments List<PolicyStep Adjustment>  Set of adjustments that manage group scaling. These have the following structure:
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";const example = new aws.autoscaling.Policy("example", {stepAdjustments: [ { scalingAdjustment: -1, metricIntervalLowerBound: "1", metricIntervalUpperBound: "2", }, { scalingAdjustment: 1, metricIntervalLowerBound: "2", metricIntervalUpperBound: "3", }, ]});
import pulumi import pulumi_aws as aws example = aws.autoscaling.Policy("example", step_adjustments=[ { "scaling_adjustment": -1, "metric_interval_lower_bound": "1", "metric_interval_upper_bound": "2", }, { "scaling_adjustment": 1, "metric_interval_lower_bound": "2", "metric_interval_upper_bound": "3", }, ])using System.Collections.Generic; using System.Linq; using Pulumi; using Aws = Pulumi.Aws; return await Deployment.RunAsync(() => { var example = new Aws.AutoScaling.Policy("example", new() { StepAdjustments = new[] { new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs { ScalingAdjustment = -1, MetricIntervalLowerBound = "1", MetricIntervalUpperBound = "2", }, new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs { ScalingAdjustment = 1, MetricIntervalLowerBound = "2", MetricIntervalUpperBound = "3", }, }, }); });package main import ( "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{ StepAdjustments: autoscaling.PolicyStepAdjustmentArray{ &autoscaling.PolicyStepAdjustmentArgs{ ScalingAdjustment: pulumi.Int(-1), MetricIntervalLowerBound: pulumi.String("1"), MetricIntervalUpperBound: pulumi.String("2"), }, &autoscaling.PolicyStepAdjustmentArgs{ ScalingAdjustment: pulumi.Int(1), MetricIntervalLowerBound: pulumi.String("2"), MetricIntervalUpperBound: pulumi.String("3"), }, }, }) if err != nil { return err } return nil }) }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.autoscaling.Policy; import com.pulumi.aws.autoscaling.PolicyArgs; import com.pulumi.aws.autoscaling.inputs.PolicyStepAdjustmentArgs; 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 Policy("example", PolicyArgs.builder() .stepAdjustments( PolicyStepAdjustmentArgs.builder() .scalingAdjustment(-1) .metricIntervalLowerBound("1") .metricIntervalUpperBound("2") .build(), PolicyStepAdjustmentArgs.builder() .scalingAdjustment(1) .metricIntervalLowerBound("2") .metricIntervalUpperBound("3") .build()) .build()); } }resources: example: type: aws:autoscaling:Policy properties: stepAdjustments: - scalingAdjustment: -1 metricIntervalLowerBound: 1 metricIntervalUpperBound: 2 - scalingAdjustment: 1 metricIntervalLowerBound: 2 metricIntervalUpperBound: 3The following fields are available in step adjustments:
- Target
Tracking PolicyConfiguration Target Tracking Configuration  Target tracking policy. These have the following structure:
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";const example = new aws.autoscaling.Policy("example", {targetTrackingConfiguration: { predefinedMetricSpecification: { predefinedMetricType: "ASGAverageCPUUtilization", }, targetValue: 40, }});
import pulumi import pulumi_aws as aws example = aws.autoscaling.Policy("example", target_tracking_configuration={ "predefined_metric_specification": { "predefined_metric_type": "ASGAverageCPUUtilization", }, "target_value": 40, })using System.Collections.Generic; using System.Linq; using Pulumi; using Aws = Pulumi.Aws; return await Deployment.RunAsync(() => { var example = new Aws.AutoScaling.Policy("example", new() { TargetTrackingConfiguration = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationArgs { PredefinedMetricSpecification = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs { PredefinedMetricType = "ASGAverageCPUUtilization", }, TargetValue = 40, }, }); });package main import ( "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{ TargetTrackingConfiguration: &autoscaling.PolicyTargetTrackingConfigurationArgs{ PredefinedMetricSpecification: &autoscaling.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs{ PredefinedMetricType: pulumi.String("ASGAverageCPUUtilization"), }, TargetValue: pulumi.Float64(40), }, }) if err != nil { return err } return nil }) }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.autoscaling.Policy; import com.pulumi.aws.autoscaling.PolicyArgs; import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationArgs; import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs; 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 Policy("example", PolicyArgs.builder() .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder() .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder() .predefinedMetricType("ASGAverageCPUUtilization") .build()) .targetValue(40.0) .build()) .build()); } }resources: example: type: aws:autoscaling:Policy properties: targetTrackingConfiguration: predefinedMetricSpecification: predefinedMetricType: ASGAverageCPUUtilization targetValue: 40The following fields are available in target tracking configuration:
- Adjustment
Type string - Whether the adjustment is an absolute number or a percentage of the current capacity. Valid values are 
ChangeInCapacity,ExactCapacity, andPercentChangeInCapacity. - Arn string
 - ARN assigned by AWS to the scaling policy.
 - Autoscaling
Group stringName  - Name of the autoscaling group.
 - Cooldown int
 - Amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - Enabled bool
 Whether the scaling policy is enabled or disabled. Default:
true.The following argument is only available to "SimpleScaling" and "StepScaling" type policies:
- Estimated
Instance intWarmup  - Estimated time, in seconds, until a newly launched instance will contribute CloudWatch metrics. Without a value, AWS will default to the group's specified cooldown period.
 - Metric
Aggregation stringType  - Aggregation type for the policy's metrics. Valid values are "Minimum", "Maximum", and "Average". Without a value, AWS will treat the aggregation type as "Average".
 - Min
Adjustment intMagnitude  Minimum value to scale by when
adjustment_typeis set toPercentChangeInCapacity.The following arguments are only available to "SimpleScaling" type policies:
- Name string
 - Name of the policy.
 - Policy
Type string - Policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
 - Predictive
Scaling PolicyConfiguration Predictive Scaling Configuration Args  - Predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
 - Scaling
Adjustment int - Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
 - Step
Adjustments []PolicyStep Adjustment Args  Set of adjustments that manage group scaling. These have the following structure:
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";const example = new aws.autoscaling.Policy("example", {stepAdjustments: [ { scalingAdjustment: -1, metricIntervalLowerBound: "1", metricIntervalUpperBound: "2", }, { scalingAdjustment: 1, metricIntervalLowerBound: "2", metricIntervalUpperBound: "3", }, ]});
import pulumi import pulumi_aws as aws example = aws.autoscaling.Policy("example", step_adjustments=[ { "scaling_adjustment": -1, "metric_interval_lower_bound": "1", "metric_interval_upper_bound": "2", }, { "scaling_adjustment": 1, "metric_interval_lower_bound": "2", "metric_interval_upper_bound": "3", }, ])using System.Collections.Generic; using System.Linq; using Pulumi; using Aws = Pulumi.Aws; return await Deployment.RunAsync(() => { var example = new Aws.AutoScaling.Policy("example", new() { StepAdjustments = new[] { new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs { ScalingAdjustment = -1, MetricIntervalLowerBound = "1", MetricIntervalUpperBound = "2", }, new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs { ScalingAdjustment = 1, MetricIntervalLowerBound = "2", MetricIntervalUpperBound = "3", }, }, }); });package main import ( "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{ StepAdjustments: autoscaling.PolicyStepAdjustmentArray{ &autoscaling.PolicyStepAdjustmentArgs{ ScalingAdjustment: pulumi.Int(-1), MetricIntervalLowerBound: pulumi.String("1"), MetricIntervalUpperBound: pulumi.String("2"), }, &autoscaling.PolicyStepAdjustmentArgs{ ScalingAdjustment: pulumi.Int(1), MetricIntervalLowerBound: pulumi.String("2"), MetricIntervalUpperBound: pulumi.String("3"), }, }, }) if err != nil { return err } return nil }) }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.autoscaling.Policy; import com.pulumi.aws.autoscaling.PolicyArgs; import com.pulumi.aws.autoscaling.inputs.PolicyStepAdjustmentArgs; 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 Policy("example", PolicyArgs.builder() .stepAdjustments( PolicyStepAdjustmentArgs.builder() .scalingAdjustment(-1) .metricIntervalLowerBound("1") .metricIntervalUpperBound("2") .build(), PolicyStepAdjustmentArgs.builder() .scalingAdjustment(1) .metricIntervalLowerBound("2") .metricIntervalUpperBound("3") .build()) .build()); } }resources: example: type: aws:autoscaling:Policy properties: stepAdjustments: - scalingAdjustment: -1 metricIntervalLowerBound: 1 metricIntervalUpperBound: 2 - scalingAdjustment: 1 metricIntervalLowerBound: 2 metricIntervalUpperBound: 3The following fields are available in step adjustments:
- Target
Tracking PolicyConfiguration Target Tracking Configuration Args  Target tracking policy. These have the following structure:
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";const example = new aws.autoscaling.Policy("example", {targetTrackingConfiguration: { predefinedMetricSpecification: { predefinedMetricType: "ASGAverageCPUUtilization", }, targetValue: 40, }});
import pulumi import pulumi_aws as aws example = aws.autoscaling.Policy("example", target_tracking_configuration={ "predefined_metric_specification": { "predefined_metric_type": "ASGAverageCPUUtilization", }, "target_value": 40, })using System.Collections.Generic; using System.Linq; using Pulumi; using Aws = Pulumi.Aws; return await Deployment.RunAsync(() => { var example = new Aws.AutoScaling.Policy("example", new() { TargetTrackingConfiguration = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationArgs { PredefinedMetricSpecification = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs { PredefinedMetricType = "ASGAverageCPUUtilization", }, TargetValue = 40, }, }); });package main import ( "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{ TargetTrackingConfiguration: &autoscaling.PolicyTargetTrackingConfigurationArgs{ PredefinedMetricSpecification: &autoscaling.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs{ PredefinedMetricType: pulumi.String("ASGAverageCPUUtilization"), }, TargetValue: pulumi.Float64(40), }, }) if err != nil { return err } return nil }) }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.autoscaling.Policy; import com.pulumi.aws.autoscaling.PolicyArgs; import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationArgs; import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs; 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 Policy("example", PolicyArgs.builder() .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder() .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder() .predefinedMetricType("ASGAverageCPUUtilization") .build()) .targetValue(40.0) .build()) .build()); } }resources: example: type: aws:autoscaling:Policy properties: targetTrackingConfiguration: predefinedMetricSpecification: predefinedMetricType: ASGAverageCPUUtilization targetValue: 40The following fields are available in target tracking configuration:
- adjustment
Type String - Whether the adjustment is an absolute number or a percentage of the current capacity. Valid values are 
ChangeInCapacity,ExactCapacity, andPercentChangeInCapacity. - arn String
 - ARN assigned by AWS to the scaling policy.
 - autoscaling
Group StringName  - Name of the autoscaling group.
 - cooldown Integer
 - Amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - enabled Boolean
 Whether the scaling policy is enabled or disabled. Default:
true.The following argument is only available to "SimpleScaling" and "StepScaling" type policies:
- estimated
Instance IntegerWarmup  - Estimated time, in seconds, until a newly launched instance will contribute CloudWatch metrics. Without a value, AWS will default to the group's specified cooldown period.
 - metric
Aggregation StringType  - Aggregation type for the policy's metrics. Valid values are "Minimum", "Maximum", and "Average". Without a value, AWS will treat the aggregation type as "Average".
 - min
Adjustment IntegerMagnitude  Minimum value to scale by when
adjustment_typeis set toPercentChangeInCapacity.The following arguments are only available to "SimpleScaling" type policies:
- name String
 - Name of the policy.
 - policy
Type String - Policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
 - predictive
Scaling PolicyConfiguration Predictive Scaling Configuration  - Predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
 - scaling
Adjustment Integer - Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
 - step
Adjustments List<PolicyStep Adjustment>  Set of adjustments that manage group scaling. These have the following structure:
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";const example = new aws.autoscaling.Policy("example", {stepAdjustments: [ { scalingAdjustment: -1, metricIntervalLowerBound: "1", metricIntervalUpperBound: "2", }, { scalingAdjustment: 1, metricIntervalLowerBound: "2", metricIntervalUpperBound: "3", }, ]});
import pulumi import pulumi_aws as aws example = aws.autoscaling.Policy("example", step_adjustments=[ { "scaling_adjustment": -1, "metric_interval_lower_bound": "1", "metric_interval_upper_bound": "2", }, { "scaling_adjustment": 1, "metric_interval_lower_bound": "2", "metric_interval_upper_bound": "3", }, ])using System.Collections.Generic; using System.Linq; using Pulumi; using Aws = Pulumi.Aws; return await Deployment.RunAsync(() => { var example = new Aws.AutoScaling.Policy("example", new() { StepAdjustments = new[] { new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs { ScalingAdjustment = -1, MetricIntervalLowerBound = "1", MetricIntervalUpperBound = "2", }, new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs { ScalingAdjustment = 1, MetricIntervalLowerBound = "2", MetricIntervalUpperBound = "3", }, }, }); });package main import ( "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{ StepAdjustments: autoscaling.PolicyStepAdjustmentArray{ &autoscaling.PolicyStepAdjustmentArgs{ ScalingAdjustment: pulumi.Int(-1), MetricIntervalLowerBound: pulumi.String("1"), MetricIntervalUpperBound: pulumi.String("2"), }, &autoscaling.PolicyStepAdjustmentArgs{ ScalingAdjustment: pulumi.Int(1), MetricIntervalLowerBound: pulumi.String("2"), MetricIntervalUpperBound: pulumi.String("3"), }, }, }) if err != nil { return err } return nil }) }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.autoscaling.Policy; import com.pulumi.aws.autoscaling.PolicyArgs; import com.pulumi.aws.autoscaling.inputs.PolicyStepAdjustmentArgs; 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 Policy("example", PolicyArgs.builder() .stepAdjustments( PolicyStepAdjustmentArgs.builder() .scalingAdjustment(-1) .metricIntervalLowerBound("1") .metricIntervalUpperBound("2") .build(), PolicyStepAdjustmentArgs.builder() .scalingAdjustment(1) .metricIntervalLowerBound("2") .metricIntervalUpperBound("3") .build()) .build()); } }resources: example: type: aws:autoscaling:Policy properties: stepAdjustments: - scalingAdjustment: -1 metricIntervalLowerBound: 1 metricIntervalUpperBound: 2 - scalingAdjustment: 1 metricIntervalLowerBound: 2 metricIntervalUpperBound: 3The following fields are available in step adjustments:
- target
Tracking PolicyConfiguration Target Tracking Configuration  Target tracking policy. These have the following structure:
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";const example = new aws.autoscaling.Policy("example", {targetTrackingConfiguration: { predefinedMetricSpecification: { predefinedMetricType: "ASGAverageCPUUtilization", }, targetValue: 40, }});
import pulumi import pulumi_aws as aws example = aws.autoscaling.Policy("example", target_tracking_configuration={ "predefined_metric_specification": { "predefined_metric_type": "ASGAverageCPUUtilization", }, "target_value": 40, })using System.Collections.Generic; using System.Linq; using Pulumi; using Aws = Pulumi.Aws; return await Deployment.RunAsync(() => { var example = new Aws.AutoScaling.Policy("example", new() { TargetTrackingConfiguration = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationArgs { PredefinedMetricSpecification = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs { PredefinedMetricType = "ASGAverageCPUUtilization", }, TargetValue = 40, }, }); });package main import ( "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{ TargetTrackingConfiguration: &autoscaling.PolicyTargetTrackingConfigurationArgs{ PredefinedMetricSpecification: &autoscaling.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs{ PredefinedMetricType: pulumi.String("ASGAverageCPUUtilization"), }, TargetValue: pulumi.Float64(40), }, }) if err != nil { return err } return nil }) }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.autoscaling.Policy; import com.pulumi.aws.autoscaling.PolicyArgs; import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationArgs; import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs; 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 Policy("example", PolicyArgs.builder() .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder() .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder() .predefinedMetricType("ASGAverageCPUUtilization") .build()) .targetValue(40.0) .build()) .build()); } }resources: example: type: aws:autoscaling:Policy properties: targetTrackingConfiguration: predefinedMetricSpecification: predefinedMetricType: ASGAverageCPUUtilization targetValue: 40The following fields are available in target tracking configuration:
- adjustment
Type string - Whether the adjustment is an absolute number or a percentage of the current capacity. Valid values are 
ChangeInCapacity,ExactCapacity, andPercentChangeInCapacity. - arn string
 - ARN assigned by AWS to the scaling policy.
 - autoscaling
Group stringName  - Name of the autoscaling group.
 - cooldown number
 - Amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - enabled boolean
 Whether the scaling policy is enabled or disabled. Default:
true.The following argument is only available to "SimpleScaling" and "StepScaling" type policies:
- estimated
Instance numberWarmup  - Estimated time, in seconds, until a newly launched instance will contribute CloudWatch metrics. Without a value, AWS will default to the group's specified cooldown period.
 - metric
Aggregation stringType  - Aggregation type for the policy's metrics. Valid values are "Minimum", "Maximum", and "Average". Without a value, AWS will treat the aggregation type as "Average".
 - min
Adjustment numberMagnitude  Minimum value to scale by when
adjustment_typeis set toPercentChangeInCapacity.The following arguments are only available to "SimpleScaling" type policies:
- name string
 - Name of the policy.
 - policy
Type string - Policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
 - predictive
Scaling PolicyConfiguration Predictive Scaling Configuration  - Predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
 - scaling
Adjustment number - Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
 - step
Adjustments PolicyStep Adjustment[]  Set of adjustments that manage group scaling. These have the following structure:
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";const example = new aws.autoscaling.Policy("example", {stepAdjustments: [ { scalingAdjustment: -1, metricIntervalLowerBound: "1", metricIntervalUpperBound: "2", }, { scalingAdjustment: 1, metricIntervalLowerBound: "2", metricIntervalUpperBound: "3", }, ]});
import pulumi import pulumi_aws as aws example = aws.autoscaling.Policy("example", step_adjustments=[ { "scaling_adjustment": -1, "metric_interval_lower_bound": "1", "metric_interval_upper_bound": "2", }, { "scaling_adjustment": 1, "metric_interval_lower_bound": "2", "metric_interval_upper_bound": "3", }, ])using System.Collections.Generic; using System.Linq; using Pulumi; using Aws = Pulumi.Aws; return await Deployment.RunAsync(() => { var example = new Aws.AutoScaling.Policy("example", new() { StepAdjustments = new[] { new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs { ScalingAdjustment = -1, MetricIntervalLowerBound = "1", MetricIntervalUpperBound = "2", }, new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs { ScalingAdjustment = 1, MetricIntervalLowerBound = "2", MetricIntervalUpperBound = "3", }, }, }); });package main import ( "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{ StepAdjustments: autoscaling.PolicyStepAdjustmentArray{ &autoscaling.PolicyStepAdjustmentArgs{ ScalingAdjustment: pulumi.Int(-1), MetricIntervalLowerBound: pulumi.String("1"), MetricIntervalUpperBound: pulumi.String("2"), }, &autoscaling.PolicyStepAdjustmentArgs{ ScalingAdjustment: pulumi.Int(1), MetricIntervalLowerBound: pulumi.String("2"), MetricIntervalUpperBound: pulumi.String("3"), }, }, }) if err != nil { return err } return nil }) }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.autoscaling.Policy; import com.pulumi.aws.autoscaling.PolicyArgs; import com.pulumi.aws.autoscaling.inputs.PolicyStepAdjustmentArgs; 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 Policy("example", PolicyArgs.builder() .stepAdjustments( PolicyStepAdjustmentArgs.builder() .scalingAdjustment(-1) .metricIntervalLowerBound("1") .metricIntervalUpperBound("2") .build(), PolicyStepAdjustmentArgs.builder() .scalingAdjustment(1) .metricIntervalLowerBound("2") .metricIntervalUpperBound("3") .build()) .build()); } }resources: example: type: aws:autoscaling:Policy properties: stepAdjustments: - scalingAdjustment: -1 metricIntervalLowerBound: 1 metricIntervalUpperBound: 2 - scalingAdjustment: 1 metricIntervalLowerBound: 2 metricIntervalUpperBound: 3The following fields are available in step adjustments:
- target
Tracking PolicyConfiguration Target Tracking Configuration  Target tracking policy. These have the following structure:
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";const example = new aws.autoscaling.Policy("example", {targetTrackingConfiguration: { predefinedMetricSpecification: { predefinedMetricType: "ASGAverageCPUUtilization", }, targetValue: 40, }});
import pulumi import pulumi_aws as aws example = aws.autoscaling.Policy("example", target_tracking_configuration={ "predefined_metric_specification": { "predefined_metric_type": "ASGAverageCPUUtilization", }, "target_value": 40, })using System.Collections.Generic; using System.Linq; using Pulumi; using Aws = Pulumi.Aws; return await Deployment.RunAsync(() => { var example = new Aws.AutoScaling.Policy("example", new() { TargetTrackingConfiguration = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationArgs { PredefinedMetricSpecification = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs { PredefinedMetricType = "ASGAverageCPUUtilization", }, TargetValue = 40, }, }); });package main import ( "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{ TargetTrackingConfiguration: &autoscaling.PolicyTargetTrackingConfigurationArgs{ PredefinedMetricSpecification: &autoscaling.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs{ PredefinedMetricType: pulumi.String("ASGAverageCPUUtilization"), }, TargetValue: pulumi.Float64(40), }, }) if err != nil { return err } return nil }) }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.autoscaling.Policy; import com.pulumi.aws.autoscaling.PolicyArgs; import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationArgs; import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs; 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 Policy("example", PolicyArgs.builder() .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder() .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder() .predefinedMetricType("ASGAverageCPUUtilization") .build()) .targetValue(40.0) .build()) .build()); } }resources: example: type: aws:autoscaling:Policy properties: targetTrackingConfiguration: predefinedMetricSpecification: predefinedMetricType: ASGAverageCPUUtilization targetValue: 40The following fields are available in target tracking configuration:
- adjustment_
type str - Whether the adjustment is an absolute number or a percentage of the current capacity. Valid values are 
ChangeInCapacity,ExactCapacity, andPercentChangeInCapacity. - arn str
 - ARN assigned by AWS to the scaling policy.
 - autoscaling_
group_ strname  - Name of the autoscaling group.
 - cooldown int
 - Amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - enabled bool
 Whether the scaling policy is enabled or disabled. Default:
true.The following argument is only available to "SimpleScaling" and "StepScaling" type policies:
- estimated_
instance_ intwarmup  - Estimated time, in seconds, until a newly launched instance will contribute CloudWatch metrics. Without a value, AWS will default to the group's specified cooldown period.
 - metric_
aggregation_ strtype  - Aggregation type for the policy's metrics. Valid values are "Minimum", "Maximum", and "Average". Without a value, AWS will treat the aggregation type as "Average".
 - min_
adjustment_ intmagnitude  Minimum value to scale by when
adjustment_typeis set toPercentChangeInCapacity.The following arguments are only available to "SimpleScaling" type policies:
- name str
 - Name of the policy.
 - policy_
type str - Policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
 - predictive_
scaling_ Policyconfiguration Predictive Scaling Configuration Args  - Predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
 - scaling_
adjustment int - Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
 - step_
adjustments Sequence[PolicyStep Adjustment Args]  Set of adjustments that manage group scaling. These have the following structure:
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";const example = new aws.autoscaling.Policy("example", {stepAdjustments: [ { scalingAdjustment: -1, metricIntervalLowerBound: "1", metricIntervalUpperBound: "2", }, { scalingAdjustment: 1, metricIntervalLowerBound: "2", metricIntervalUpperBound: "3", }, ]});
import pulumi import pulumi_aws as aws example = aws.autoscaling.Policy("example", step_adjustments=[ { "scaling_adjustment": -1, "metric_interval_lower_bound": "1", "metric_interval_upper_bound": "2", }, { "scaling_adjustment": 1, "metric_interval_lower_bound": "2", "metric_interval_upper_bound": "3", }, ])using System.Collections.Generic; using System.Linq; using Pulumi; using Aws = Pulumi.Aws; return await Deployment.RunAsync(() => { var example = new Aws.AutoScaling.Policy("example", new() { StepAdjustments = new[] { new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs { ScalingAdjustment = -1, MetricIntervalLowerBound = "1", MetricIntervalUpperBound = "2", }, new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs { ScalingAdjustment = 1, MetricIntervalLowerBound = "2", MetricIntervalUpperBound = "3", }, }, }); });package main import ( "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{ StepAdjustments: autoscaling.PolicyStepAdjustmentArray{ &autoscaling.PolicyStepAdjustmentArgs{ ScalingAdjustment: pulumi.Int(-1), MetricIntervalLowerBound: pulumi.String("1"), MetricIntervalUpperBound: pulumi.String("2"), }, &autoscaling.PolicyStepAdjustmentArgs{ ScalingAdjustment: pulumi.Int(1), MetricIntervalLowerBound: pulumi.String("2"), MetricIntervalUpperBound: pulumi.String("3"), }, }, }) if err != nil { return err } return nil }) }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.autoscaling.Policy; import com.pulumi.aws.autoscaling.PolicyArgs; import com.pulumi.aws.autoscaling.inputs.PolicyStepAdjustmentArgs; 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 Policy("example", PolicyArgs.builder() .stepAdjustments( PolicyStepAdjustmentArgs.builder() .scalingAdjustment(-1) .metricIntervalLowerBound("1") .metricIntervalUpperBound("2") .build(), PolicyStepAdjustmentArgs.builder() .scalingAdjustment(1) .metricIntervalLowerBound("2") .metricIntervalUpperBound("3") .build()) .build()); } }resources: example: type: aws:autoscaling:Policy properties: stepAdjustments: - scalingAdjustment: -1 metricIntervalLowerBound: 1 metricIntervalUpperBound: 2 - scalingAdjustment: 1 metricIntervalLowerBound: 2 metricIntervalUpperBound: 3The following fields are available in step adjustments:
- target_
tracking_ Policyconfiguration Target Tracking Configuration Args  Target tracking policy. These have the following structure:
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";const example = new aws.autoscaling.Policy("example", {targetTrackingConfiguration: { predefinedMetricSpecification: { predefinedMetricType: "ASGAverageCPUUtilization", }, targetValue: 40, }});
import pulumi import pulumi_aws as aws example = aws.autoscaling.Policy("example", target_tracking_configuration={ "predefined_metric_specification": { "predefined_metric_type": "ASGAverageCPUUtilization", }, "target_value": 40, })using System.Collections.Generic; using System.Linq; using Pulumi; using Aws = Pulumi.Aws; return await Deployment.RunAsync(() => { var example = new Aws.AutoScaling.Policy("example", new() { TargetTrackingConfiguration = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationArgs { PredefinedMetricSpecification = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs { PredefinedMetricType = "ASGAverageCPUUtilization", }, TargetValue = 40, }, }); });package main import ( "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{ TargetTrackingConfiguration: &autoscaling.PolicyTargetTrackingConfigurationArgs{ PredefinedMetricSpecification: &autoscaling.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs{ PredefinedMetricType: pulumi.String("ASGAverageCPUUtilization"), }, TargetValue: pulumi.Float64(40), }, }) if err != nil { return err } return nil }) }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.autoscaling.Policy; import com.pulumi.aws.autoscaling.PolicyArgs; import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationArgs; import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs; 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 Policy("example", PolicyArgs.builder() .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder() .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder() .predefinedMetricType("ASGAverageCPUUtilization") .build()) .targetValue(40.0) .build()) .build()); } }resources: example: type: aws:autoscaling:Policy properties: targetTrackingConfiguration: predefinedMetricSpecification: predefinedMetricType: ASGAverageCPUUtilization targetValue: 40The following fields are available in target tracking configuration:
- adjustment
Type String - Whether the adjustment is an absolute number or a percentage of the current capacity. Valid values are 
ChangeInCapacity,ExactCapacity, andPercentChangeInCapacity. - arn String
 - ARN assigned by AWS to the scaling policy.
 - autoscaling
Group StringName  - Name of the autoscaling group.
 - cooldown Number
 - Amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
 - enabled Boolean
 Whether the scaling policy is enabled or disabled. Default:
true.The following argument is only available to "SimpleScaling" and "StepScaling" type policies:
- estimated
Instance NumberWarmup  - Estimated time, in seconds, until a newly launched instance will contribute CloudWatch metrics. Without a value, AWS will default to the group's specified cooldown period.
 - metric
Aggregation StringType  - Aggregation type for the policy's metrics. Valid values are "Minimum", "Maximum", and "Average". Without a value, AWS will treat the aggregation type as "Average".
 - min
Adjustment NumberMagnitude  Minimum value to scale by when
adjustment_typeis set toPercentChangeInCapacity.The following arguments are only available to "SimpleScaling" type policies:
- name String
 - Name of the policy.
 - policy
Type String - Policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
 - predictive
Scaling Property MapConfiguration  - Predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
 - scaling
Adjustment Number - Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
 - step
Adjustments List<Property Map> Set of adjustments that manage group scaling. These have the following structure:
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";const example = new aws.autoscaling.Policy("example", {stepAdjustments: [ { scalingAdjustment: -1, metricIntervalLowerBound: "1", metricIntervalUpperBound: "2", }, { scalingAdjustment: 1, metricIntervalLowerBound: "2", metricIntervalUpperBound: "3", }, ]});
import pulumi import pulumi_aws as aws example = aws.autoscaling.Policy("example", step_adjustments=[ { "scaling_adjustment": -1, "metric_interval_lower_bound": "1", "metric_interval_upper_bound": "2", }, { "scaling_adjustment": 1, "metric_interval_lower_bound": "2", "metric_interval_upper_bound": "3", }, ])using System.Collections.Generic; using System.Linq; using Pulumi; using Aws = Pulumi.Aws; return await Deployment.RunAsync(() => { var example = new Aws.AutoScaling.Policy("example", new() { StepAdjustments = new[] { new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs { ScalingAdjustment = -1, MetricIntervalLowerBound = "1", MetricIntervalUpperBound = "2", }, new Aws.AutoScaling.Inputs.PolicyStepAdjustmentArgs { ScalingAdjustment = 1, MetricIntervalLowerBound = "2", MetricIntervalUpperBound = "3", }, }, }); });package main import ( "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{ StepAdjustments: autoscaling.PolicyStepAdjustmentArray{ &autoscaling.PolicyStepAdjustmentArgs{ ScalingAdjustment: pulumi.Int(-1), MetricIntervalLowerBound: pulumi.String("1"), MetricIntervalUpperBound: pulumi.String("2"), }, &autoscaling.PolicyStepAdjustmentArgs{ ScalingAdjustment: pulumi.Int(1), MetricIntervalLowerBound: pulumi.String("2"), MetricIntervalUpperBound: pulumi.String("3"), }, }, }) if err != nil { return err } return nil }) }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.autoscaling.Policy; import com.pulumi.aws.autoscaling.PolicyArgs; import com.pulumi.aws.autoscaling.inputs.PolicyStepAdjustmentArgs; 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 Policy("example", PolicyArgs.builder() .stepAdjustments( PolicyStepAdjustmentArgs.builder() .scalingAdjustment(-1) .metricIntervalLowerBound("1") .metricIntervalUpperBound("2") .build(), PolicyStepAdjustmentArgs.builder() .scalingAdjustment(1) .metricIntervalLowerBound("2") .metricIntervalUpperBound("3") .build()) .build()); } }resources: example: type: aws:autoscaling:Policy properties: stepAdjustments: - scalingAdjustment: -1 metricIntervalLowerBound: 1 metricIntervalUpperBound: 2 - scalingAdjustment: 1 metricIntervalLowerBound: 2 metricIntervalUpperBound: 3The following fields are available in step adjustments:
- target
Tracking Property MapConfiguration  Target tracking policy. These have the following structure:
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";const example = new aws.autoscaling.Policy("example", {targetTrackingConfiguration: { predefinedMetricSpecification: { predefinedMetricType: "ASGAverageCPUUtilization", }, targetValue: 40, }});
import pulumi import pulumi_aws as aws example = aws.autoscaling.Policy("example", target_tracking_configuration={ "predefined_metric_specification": { "predefined_metric_type": "ASGAverageCPUUtilization", }, "target_value": 40, })using System.Collections.Generic; using System.Linq; using Pulumi; using Aws = Pulumi.Aws; return await Deployment.RunAsync(() => { var example = new Aws.AutoScaling.Policy("example", new() { TargetTrackingConfiguration = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationArgs { PredefinedMetricSpecification = new Aws.AutoScaling.Inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs { PredefinedMetricType = "ASGAverageCPUUtilization", }, TargetValue = 40, }, }); });package main import ( "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/autoscaling" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := autoscaling.NewPolicy(ctx, "example", &autoscaling.PolicyArgs{ TargetTrackingConfiguration: &autoscaling.PolicyTargetTrackingConfigurationArgs{ PredefinedMetricSpecification: &autoscaling.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs{ PredefinedMetricType: pulumi.String("ASGAverageCPUUtilization"), }, TargetValue: pulumi.Float64(40), }, }) if err != nil { return err } return nil }) }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.autoscaling.Policy; import com.pulumi.aws.autoscaling.PolicyArgs; import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationArgs; import com.pulumi.aws.autoscaling.inputs.PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs; 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 Policy("example", PolicyArgs.builder() .targetTrackingConfiguration(PolicyTargetTrackingConfigurationArgs.builder() .predefinedMetricSpecification(PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs.builder() .predefinedMetricType("ASGAverageCPUUtilization") .build()) .targetValue(40.0) .build()) .build()); } }resources: example: type: aws:autoscaling:Policy properties: targetTrackingConfiguration: predefinedMetricSpecification: predefinedMetricType: ASGAverageCPUUtilization targetValue: 40The following fields are available in target tracking configuration:
Supporting Types
PolicyPredictiveScalingConfiguration, PolicyPredictiveScalingConfigurationArgs        
- Metric
Specification PolicyPredictive Scaling Configuration Metric Specification  - This structure includes the metrics and target utilization to use for predictive scaling.
 - Max
Capacity stringBreach Behavior  - Defines the behavior that should be applied if the forecast capacity approaches or exceeds the maximum capacity of the Auto Scaling group. Valid values are 
HonorMaxCapacityorIncreaseMaxCapacity. Default isHonorMaxCapacity. - Max
Capacity stringBuffer  - Size of the capacity buffer to use when the forecast capacity is close to or exceeds the maximum capacity. Valid range is 
0to100. If set to0, Amazon EC2 Auto Scaling may scale capacity higher than the maximum capacity to equal but not exceed forecast capacity. - Mode string
 - Predictive scaling mode. Valid values are 
ForecastAndScaleandForecastOnly. Default isForecastOnly. - Scheduling
Buffer stringTime  - Amount of time, in seconds, by which the instance launch time can be advanced. Minimum is 
0. 
- Metric
Specification PolicyPredictive Scaling Configuration Metric Specification  - This structure includes the metrics and target utilization to use for predictive scaling.
 - Max
Capacity stringBreach Behavior  - Defines the behavior that should be applied if the forecast capacity approaches or exceeds the maximum capacity of the Auto Scaling group. Valid values are 
HonorMaxCapacityorIncreaseMaxCapacity. Default isHonorMaxCapacity. - Max
Capacity stringBuffer  - Size of the capacity buffer to use when the forecast capacity is close to or exceeds the maximum capacity. Valid range is 
0to100. If set to0, Amazon EC2 Auto Scaling may scale capacity higher than the maximum capacity to equal but not exceed forecast capacity. - Mode string
 - Predictive scaling mode. Valid values are 
ForecastAndScaleandForecastOnly. Default isForecastOnly. - Scheduling
Buffer stringTime  - Amount of time, in seconds, by which the instance launch time can be advanced. Minimum is 
0. 
- metric
Specification PolicyPredictive Scaling Configuration Metric Specification  - This structure includes the metrics and target utilization to use for predictive scaling.
 - max
Capacity StringBreach Behavior  - Defines the behavior that should be applied if the forecast capacity approaches or exceeds the maximum capacity of the Auto Scaling group. Valid values are 
HonorMaxCapacityorIncreaseMaxCapacity. Default isHonorMaxCapacity. - max
Capacity StringBuffer  - Size of the capacity buffer to use when the forecast capacity is close to or exceeds the maximum capacity. Valid range is 
0to100. If set to0, Amazon EC2 Auto Scaling may scale capacity higher than the maximum capacity to equal but not exceed forecast capacity. - mode String
 - Predictive scaling mode. Valid values are 
ForecastAndScaleandForecastOnly. Default isForecastOnly. - scheduling
Buffer StringTime  - Amount of time, in seconds, by which the instance launch time can be advanced. Minimum is 
0. 
- metric
Specification PolicyPredictive Scaling Configuration Metric Specification  - This structure includes the metrics and target utilization to use for predictive scaling.
 - max
Capacity stringBreach Behavior  - Defines the behavior that should be applied if the forecast capacity approaches or exceeds the maximum capacity of the Auto Scaling group. Valid values are 
HonorMaxCapacityorIncreaseMaxCapacity. Default isHonorMaxCapacity. - max
Capacity stringBuffer  - Size of the capacity buffer to use when the forecast capacity is close to or exceeds the maximum capacity. Valid range is 
0to100. If set to0, Amazon EC2 Auto Scaling may scale capacity higher than the maximum capacity to equal but not exceed forecast capacity. - mode string
 - Predictive scaling mode. Valid values are 
ForecastAndScaleandForecastOnly. Default isForecastOnly. - scheduling
Buffer stringTime  - Amount of time, in seconds, by which the instance launch time can be advanced. Minimum is 
0. 
- metric_
specification PolicyPredictive Scaling Configuration Metric Specification  - This structure includes the metrics and target utilization to use for predictive scaling.
 - max_
capacity_ strbreach_ behavior  - Defines the behavior that should be applied if the forecast capacity approaches or exceeds the maximum capacity of the Auto Scaling group. Valid values are 
HonorMaxCapacityorIncreaseMaxCapacity. Default isHonorMaxCapacity. - max_
capacity_ strbuffer  - Size of the capacity buffer to use when the forecast capacity is close to or exceeds the maximum capacity. Valid range is 
0to100. If set to0, Amazon EC2 Auto Scaling may scale capacity higher than the maximum capacity to equal but not exceed forecast capacity. - mode str
 - Predictive scaling mode. Valid values are 
ForecastAndScaleandForecastOnly. Default isForecastOnly. - scheduling_
buffer_ strtime  - Amount of time, in seconds, by which the instance launch time can be advanced. Minimum is 
0. 
- metric
Specification Property Map - This structure includes the metrics and target utilization to use for predictive scaling.
 - max
Capacity StringBreach Behavior  - Defines the behavior that should be applied if the forecast capacity approaches or exceeds the maximum capacity of the Auto Scaling group. Valid values are 
HonorMaxCapacityorIncreaseMaxCapacity. Default isHonorMaxCapacity. - max
Capacity StringBuffer  - Size of the capacity buffer to use when the forecast capacity is close to or exceeds the maximum capacity. Valid range is 
0to100. If set to0, Amazon EC2 Auto Scaling may scale capacity higher than the maximum capacity to equal but not exceed forecast capacity. - mode String
 - Predictive scaling mode. Valid values are 
ForecastAndScaleandForecastOnly. Default isForecastOnly. - scheduling
Buffer StringTime  - Amount of time, in seconds, by which the instance launch time can be advanced. Minimum is 
0. 
PolicyPredictiveScalingConfigurationMetricSpecification, PolicyPredictiveScalingConfigurationMetricSpecificationArgs            
- Target
Value double - Target value for the metric.
 - Customized
Capacity PolicyMetric Specification Predictive Scaling Configuration Metric Specification Customized Capacity Metric Specification  - Customized capacity metric specification. The field is only valid when you use 
customized_load_metric_specification - Customized
Load PolicyMetric Specification Predictive Scaling Configuration Metric Specification Customized Load Metric Specification  - Customized load metric specification.
 - Customized
Scaling PolicyMetric Specification Predictive Scaling Configuration Metric Specification Customized Scaling Metric Specification  - Customized scaling metric specification.
 - Predefined
Load PolicyMetric Specification Predictive Scaling Configuration Metric Specification Predefined Load Metric Specification  - Predefined load metric specification.
 - Predefined
Metric PolicyPair Specification Predictive Scaling Configuration Metric Specification Predefined Metric Pair Specification  - Metric pair specification from which Amazon EC2 Auto Scaling determines the appropriate scaling metric and load metric to use.
 - Predefined
Scaling PolicyMetric Specification Predictive Scaling Configuration Metric Specification Predefined Scaling Metric Specification  - Predefined scaling metric specification.
 
- Target
Value float64 - Target value for the metric.
 - Customized
Capacity PolicyMetric Specification Predictive Scaling Configuration Metric Specification Customized Capacity Metric Specification  - Customized capacity metric specification. The field is only valid when you use 
customized_load_metric_specification - Customized
Load PolicyMetric Specification Predictive Scaling Configuration Metric Specification Customized Load Metric Specification  - Customized load metric specification.
 - Customized
Scaling PolicyMetric Specification Predictive Scaling Configuration Metric Specification Customized Scaling Metric Specification  - Customized scaling metric specification.
 - Predefined
Load PolicyMetric Specification Predictive Scaling Configuration Metric Specification Predefined Load Metric Specification  - Predefined load metric specification.
 - Predefined
Metric PolicyPair Specification Predictive Scaling Configuration Metric Specification Predefined Metric Pair Specification  - Metric pair specification from which Amazon EC2 Auto Scaling determines the appropriate scaling metric and load metric to use.
 - Predefined
Scaling PolicyMetric Specification Predictive Scaling Configuration Metric Specification Predefined Scaling Metric Specification  - Predefined scaling metric specification.
 
- target
Value Double - Target value for the metric.
 - customized
Capacity PolicyMetric Specification Predictive Scaling Configuration Metric Specification Customized Capacity Metric Specification  - Customized capacity metric specification. The field is only valid when you use 
customized_load_metric_specification - customized
Load PolicyMetric Specification Predictive Scaling Configuration Metric Specification Customized Load Metric Specification  - Customized load metric specification.
 - customized
Scaling PolicyMetric Specification Predictive Scaling Configuration Metric Specification Customized Scaling Metric Specification  - Customized scaling metric specification.
 - predefined
Load PolicyMetric Specification Predictive Scaling Configuration Metric Specification Predefined Load Metric Specification  - Predefined load metric specification.
 - predefined
Metric PolicyPair Specification Predictive Scaling Configuration Metric Specification Predefined Metric Pair Specification  - Metric pair specification from which Amazon EC2 Auto Scaling determines the appropriate scaling metric and load metric to use.
 - predefined
Scaling PolicyMetric Specification Predictive Scaling Configuration Metric Specification Predefined Scaling Metric Specification  - Predefined scaling metric specification.
 
- target
Value number - Target value for the metric.
 - customized
Capacity PolicyMetric Specification Predictive Scaling Configuration Metric Specification Customized Capacity Metric Specification  - Customized capacity metric specification. The field is only valid when you use 
customized_load_metric_specification - customized
Load PolicyMetric Specification Predictive Scaling Configuration Metric Specification Customized Load Metric Specification  - Customized load metric specification.
 - customized
Scaling PolicyMetric Specification Predictive Scaling Configuration Metric Specification Customized Scaling Metric Specification  - Customized scaling metric specification.
 - predefined
Load PolicyMetric Specification Predictive Scaling Configuration Metric Specification Predefined Load Metric Specification  - Predefined load metric specification.
 - predefined
Metric PolicyPair Specification Predictive Scaling Configuration Metric Specification Predefined Metric Pair Specification  - Metric pair specification from which Amazon EC2 Auto Scaling determines the appropriate scaling metric and load metric to use.
 - predefined
Scaling PolicyMetric Specification Predictive Scaling Configuration Metric Specification Predefined Scaling Metric Specification  - Predefined scaling metric specification.
 
- target_
value float - Target value for the metric.
 - customized_
capacity_ Policymetric_ specification Predictive Scaling Configuration Metric Specification Customized Capacity Metric Specification  - Customized capacity metric specification. The field is only valid when you use 
customized_load_metric_specification - customized_
load_ Policymetric_ specification Predictive Scaling Configuration Metric Specification Customized Load Metric Specification  - Customized load metric specification.
 - customized_
scaling_ Policymetric_ specification Predictive Scaling Configuration Metric Specification Customized Scaling Metric Specification  - Customized scaling metric specification.
 - predefined_
load_ Policymetric_ specification Predictive Scaling Configuration Metric Specification Predefined Load Metric Specification  - Predefined load metric specification.
 - predefined_
metric_ Policypair_ specification Predictive Scaling Configuration Metric Specification Predefined Metric Pair Specification  - Metric pair specification from which Amazon EC2 Auto Scaling determines the appropriate scaling metric and load metric to use.
 - predefined_
scaling_ Policymetric_ specification Predictive Scaling Configuration Metric Specification Predefined Scaling Metric Specification  - Predefined scaling metric specification.
 
- target
Value Number - Target value for the metric.
 - customized
Capacity Property MapMetric Specification  - Customized capacity metric specification. The field is only valid when you use 
customized_load_metric_specification - customized
Load Property MapMetric Specification  - Customized load metric specification.
 - customized
Scaling Property MapMetric Specification  - Customized scaling metric specification.
 - predefined
Load Property MapMetric Specification  - Predefined load metric specification.
 - predefined
Metric Property MapPair Specification  - Metric pair specification from which Amazon EC2 Auto Scaling determines the appropriate scaling metric and load metric to use.
 - predefined
Scaling Property MapMetric Specification  - Predefined scaling metric specification.
 
PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecification, PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationArgs                    
- Metric
Data List<PolicyQueries Predictive Scaling Configuration Metric Specification Customized Capacity Metric Specification Metric Data Query>  - List of up to 10 structures that defines custom capacity metric in predictive scaling policy
 
- Metric
Data []PolicyQueries Predictive Scaling Configuration Metric Specification Customized Capacity Metric Specification Metric Data Query  - List of up to 10 structures that defines custom capacity metric in predictive scaling policy
 
- metric
Data List<PolicyQueries Predictive Scaling Configuration Metric Specification Customized Capacity Metric Specification Metric Data Query>  - List of up to 10 structures that defines custom capacity metric in predictive scaling policy
 
- metric
Data PolicyQueries Predictive Scaling Configuration Metric Specification Customized Capacity Metric Specification Metric Data Query[]  - List of up to 10 structures that defines custom capacity metric in predictive scaling policy
 
- metric_
data_ Sequence[Policyqueries Predictive Scaling Configuration Metric Specification Customized Capacity Metric Specification Metric Data Query]  - List of up to 10 structures that defines custom capacity metric in predictive scaling policy
 
- metric
Data List<Property Map>Queries  - List of up to 10 structures that defines custom capacity metric in predictive scaling policy
 
PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQuery, PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryArgs                          
- Id string
 - Short name for the metric used in predictive scaling policy.
 - Expression string
 - Math expression used on the returned metric. You must specify either 
expressionormetric_stat, but not both. - Label string
 - Human-readable label for this metric or expression.
 - Metric
Stat PolicyPredictive Scaling Configuration Metric Specification Customized Capacity Metric Specification Metric Data Query Metric Stat  - Structure that defines CloudWatch metric to be used in predictive scaling policy. You must specify either 
expressionormetric_stat, but not both. - Return
Data bool - Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
 
- Id string
 - Short name for the metric used in predictive scaling policy.
 - Expression string
 - Math expression used on the returned metric. You must specify either 
expressionormetric_stat, but not both. - Label string
 - Human-readable label for this metric or expression.
 - Metric
Stat PolicyPredictive Scaling Configuration Metric Specification Customized Capacity Metric Specification Metric Data Query Metric Stat  - Structure that defines CloudWatch metric to be used in predictive scaling policy. You must specify either 
expressionormetric_stat, but not both. - Return
Data bool - Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
 
- id String
 - Short name for the metric used in predictive scaling policy.
 - expression String
 - Math expression used on the returned metric. You must specify either 
expressionormetric_stat, but not both. - label String
 - Human-readable label for this metric or expression.
 - metric
Stat PolicyPredictive Scaling Configuration Metric Specification Customized Capacity Metric Specification Metric Data Query Metric Stat  - Structure that defines CloudWatch metric to be used in predictive scaling policy. You must specify either 
expressionormetric_stat, but not both. - return
Data Boolean - Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
 
- id string
 - Short name for the metric used in predictive scaling policy.
 - expression string
 - Math expression used on the returned metric. You must specify either 
expressionormetric_stat, but not both. - label string
 - Human-readable label for this metric or expression.
 - metric
Stat PolicyPredictive Scaling Configuration Metric Specification Customized Capacity Metric Specification Metric Data Query Metric Stat  - Structure that defines CloudWatch metric to be used in predictive scaling policy. You must specify either 
expressionormetric_stat, but not both. - return
Data boolean - Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
 
- id str
 - Short name for the metric used in predictive scaling policy.
 - expression str
 - Math expression used on the returned metric. You must specify either 
expressionormetric_stat, but not both. - label str
 - Human-readable label for this metric or expression.
 - metric_
stat PolicyPredictive Scaling Configuration Metric Specification Customized Capacity Metric Specification Metric Data Query Metric Stat  - Structure that defines CloudWatch metric to be used in predictive scaling policy. You must specify either 
expressionormetric_stat, but not both. - return_
data bool - Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
 
- id String
 - Short name for the metric used in predictive scaling policy.
 - expression String
 - Math expression used on the returned metric. You must specify either 
expressionormetric_stat, but not both. - label String
 - Human-readable label for this metric or expression.
 - metric
Stat Property Map - Structure that defines CloudWatch metric to be used in predictive scaling policy. You must specify either 
expressionormetric_stat, but not both. - return
Data Boolean - Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
 
PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryMetricStat, PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryMetricStatArgs                              
- Metric
Policy
Predictive Scaling Configuration Metric Specification Customized Capacity Metric Specification Metric Data Query Metric Stat Metric  - Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.
 - Stat string
 - Statistic of the metrics to return.
 - Unit string
 - Unit of the metrics to return.
 
- Metric
Policy
Predictive Scaling Configuration Metric Specification Customized Capacity Metric Specification Metric Data Query Metric Stat Metric  - Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.
 - Stat string
 - Statistic of the metrics to return.
 - Unit string
 - Unit of the metrics to return.
 
- metric
Policy
Predictive Scaling Configuration Metric Specification Customized Capacity Metric Specification Metric Data Query Metric Stat Metric  - Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.
 - stat String
 - Statistic of the metrics to return.
 - unit String
 - Unit of the metrics to return.
 
- metric
Policy
Predictive Scaling Configuration Metric Specification Customized Capacity Metric Specification Metric Data Query Metric Stat Metric  - Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.
 - stat string
 - Statistic of the metrics to return.
 - unit string
 - Unit of the metrics to return.
 
- metric
Policy
Predictive Scaling Configuration Metric Specification Customized Capacity Metric Specification Metric Data Query Metric Stat Metric  - Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.
 - stat str
 - Statistic of the metrics to return.
 - unit str
 - Unit of the metrics to return.
 
- metric Property Map
 - Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.
 - stat String
 - Statistic of the metrics to return.
 - unit String
 - Unit of the metrics to return.
 
PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryMetricStatMetric, PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryMetricStatMetricArgs                                
- Metric
Name string - Name of the metric.
 - Namespace string
 - Namespace of the metric.
 - Dimensions
List<Policy
Predictive Scaling Configuration Metric Specification Customized Capacity Metric Specification Metric Data Query Metric Stat Metric Dimension>  - Dimensions of the metric.
 
- Metric
Name string - Name of the metric.
 - Namespace string
 - Namespace of the metric.
 - Dimensions
[]Policy
Predictive Scaling Configuration Metric Specification Customized Capacity Metric Specification Metric Data Query Metric Stat Metric Dimension  - Dimensions of the metric.
 
- metric
Name String - Name of the metric.
 - namespace String
 - Namespace of the metric.
 - dimensions
List<Policy
Predictive Scaling Configuration Metric Specification Customized Capacity Metric Specification Metric Data Query Metric Stat Metric Dimension>  - Dimensions of the metric.
 
- metric
Name string - Name of the metric.
 - namespace string
 - Namespace of the metric.
 - dimensions
Policy
Predictive Scaling Configuration Metric Specification Customized Capacity Metric Specification Metric Data Query Metric Stat Metric Dimension[]  - Dimensions of the metric.
 
- metric_
name str - Name of the metric.
 - namespace str
 - Namespace of the metric.
 - dimensions
Sequence[Policy
Predictive Scaling Configuration Metric Specification Customized Capacity Metric Specification Metric Data Query Metric Stat Metric Dimension]  - Dimensions of the metric.
 
- metric
Name String - Name of the metric.
 - namespace String
 - Namespace of the metric.
 - dimensions List<Property Map>
 - Dimensions of the metric.
 
PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryMetricStatMetricDimension, PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryMetricStatMetricDimensionArgs                                  
PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecification, PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationArgs                    
- Metric
Data List<PolicyQueries Predictive Scaling Configuration Metric Specification Customized Load Metric Specification Metric Data Query>  - List of up to 10 structures that defines custom load metric in predictive scaling policy
 
- Metric
Data []PolicyQueries Predictive Scaling Configuration Metric Specification Customized Load Metric Specification Metric Data Query  - List of up to 10 structures that defines custom load metric in predictive scaling policy
 
- metric
Data List<PolicyQueries Predictive Scaling Configuration Metric Specification Customized Load Metric Specification Metric Data Query>  - List of up to 10 structures that defines custom load metric in predictive scaling policy
 
- metric
Data PolicyQueries Predictive Scaling Configuration Metric Specification Customized Load Metric Specification Metric Data Query[]  - List of up to 10 structures that defines custom load metric in predictive scaling policy
 
- metric_
data_ Sequence[Policyqueries Predictive Scaling Configuration Metric Specification Customized Load Metric Specification Metric Data Query]  - List of up to 10 structures that defines custom load metric in predictive scaling policy
 
- metric
Data List<Property Map>Queries  - List of up to 10 structures that defines custom load metric in predictive scaling policy
 
PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQuery, PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryArgs                          
- Id string
 - Short name for the metric used in predictive scaling policy.
 - Expression string
 - Math expression used on the returned metric. You must specify either 
expressionormetric_stat, but not both. - Label string
 - Human-readable label for this metric or expression.
 - Metric
Stat PolicyPredictive Scaling Configuration Metric Specification Customized Load Metric Specification Metric Data Query Metric Stat  - Structure that defines CloudWatch metric to be used in predictive scaling policy. You must specify either 
expressionormetric_stat, but not both. - Return
Data bool - Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
 
- Id string
 - Short name for the metric used in predictive scaling policy.
 - Expression string
 - Math expression used on the returned metric. You must specify either 
expressionormetric_stat, but not both. - Label string
 - Human-readable label for this metric or expression.
 - Metric
Stat PolicyPredictive Scaling Configuration Metric Specification Customized Load Metric Specification Metric Data Query Metric Stat  - Structure that defines CloudWatch metric to be used in predictive scaling policy. You must specify either 
expressionormetric_stat, but not both. - Return
Data bool - Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
 
- id String
 - Short name for the metric used in predictive scaling policy.
 - expression String
 - Math expression used on the returned metric. You must specify either 
expressionormetric_stat, but not both. - label String
 - Human-readable label for this metric or expression.
 - metric
Stat PolicyPredictive Scaling Configuration Metric Specification Customized Load Metric Specification Metric Data Query Metric Stat  - Structure that defines CloudWatch metric to be used in predictive scaling policy. You must specify either 
expressionormetric_stat, but not both. - return
Data Boolean - Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
 
- id string
 - Short name for the metric used in predictive scaling policy.
 - expression string
 - Math expression used on the returned metric. You must specify either 
expressionormetric_stat, but not both. - label string
 - Human-readable label for this metric or expression.
 - metric
Stat PolicyPredictive Scaling Configuration Metric Specification Customized Load Metric Specification Metric Data Query Metric Stat  - Structure that defines CloudWatch metric to be used in predictive scaling policy. You must specify either 
expressionormetric_stat, but not both. - return
Data boolean - Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
 
- id str
 - Short name for the metric used in predictive scaling policy.
 - expression str
 - Math expression used on the returned metric. You must specify either 
expressionormetric_stat, but not both. - label str
 - Human-readable label for this metric or expression.
 - metric_
stat PolicyPredictive Scaling Configuration Metric Specification Customized Load Metric Specification Metric Data Query Metric Stat  - Structure that defines CloudWatch metric to be used in predictive scaling policy. You must specify either 
expressionormetric_stat, but not both. - return_
data bool - Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
 
- id String
 - Short name for the metric used in predictive scaling policy.
 - expression String
 - Math expression used on the returned metric. You must specify either 
expressionormetric_stat, but not both. - label String
 - Human-readable label for this metric or expression.
 - metric
Stat Property Map - Structure that defines CloudWatch metric to be used in predictive scaling policy. You must specify either 
expressionormetric_stat, but not both. - return
Data Boolean - Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
 
PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryMetricStat, PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryMetricStatArgs                              
- Metric
Policy
Predictive Scaling Configuration Metric Specification Customized Load Metric Specification Metric Data Query Metric Stat Metric  - Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.
 - Stat string
 - Statistic of the metrics to return.
 - Unit string
 - Unit of the metrics to return.
 
- Metric
Policy
Predictive Scaling Configuration Metric Specification Customized Load Metric Specification Metric Data Query Metric Stat Metric  - Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.
 - Stat string
 - Statistic of the metrics to return.
 - Unit string
 - Unit of the metrics to return.
 
- metric
Policy
Predictive Scaling Configuration Metric Specification Customized Load Metric Specification Metric Data Query Metric Stat Metric  - Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.
 - stat String
 - Statistic of the metrics to return.
 - unit String
 - Unit of the metrics to return.
 
- metric
Policy
Predictive Scaling Configuration Metric Specification Customized Load Metric Specification Metric Data Query Metric Stat Metric  - Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.
 - stat string
 - Statistic of the metrics to return.
 - unit string
 - Unit of the metrics to return.
 
- metric
Policy
Predictive Scaling Configuration Metric Specification Customized Load Metric Specification Metric Data Query Metric Stat Metric  - Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.
 - stat str
 - Statistic of the metrics to return.
 - unit str
 - Unit of the metrics to return.
 
- metric Property Map
 - Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.
 - stat String
 - Statistic of the metrics to return.
 - unit String
 - Unit of the metrics to return.
 
PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryMetricStatMetric, PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryMetricStatMetricArgs                                
- Metric
Name string - Name of the metric.
 - Namespace string
 - Namespace of the metric.
 - Dimensions
List<Policy
Predictive Scaling Configuration Metric Specification Customized Load Metric Specification Metric Data Query Metric Stat Metric Dimension>  - Dimensions of the metric.
 
- Metric
Name string - Name of the metric.
 - Namespace string
 - Namespace of the metric.
 - Dimensions
[]Policy
Predictive Scaling Configuration Metric Specification Customized Load Metric Specification Metric Data Query Metric Stat Metric Dimension  - Dimensions of the metric.
 
- metric
Name String - Name of the metric.
 - namespace String
 - Namespace of the metric.
 - dimensions
List<Policy
Predictive Scaling Configuration Metric Specification Customized Load Metric Specification Metric Data Query Metric Stat Metric Dimension>  - Dimensions of the metric.
 
- metric
Name string - Name of the metric.
 - namespace string
 - Namespace of the metric.
 - dimensions
Policy
Predictive Scaling Configuration Metric Specification Customized Load Metric Specification Metric Data Query Metric Stat Metric Dimension[]  - Dimensions of the metric.
 
- metric_
name str - Name of the metric.
 - namespace str
 - Namespace of the metric.
 - dimensions
Sequence[Policy
Predictive Scaling Configuration Metric Specification Customized Load Metric Specification Metric Data Query Metric Stat Metric Dimension]  - Dimensions of the metric.
 
- metric
Name String - Name of the metric.
 - namespace String
 - Namespace of the metric.
 - dimensions List<Property Map>
 - Dimensions of the metric.
 
PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryMetricStatMetricDimension, PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryMetricStatMetricDimensionArgs                                  
PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecification, PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs                    
- Metric
Data List<PolicyQueries Predictive Scaling Configuration Metric Specification Customized Scaling Metric Specification Metric Data Query>  - List of up to 10 structures that defines custom scaling metric in predictive scaling policy
 
- Metric
Data []PolicyQueries Predictive Scaling Configuration Metric Specification Customized Scaling Metric Specification Metric Data Query  - List of up to 10 structures that defines custom scaling metric in predictive scaling policy
 
- metric
Data List<PolicyQueries Predictive Scaling Configuration Metric Specification Customized Scaling Metric Specification Metric Data Query>  - List of up to 10 structures that defines custom scaling metric in predictive scaling policy
 
- metric
Data PolicyQueries Predictive Scaling Configuration Metric Specification Customized Scaling Metric Specification Metric Data Query[]  - List of up to 10 structures that defines custom scaling metric in predictive scaling policy
 
- metric_
data_ Sequence[Policyqueries Predictive Scaling Configuration Metric Specification Customized Scaling Metric Specification Metric Data Query]  - List of up to 10 structures that defines custom scaling metric in predictive scaling policy
 
- metric
Data List<Property Map>Queries  - List of up to 10 structures that defines custom scaling metric in predictive scaling policy
 
PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQuery, PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryArgs                          
- Id string
 - Short name for the metric used in predictive scaling policy.
 - Expression string
 - Math expression used on the returned metric. You must specify either 
expressionormetric_stat, but not both. - Label string
 - Human-readable label for this metric or expression.
 - Metric
Stat PolicyPredictive Scaling Configuration Metric Specification Customized Scaling Metric Specification Metric Data Query Metric Stat  - Structure that defines CloudWatch metric to be used in predictive scaling policy. You must specify either 
expressionormetric_stat, but not both. - Return
Data bool - Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
 
- Id string
 - Short name for the metric used in predictive scaling policy.
 - Expression string
 - Math expression used on the returned metric. You must specify either 
expressionormetric_stat, but not both. - Label string
 - Human-readable label for this metric or expression.
 - Metric
Stat PolicyPredictive Scaling Configuration Metric Specification Customized Scaling Metric Specification Metric Data Query Metric Stat  - Structure that defines CloudWatch metric to be used in predictive scaling policy. You must specify either 
expressionormetric_stat, but not both. - Return
Data bool - Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
 
- id String
 - Short name for the metric used in predictive scaling policy.
 - expression String
 - Math expression used on the returned metric. You must specify either 
expressionormetric_stat, but not both. - label String
 - Human-readable label for this metric or expression.
 - metric
Stat PolicyPredictive Scaling Configuration Metric Specification Customized Scaling Metric Specification Metric Data Query Metric Stat  - Structure that defines CloudWatch metric to be used in predictive scaling policy. You must specify either 
expressionormetric_stat, but not both. - return
Data Boolean - Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
 
- id string
 - Short name for the metric used in predictive scaling policy.
 - expression string
 - Math expression used on the returned metric. You must specify either 
expressionormetric_stat, but not both. - label string
 - Human-readable label for this metric or expression.
 - metric
Stat PolicyPredictive Scaling Configuration Metric Specification Customized Scaling Metric Specification Metric Data Query Metric Stat  - Structure that defines CloudWatch metric to be used in predictive scaling policy. You must specify either 
expressionormetric_stat, but not both. - return
Data boolean - Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
 
- id str
 - Short name for the metric used in predictive scaling policy.
 - expression str
 - Math expression used on the returned metric. You must specify either 
expressionormetric_stat, but not both. - label str
 - Human-readable label for this metric or expression.
 - metric_
stat PolicyPredictive Scaling Configuration Metric Specification Customized Scaling Metric Specification Metric Data Query Metric Stat  - Structure that defines CloudWatch metric to be used in predictive scaling policy. You must specify either 
expressionormetric_stat, but not both. - return_
data bool - Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
 
- id String
 - Short name for the metric used in predictive scaling policy.
 - expression String
 - Math expression used on the returned metric. You must specify either 
expressionormetric_stat, but not both. - label String
 - Human-readable label for this metric or expression.
 - metric
Stat Property Map - Structure that defines CloudWatch metric to be used in predictive scaling policy. You must specify either 
expressionormetric_stat, but not both. - return
Data Boolean - Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
 
PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStat, PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatArgs                              
- Metric
Policy
Predictive Scaling Configuration Metric Specification Customized Scaling Metric Specification Metric Data Query Metric Stat Metric  - Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.
 - Stat string
 - Statistic of the metrics to return.
 - Unit string
 - Unit of the metrics to return.
 
- Metric
Policy
Predictive Scaling Configuration Metric Specification Customized Scaling Metric Specification Metric Data Query Metric Stat Metric  - Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.
 - Stat string
 - Statistic of the metrics to return.
 - Unit string
 - Unit of the metrics to return.
 
- metric
Policy
Predictive Scaling Configuration Metric Specification Customized Scaling Metric Specification Metric Data Query Metric Stat Metric  - Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.
 - stat String
 - Statistic of the metrics to return.
 - unit String
 - Unit of the metrics to return.
 
- metric
Policy
Predictive Scaling Configuration Metric Specification Customized Scaling Metric Specification Metric Data Query Metric Stat Metric  - Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.
 - stat string
 - Statistic of the metrics to return.
 - unit string
 - Unit of the metrics to return.
 
- metric
Policy
Predictive Scaling Configuration Metric Specification Customized Scaling Metric Specification Metric Data Query Metric Stat Metric  - Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.
 - stat str
 - Statistic of the metrics to return.
 - unit str
 - Unit of the metrics to return.
 
- metric Property Map
 - Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.
 - stat String
 - Statistic of the metrics to return.
 - unit String
 - Unit of the metrics to return.
 
PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetric, PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricArgs                                
- Metric
Name string - Name of the metric.
 - Namespace string
 - Namespace of the metric.
 - Dimensions
List<Policy
Predictive Scaling Configuration Metric Specification Customized Scaling Metric Specification Metric Data Query Metric Stat Metric Dimension>  - Dimensions of the metric.
 
- Metric
Name string - Name of the metric.
 - Namespace string
 - Namespace of the metric.
 - Dimensions
[]Policy
Predictive Scaling Configuration Metric Specification Customized Scaling Metric Specification Metric Data Query Metric Stat Metric Dimension  - Dimensions of the metric.
 
- metric
Name String - Name of the metric.
 - namespace String
 - Namespace of the metric.
 - dimensions
List<Policy
Predictive Scaling Configuration Metric Specification Customized Scaling Metric Specification Metric Data Query Metric Stat Metric Dimension>  - Dimensions of the metric.
 
- metric
Name string - Name of the metric.
 - namespace string
 - Namespace of the metric.
 - dimensions
Policy
Predictive Scaling Configuration Metric Specification Customized Scaling Metric Specification Metric Data Query Metric Stat Metric Dimension[]  - Dimensions of the metric.
 
- metric_
name str - Name of the metric.
 - namespace str
 - Namespace of the metric.
 - dimensions
Sequence[Policy
Predictive Scaling Configuration Metric Specification Customized Scaling Metric Specification Metric Data Query Metric Stat Metric Dimension]  - Dimensions of the metric.
 
- metric
Name String - Name of the metric.
 - namespace String
 - Namespace of the metric.
 - dimensions List<Property Map>
 - Dimensions of the metric.
 
PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricDimension, PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricDimensionArgs                                  
PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecification, PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs                    
- Predefined
Metric stringType  - Metric type. Valid values are 
ASGTotalCPUUtilization,ASGTotalNetworkIn,ASGTotalNetworkOut, orALBTargetGroupRequestCount. - Resource
Label string - Label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group. You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). Refer to PredefinedMetricSpecification for more information.
 
- Predefined
Metric stringType  - Metric type. Valid values are 
ASGTotalCPUUtilization,ASGTotalNetworkIn,ASGTotalNetworkOut, orALBTargetGroupRequestCount. - Resource
Label string - Label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group. You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). Refer to PredefinedMetricSpecification for more information.
 
- predefined
Metric StringType  - Metric type. Valid values are 
ASGTotalCPUUtilization,ASGTotalNetworkIn,ASGTotalNetworkOut, orALBTargetGroupRequestCount. - resource
Label String - Label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group. You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). Refer to PredefinedMetricSpecification for more information.
 
- predefined
Metric stringType  - Metric type. Valid values are 
ASGTotalCPUUtilization,ASGTotalNetworkIn,ASGTotalNetworkOut, orALBTargetGroupRequestCount. - resource
Label string - Label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group. You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). Refer to PredefinedMetricSpecification for more information.
 
- predefined_
metric_ strtype  - Metric type. Valid values are 
ASGTotalCPUUtilization,ASGTotalNetworkIn,ASGTotalNetworkOut, orALBTargetGroupRequestCount. - resource_
label str - Label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group. You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). Refer to PredefinedMetricSpecification for more information.
 
- predefined
Metric StringType  - Metric type. Valid values are 
ASGTotalCPUUtilization,ASGTotalNetworkIn,ASGTotalNetworkOut, orALBTargetGroupRequestCount. - resource
Label String - Label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group. You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). Refer to PredefinedMetricSpecification for more information.
 
PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecification, PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationArgs                    
- Predefined
Metric stringType  - Which metrics to use. There are two different types of metrics for each metric type: one is a load metric and one is a scaling metric. For example, if the metric type is 
ASGCPUUtilization, the Auto Scaling group's total CPU metric is used as the load metric, and the average CPU metric is used for the scaling metric. Valid values areASGCPUUtilization,ASGNetworkIn,ASGNetworkOut, orALBRequestCount. - Resource
Label string - Label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group. You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). Refer to PredefinedMetricSpecification for more information.
 
- Predefined
Metric stringType  - Which metrics to use. There are two different types of metrics for each metric type: one is a load metric and one is a scaling metric. For example, if the metric type is 
ASGCPUUtilization, the Auto Scaling group's total CPU metric is used as the load metric, and the average CPU metric is used for the scaling metric. Valid values areASGCPUUtilization,ASGNetworkIn,ASGNetworkOut, orALBRequestCount. - Resource
Label string - Label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group. You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). Refer to PredefinedMetricSpecification for more information.
 
- predefined
Metric StringType  - Which metrics to use. There are two different types of metrics for each metric type: one is a load metric and one is a scaling metric. For example, if the metric type is 
ASGCPUUtilization, the Auto Scaling group's total CPU metric is used as the load metric, and the average CPU metric is used for the scaling metric. Valid values areASGCPUUtilization,ASGNetworkIn,ASGNetworkOut, orALBRequestCount. - resource
Label String - Label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group. You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). Refer to PredefinedMetricSpecification for more information.
 
- predefined
Metric stringType  - Which metrics to use. There are two different types of metrics for each metric type: one is a load metric and one is a scaling metric. For example, if the metric type is 
ASGCPUUtilization, the Auto Scaling group's total CPU metric is used as the load metric, and the average CPU metric is used for the scaling metric. Valid values areASGCPUUtilization,ASGNetworkIn,ASGNetworkOut, orALBRequestCount. - resource
Label string - Label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group. You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). Refer to PredefinedMetricSpecification for more information.
 
- predefined_
metric_ strtype  - Which metrics to use. There are two different types of metrics for each metric type: one is a load metric and one is a scaling metric. For example, if the metric type is 
ASGCPUUtilization, the Auto Scaling group's total CPU metric is used as the load metric, and the average CPU metric is used for the scaling metric. Valid values areASGCPUUtilization,ASGNetworkIn,ASGNetworkOut, orALBRequestCount. - resource_
label str - Label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group. You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). Refer to PredefinedMetricSpecification for more information.
 
- predefined
Metric StringType  - Which metrics to use. There are two different types of metrics for each metric type: one is a load metric and one is a scaling metric. For example, if the metric type is 
ASGCPUUtilization, the Auto Scaling group's total CPU metric is used as the load metric, and the average CPU metric is used for the scaling metric. Valid values areASGCPUUtilization,ASGNetworkIn,ASGNetworkOut, orALBRequestCount. - resource
Label String - Label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group. You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). Refer to PredefinedMetricSpecification for more information.
 
PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecification, PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationArgs                    
- Predefined
Metric stringType  - Describes a scaling metric for a predictive scaling policy. Valid values are 
ASGAverageCPUUtilization,ASGAverageNetworkIn,ASGAverageNetworkOut, orALBRequestCountPerTarget. - Resource
Label string - Label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group. You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). Refer to PredefinedMetricSpecification for more information.
 
- Predefined
Metric stringType  - Describes a scaling metric for a predictive scaling policy. Valid values are 
ASGAverageCPUUtilization,ASGAverageNetworkIn,ASGAverageNetworkOut, orALBRequestCountPerTarget. - Resource
Label string - Label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group. You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). Refer to PredefinedMetricSpecification for more information.
 
- predefined
Metric StringType  - Describes a scaling metric for a predictive scaling policy. Valid values are 
ASGAverageCPUUtilization,ASGAverageNetworkIn,ASGAverageNetworkOut, orALBRequestCountPerTarget. - resource
Label String - Label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group. You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). Refer to PredefinedMetricSpecification for more information.
 
- predefined
Metric stringType  - Describes a scaling metric for a predictive scaling policy. Valid values are 
ASGAverageCPUUtilization,ASGAverageNetworkIn,ASGAverageNetworkOut, orALBRequestCountPerTarget. - resource
Label string - Label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group. You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). Refer to PredefinedMetricSpecification for more information.
 
- predefined_
metric_ strtype  - Describes a scaling metric for a predictive scaling policy. Valid values are 
ASGAverageCPUUtilization,ASGAverageNetworkIn,ASGAverageNetworkOut, orALBRequestCountPerTarget. - resource_
label str - Label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group. You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). Refer to PredefinedMetricSpecification for more information.
 
- predefined
Metric StringType  - Describes a scaling metric for a predictive scaling policy. Valid values are 
ASGAverageCPUUtilization,ASGAverageNetworkIn,ASGAverageNetworkOut, orALBRequestCountPerTarget. - resource
Label String - Label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group. You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). Refer to PredefinedMetricSpecification for more information.
 
PolicyStepAdjustment, PolicyStepAdjustmentArgs      
- Scaling
Adjustment int - Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
 - Metric
Interval stringLower Bound  - Lower bound for the difference between the alarm threshold and the CloudWatch metric. Without a value, AWS will treat this bound as negative infinity.
 - Metric
Interval stringUpper Bound  Upper bound for the difference between the alarm threshold and the CloudWatch metric. Without a value, AWS will treat this bound as positive infinity. The upper bound must be greater than the lower bound.
Notice the bounds are relative to the alarm threshold, meaning that the starting point is not 0%, but the alarm threshold. Check the official docs for a detailed example.
The following arguments are only available to "TargetTrackingScaling" type policies:
- Scaling
Adjustment int - Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
 - Metric
Interval stringLower Bound  - Lower bound for the difference between the alarm threshold and the CloudWatch metric. Without a value, AWS will treat this bound as negative infinity.
 - Metric
Interval stringUpper Bound  Upper bound for the difference between the alarm threshold and the CloudWatch metric. Without a value, AWS will treat this bound as positive infinity. The upper bound must be greater than the lower bound.
Notice the bounds are relative to the alarm threshold, meaning that the starting point is not 0%, but the alarm threshold. Check the official docs for a detailed example.
The following arguments are only available to "TargetTrackingScaling" type policies:
- scaling
Adjustment Integer - Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
 - metric
Interval StringLower Bound  - Lower bound for the difference between the alarm threshold and the CloudWatch metric. Without a value, AWS will treat this bound as negative infinity.
 - metric
Interval StringUpper Bound  Upper bound for the difference between the alarm threshold and the CloudWatch metric. Without a value, AWS will treat this bound as positive infinity. The upper bound must be greater than the lower bound.
Notice the bounds are relative to the alarm threshold, meaning that the starting point is not 0%, but the alarm threshold. Check the official docs for a detailed example.
The following arguments are only available to "TargetTrackingScaling" type policies:
- scaling
Adjustment number - Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
 - metric
Interval stringLower Bound  - Lower bound for the difference between the alarm threshold and the CloudWatch metric. Without a value, AWS will treat this bound as negative infinity.
 - metric
Interval stringUpper Bound  Upper bound for the difference between the alarm threshold and the CloudWatch metric. Without a value, AWS will treat this bound as positive infinity. The upper bound must be greater than the lower bound.
Notice the bounds are relative to the alarm threshold, meaning that the starting point is not 0%, but the alarm threshold. Check the official docs for a detailed example.
The following arguments are only available to "TargetTrackingScaling" type policies:
- scaling_
adjustment int - Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
 - metric_
interval_ strlower_ bound  - Lower bound for the difference between the alarm threshold and the CloudWatch metric. Without a value, AWS will treat this bound as negative infinity.
 - metric_
interval_ strupper_ bound  Upper bound for the difference between the alarm threshold and the CloudWatch metric. Without a value, AWS will treat this bound as positive infinity. The upper bound must be greater than the lower bound.
Notice the bounds are relative to the alarm threshold, meaning that the starting point is not 0%, but the alarm threshold. Check the official docs for a detailed example.
The following arguments are only available to "TargetTrackingScaling" type policies:
- scaling
Adjustment Number - Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
 - metric
Interval StringLower Bound  - Lower bound for the difference between the alarm threshold and the CloudWatch metric. Without a value, AWS will treat this bound as negative infinity.
 - metric
Interval StringUpper Bound  Upper bound for the difference between the alarm threshold and the CloudWatch metric. Without a value, AWS will treat this bound as positive infinity. The upper bound must be greater than the lower bound.
Notice the bounds are relative to the alarm threshold, meaning that the starting point is not 0%, but the alarm threshold. Check the official docs for a detailed example.
The following arguments are only available to "TargetTrackingScaling" type policies:
PolicyTargetTrackingConfiguration, PolicyTargetTrackingConfigurationArgs        
- Target
Value double - Target value for the metric.
 - Customized
Metric PolicySpecification Target Tracking Configuration Customized Metric Specification  - Customized metric. Conflicts with 
predefined_metric_specification. - Disable
Scale boolIn  - Whether scale in by the target tracking policy is disabled.
 - Predefined
Metric PolicySpecification Target Tracking Configuration Predefined Metric Specification  - Predefined metric. Conflicts with 
customized_metric_specification. 
- Target
Value float64 - Target value for the metric.
 - Customized
Metric PolicySpecification Target Tracking Configuration Customized Metric Specification  - Customized metric. Conflicts with 
predefined_metric_specification. - Disable
Scale boolIn  - Whether scale in by the target tracking policy is disabled.
 - Predefined
Metric PolicySpecification Target Tracking Configuration Predefined Metric Specification  - Predefined metric. Conflicts with 
customized_metric_specification. 
- target
Value Double - Target value for the metric.
 - customized
Metric PolicySpecification Target Tracking Configuration Customized Metric Specification  - Customized metric. Conflicts with 
predefined_metric_specification. - disable
Scale BooleanIn  - Whether scale in by the target tracking policy is disabled.
 - predefined
Metric PolicySpecification Target Tracking Configuration Predefined Metric Specification  - Predefined metric. Conflicts with 
customized_metric_specification. 
- target
Value number - Target value for the metric.
 - customized
Metric PolicySpecification Target Tracking Configuration Customized Metric Specification  - Customized metric. Conflicts with 
predefined_metric_specification. - disable
Scale booleanIn  - Whether scale in by the target tracking policy is disabled.
 - predefined
Metric PolicySpecification Target Tracking Configuration Predefined Metric Specification  - Predefined metric. Conflicts with 
customized_metric_specification. 
- target_
value float - Target value for the metric.
 - customized_
metric_ Policyspecification Target Tracking Configuration Customized Metric Specification  - Customized metric. Conflicts with 
predefined_metric_specification. - disable_
scale_ boolin  - Whether scale in by the target tracking policy is disabled.
 - predefined_
metric_ Policyspecification Target Tracking Configuration Predefined Metric Specification  - Predefined metric. Conflicts with 
customized_metric_specification. 
- target
Value Number - Target value for the metric.
 - customized
Metric Property MapSpecification  - Customized metric. Conflicts with 
predefined_metric_specification. - disable
Scale BooleanIn  - Whether scale in by the target tracking policy is disabled.
 - predefined
Metric Property MapSpecification  - Predefined metric. Conflicts with 
customized_metric_specification. 
PolicyTargetTrackingConfigurationCustomizedMetricSpecification, PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs              
- Metric
Dimensions List<PolicyTarget Tracking Configuration Customized Metric Specification Metric Dimension>  - Dimensions of the metric.
 - Metric
Name string - Name of the metric.
 - Metrics
List<Policy
Target Tracking Configuration Customized Metric Specification Metric>  - Metrics to include, as a metric data query.
 - Namespace string
 - Namespace of the metric.
 - Period int
 - The period of the metric in seconds.
 - Statistic string
 - Statistic of the metric.
 - Unit string
 - Unit of the metric.
 
- Metric
Dimensions []PolicyTarget Tracking Configuration Customized Metric Specification Metric Dimension  - Dimensions of the metric.
 - Metric
Name string - Name of the metric.
 - Metrics
[]Policy
Target Tracking Configuration Customized Metric Specification Metric  - Metrics to include, as a metric data query.
 - Namespace string
 - Namespace of the metric.
 - Period int
 - The period of the metric in seconds.
 - Statistic string
 - Statistic of the metric.
 - Unit string
 - Unit of the metric.
 
- metric
Dimensions List<PolicyTarget Tracking Configuration Customized Metric Specification Metric Dimension>  - Dimensions of the metric.
 - metric
Name String - Name of the metric.
 - metrics
List<Policy
Target Tracking Configuration Customized Metric Specification Metric>  - Metrics to include, as a metric data query.
 - namespace String
 - Namespace of the metric.
 - period Integer
 - The period of the metric in seconds.
 - statistic String
 - Statistic of the metric.
 - unit String
 - Unit of the metric.
 
- metric
Dimensions PolicyTarget Tracking Configuration Customized Metric Specification Metric Dimension[]  - Dimensions of the metric.
 - metric
Name string - Name of the metric.
 - metrics
Policy
Target Tracking Configuration Customized Metric Specification Metric[]  - Metrics to include, as a metric data query.
 - namespace string
 - Namespace of the metric.
 - period number
 - The period of the metric in seconds.
 - statistic string
 - Statistic of the metric.
 - unit string
 - Unit of the metric.
 
- metric_
dimensions Sequence[PolicyTarget Tracking Configuration Customized Metric Specification Metric Dimension]  - Dimensions of the metric.
 - metric_
name str - Name of the metric.
 - metrics
Sequence[Policy
Target Tracking Configuration Customized Metric Specification Metric]  - Metrics to include, as a metric data query.
 - namespace str
 - Namespace of the metric.
 - period int
 - The period of the metric in seconds.
 - statistic str
 - Statistic of the metric.
 - unit str
 - Unit of the metric.
 
- metric
Dimensions List<Property Map> - Dimensions of the metric.
 - metric
Name String - Name of the metric.
 - metrics List<Property Map>
 - Metrics to include, as a metric data query.
 - namespace String
 - Namespace of the metric.
 - period Number
 - The period of the metric in seconds.
 - statistic String
 - Statistic of the metric.
 - unit String
 - Unit of the metric.
 
PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetric, PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricArgs                
- Id string
 - Short name for the metric used in target tracking scaling policy.
 - Expression string
 - Math expression used on the returned metric. You must specify either 
expressionormetric_stat, but not both. - Label string
 - Human-readable label for this metric or expression.
 - Metric
Stat PolicyTarget Tracking Configuration Customized Metric Specification Metric Metric Stat  - Structure that defines CloudWatch metric to be used in target tracking scaling policy. You must specify either 
expressionormetric_stat, but not both. - Return
Data bool - Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
 
- Id string
 - Short name for the metric used in target tracking scaling policy.
 - Expression string
 - Math expression used on the returned metric. You must specify either 
expressionormetric_stat, but not both. - Label string
 - Human-readable label for this metric or expression.
 - Metric
Stat PolicyTarget Tracking Configuration Customized Metric Specification Metric Metric Stat  - Structure that defines CloudWatch metric to be used in target tracking scaling policy. You must specify either 
expressionormetric_stat, but not both. - Return
Data bool - Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
 
- id String
 - Short name for the metric used in target tracking scaling policy.
 - expression String
 - Math expression used on the returned metric. You must specify either 
expressionormetric_stat, but not both. - label String
 - Human-readable label for this metric or expression.
 - metric
Stat PolicyTarget Tracking Configuration Customized Metric Specification Metric Metric Stat  - Structure that defines CloudWatch metric to be used in target tracking scaling policy. You must specify either 
expressionormetric_stat, but not both. - return
Data Boolean - Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
 
- id string
 - Short name for the metric used in target tracking scaling policy.
 - expression string
 - Math expression used on the returned metric. You must specify either 
expressionormetric_stat, but not both. - label string
 - Human-readable label for this metric or expression.
 - metric
Stat PolicyTarget Tracking Configuration Customized Metric Specification Metric Metric Stat  - Structure that defines CloudWatch metric to be used in target tracking scaling policy. You must specify either 
expressionormetric_stat, but not both. - return
Data boolean - Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
 
- id str
 - Short name for the metric used in target tracking scaling policy.
 - expression str
 - Math expression used on the returned metric. You must specify either 
expressionormetric_stat, but not both. - label str
 - Human-readable label for this metric or expression.
 - metric_
stat PolicyTarget Tracking Configuration Customized Metric Specification Metric Metric Stat  - Structure that defines CloudWatch metric to be used in target tracking scaling policy. You must specify either 
expressionormetric_stat, but not both. - return_
data bool - Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
 
- id String
 - Short name for the metric used in target tracking scaling policy.
 - expression String
 - Math expression used on the returned metric. You must specify either 
expressionormetric_stat, but not both. - label String
 - Human-readable label for this metric or expression.
 - metric
Stat Property Map - Structure that defines CloudWatch metric to be used in target tracking scaling policy. You must specify either 
expressionormetric_stat, but not both. - return
Data Boolean - Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
 
PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimension, PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArgs                  
PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStat, PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatArgs                    
- Metric
Policy
Target Tracking Configuration Customized Metric Specification Metric Metric Stat Metric  - Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.
 - Stat string
 - Statistic of the metrics to return.
 - Period int
 - The period of the metric in seconds.
 - Unit string
 - Unit of the metrics to return.
 
- Metric
Policy
Target Tracking Configuration Customized Metric Specification Metric Metric Stat Metric  - Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.
 - Stat string
 - Statistic of the metrics to return.
 - Period int
 - The period of the metric in seconds.
 - Unit string
 - Unit of the metrics to return.
 
- metric
Policy
Target Tracking Configuration Customized Metric Specification Metric Metric Stat Metric  - Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.
 - stat String
 - Statistic of the metrics to return.
 - period Integer
 - The period of the metric in seconds.
 - unit String
 - Unit of the metrics to return.
 
- metric
Policy
Target Tracking Configuration Customized Metric Specification Metric Metric Stat Metric  - Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.
 - stat string
 - Statistic of the metrics to return.
 - period number
 - The period of the metric in seconds.
 - unit string
 - Unit of the metrics to return.
 
- metric
Policy
Target Tracking Configuration Customized Metric Specification Metric Metric Stat Metric  - Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.
 - stat str
 - Statistic of the metrics to return.
 - period int
 - The period of the metric in seconds.
 - unit str
 - Unit of the metrics to return.
 
- metric Property Map
 - Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.
 - stat String
 - Statistic of the metrics to return.
 - period Number
 - The period of the metric in seconds.
 - unit String
 - Unit of the metrics to return.
 
PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetric, PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs                      
- Metric
Name string - Name of the metric.
 - Namespace string
 - Namespace of the metric.
 - Dimensions
List<Policy
Target Tracking Configuration Customized Metric Specification Metric Metric Stat Metric Dimension>  - Dimensions of the metric.
 
- Metric
Name string - Name of the metric.
 - Namespace string
 - Namespace of the metric.
 - Dimensions
[]Policy
Target Tracking Configuration Customized Metric Specification Metric Metric Stat Metric Dimension  - Dimensions of the metric.
 
- metric
Name String - Name of the metric.
 - namespace String
 - Namespace of the metric.
 - dimensions
List<Policy
Target Tracking Configuration Customized Metric Specification Metric Metric Stat Metric Dimension>  - Dimensions of the metric.
 
- metric
Name string - Name of the metric.
 - namespace string
 - Namespace of the metric.
 - dimensions
Policy
Target Tracking Configuration Customized Metric Specification Metric Metric Stat Metric Dimension[]  - Dimensions of the metric.
 
- metric_
name str - Name of the metric.
 - namespace str
 - Namespace of the metric.
 - dimensions
Sequence[Policy
Target Tracking Configuration Customized Metric Specification Metric Metric Stat Metric Dimension]  - Dimensions of the metric.
 
- metric
Name String - Name of the metric.
 - namespace String
 - Namespace of the metric.
 - dimensions List<Property Map>
 - Dimensions of the metric.
 
PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimension, PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs                        
PolicyTargetTrackingConfigurationPredefinedMetricSpecification, PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs              
- Predefined
Metric stringType  - Metric type.
 - Resource
Label string - Identifies the resource associated with the metric type.
 
- Predefined
Metric stringType  - Metric type.
 - Resource
Label string - Identifies the resource associated with the metric type.
 
- predefined
Metric StringType  - Metric type.
 - resource
Label String - Identifies the resource associated with the metric type.
 
- predefined
Metric stringType  - Metric type.
 - resource
Label string - Identifies the resource associated with the metric type.
 
- predefined_
metric_ strtype  - Metric type.
 - resource_
label str - Identifies the resource associated with the metric type.
 
- predefined
Metric StringType  - Metric type.
 - resource
Label String - Identifies the resource associated with the metric type.
 
Import
Using pulumi import, import AutoScaling scaling policy using the role autoscaling_group_name and name separated by /. For example:
$ pulumi import aws:autoscaling/policy:Policy test-policy asg-name/policy-name
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
 - AWS Classic pulumi/pulumi-aws
 - License
 - Apache-2.0
 - Notes
 - This Pulumi package is based on the 
awsTerraform Provider.