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)
                .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)
                    .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)
                    .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:
- AutoscalingGroup stringName 
- Name of the autoscaling group.
- AdjustmentType 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: 
- EstimatedInstance 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.
- MetricAggregation 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".
- MinAdjustment intMagnitude 
- Minimum value to scale by when - adjustment_typeis set to- PercentChangeInCapacity.- The following arguments are only available to "SimpleScaling" type policies: 
- Name string
- Name of the policy.
- PolicyType string
- Policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
- PredictiveScaling PolicyConfiguration Predictive Scaling Configuration 
- Predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
- ScalingAdjustment int
- Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
- StepAdjustments 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: 3- The following fields are available in step adjustments: 
- TargetTracking 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) .build()) .build()); } }- resources: example: type: aws:autoscaling:Policy properties: targetTrackingConfiguration: predefinedMetricSpecification: predefinedMetricType: ASGAverageCPUUtilization targetValue: 40- The following fields are available in target tracking configuration: 
- AutoscalingGroup stringName 
- Name of the autoscaling group.
- AdjustmentType 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: 
- EstimatedInstance 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.
- MetricAggregation 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".
- MinAdjustment intMagnitude 
- Minimum value to scale by when - adjustment_typeis set to- PercentChangeInCapacity.- The following arguments are only available to "SimpleScaling" type policies: 
- Name string
- Name of the policy.
- PolicyType string
- Policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
- PredictiveScaling PolicyConfiguration Predictive Scaling Configuration Args 
- Predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
- ScalingAdjustment int
- Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
- StepAdjustments []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: 3- The following fields are available in step adjustments: 
- TargetTracking 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) .build()) .build()); } }- resources: example: type: aws:autoscaling:Policy properties: targetTrackingConfiguration: predefinedMetricSpecification: predefinedMetricType: ASGAverageCPUUtilization targetValue: 40- The following fields are available in target tracking configuration: 
- autoscalingGroup StringName 
- Name of the autoscaling group.
- adjustmentType 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: 
- estimatedInstance 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.
- metricAggregation 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".
- minAdjustment IntegerMagnitude 
- Minimum value to scale by when - adjustment_typeis set to- PercentChangeInCapacity.- The following arguments are only available to "SimpleScaling" type policies: 
- name String
- Name of the policy.
- policyType String
- Policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
- predictiveScaling PolicyConfiguration Predictive Scaling Configuration 
- Predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
- scalingAdjustment Integer
- Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
- stepAdjustments 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: 3- The following fields are available in step adjustments: 
- targetTracking 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) .build()) .build()); } }- resources: example: type: aws:autoscaling:Policy properties: targetTrackingConfiguration: predefinedMetricSpecification: predefinedMetricType: ASGAverageCPUUtilization targetValue: 40- The following fields are available in target tracking configuration: 
- autoscalingGroup stringName 
- Name of the autoscaling group.
- adjustmentType 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: 
- estimatedInstance 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.
- metricAggregation 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".
- minAdjustment numberMagnitude 
- Minimum value to scale by when - adjustment_typeis set to- PercentChangeInCapacity.- The following arguments are only available to "SimpleScaling" type policies: 
- name string
- Name of the policy.
- policyType string
- Policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
- predictiveScaling PolicyConfiguration Predictive Scaling Configuration 
- Predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
- scalingAdjustment number
- Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
- stepAdjustments 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: 3- The following fields are available in step adjustments: 
- targetTracking 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) .build()) .build()); } }- resources: example: type: aws:autoscaling:Policy properties: targetTrackingConfiguration: predefinedMetricSpecification: predefinedMetricType: ASGAverageCPUUtilization targetValue: 40- The 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 to- PercentChangeInCapacity.- 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: 3- The 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) .build()) .build()); } }- resources: example: type: aws:autoscaling:Policy properties: targetTrackingConfiguration: predefinedMetricSpecification: predefinedMetricType: ASGAverageCPUUtilization targetValue: 40- The following fields are available in target tracking configuration: 
- autoscalingGroup StringName 
- Name of the autoscaling group.
- adjustmentType 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: 
- estimatedInstance 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.
- metricAggregation 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".
- minAdjustment NumberMagnitude 
- Minimum value to scale by when - adjustment_typeis set to- PercentChangeInCapacity.- The following arguments are only available to "SimpleScaling" type policies: 
- name String
- Name of the policy.
- policyType String
- Policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
- predictiveScaling Property MapConfiguration 
- Predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
- scalingAdjustment Number
- Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
- stepAdjustments 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: 3- The following fields are available in step adjustments: 
- targetTracking 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) .build()) .build()); } }- resources: example: type: aws:autoscaling:Policy properties: targetTrackingConfiguration: predefinedMetricSpecification: predefinedMetricType: ASGAverageCPUUtilization targetValue: 40- The 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.
- AdjustmentType 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.
- AutoscalingGroup 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: 
- EstimatedInstance 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.
- MetricAggregation 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".
- MinAdjustment intMagnitude 
- Minimum value to scale by when - adjustment_typeis set to- PercentChangeInCapacity.- The following arguments are only available to "SimpleScaling" type policies: 
- Name string
- Name of the policy.
- PolicyType string
- Policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
- PredictiveScaling PolicyConfiguration Predictive Scaling Configuration 
- Predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
- ScalingAdjustment int
- Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
- StepAdjustments 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: 3- The following fields are available in step adjustments: 
- TargetTracking 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) .build()) .build()); } }- resources: example: type: aws:autoscaling:Policy properties: targetTrackingConfiguration: predefinedMetricSpecification: predefinedMetricType: ASGAverageCPUUtilization targetValue: 40- The following fields are available in target tracking configuration: 
- AdjustmentType 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.
- AutoscalingGroup 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: 
- EstimatedInstance 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.
- MetricAggregation 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".
- MinAdjustment intMagnitude 
- Minimum value to scale by when - adjustment_typeis set to- PercentChangeInCapacity.- The following arguments are only available to "SimpleScaling" type policies: 
- Name string
- Name of the policy.
- PolicyType string
- Policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
- PredictiveScaling PolicyConfiguration Predictive Scaling Configuration Args 
- Predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
- ScalingAdjustment int
- Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
- StepAdjustments []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: 3- The following fields are available in step adjustments: 
- TargetTracking 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) .build()) .build()); } }- resources: example: type: aws:autoscaling:Policy properties: targetTrackingConfiguration: predefinedMetricSpecification: predefinedMetricType: ASGAverageCPUUtilization targetValue: 40- The following fields are available in target tracking configuration: 
- adjustmentType 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.
- autoscalingGroup 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: 
- estimatedInstance 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.
- metricAggregation 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".
- minAdjustment IntegerMagnitude 
- Minimum value to scale by when - adjustment_typeis set to- PercentChangeInCapacity.- The following arguments are only available to "SimpleScaling" type policies: 
- name String
- Name of the policy.
- policyType String
- Policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
- predictiveScaling PolicyConfiguration Predictive Scaling Configuration 
- Predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
- scalingAdjustment Integer
- Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
- stepAdjustments 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: 3- The following fields are available in step adjustments: 
- targetTracking 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) .build()) .build()); } }- resources: example: type: aws:autoscaling:Policy properties: targetTrackingConfiguration: predefinedMetricSpecification: predefinedMetricType: ASGAverageCPUUtilization targetValue: 40- The following fields are available in target tracking configuration: 
- adjustmentType 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.
- autoscalingGroup 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: 
- estimatedInstance 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.
- metricAggregation 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".
- minAdjustment numberMagnitude 
- Minimum value to scale by when - adjustment_typeis set to- PercentChangeInCapacity.- The following arguments are only available to "SimpleScaling" type policies: 
- name string
- Name of the policy.
- policyType string
- Policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
- predictiveScaling PolicyConfiguration Predictive Scaling Configuration 
- Predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
- scalingAdjustment number
- Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
- stepAdjustments 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: 3- The following fields are available in step adjustments: 
- targetTracking 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) .build()) .build()); } }- resources: example: type: aws:autoscaling:Policy properties: targetTrackingConfiguration: predefinedMetricSpecification: predefinedMetricType: ASGAverageCPUUtilization targetValue: 40- The 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 to- PercentChangeInCapacity.- 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: 3- The 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) .build()) .build()); } }- resources: example: type: aws:autoscaling:Policy properties: targetTrackingConfiguration: predefinedMetricSpecification: predefinedMetricType: ASGAverageCPUUtilization targetValue: 40- The following fields are available in target tracking configuration: 
- adjustmentType 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.
- autoscalingGroup 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: 
- estimatedInstance 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.
- metricAggregation 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".
- minAdjustment NumberMagnitude 
- Minimum value to scale by when - adjustment_typeis set to- PercentChangeInCapacity.- The following arguments are only available to "SimpleScaling" type policies: 
- name String
- Name of the policy.
- policyType String
- Policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
- predictiveScaling Property MapConfiguration 
- Predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
- scalingAdjustment Number
- Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
- stepAdjustments 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: 3- The following fields are available in step adjustments: 
- targetTracking 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) .build()) .build()); } }- resources: example: type: aws:autoscaling:Policy properties: targetTrackingConfiguration: predefinedMetricSpecification: predefinedMetricType: ASGAverageCPUUtilization targetValue: 40- The following fields are available in target tracking configuration: 
Supporting Types
PolicyPredictiveScalingConfiguration, PolicyPredictiveScalingConfigurationArgs        
- MetricSpecification PolicyPredictive Scaling Configuration Metric Specification 
- This structure includes the metrics and target utilization to use for predictive scaling.
- MaxCapacity 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.
- MaxCapacity 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.
- SchedulingBuffer stringTime 
- Amount of time, in seconds, by which the instance launch time can be advanced. Minimum is 0.
- MetricSpecification PolicyPredictive Scaling Configuration Metric Specification 
- This structure includes the metrics and target utilization to use for predictive scaling.
- MaxCapacity 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.
- MaxCapacity 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.
- SchedulingBuffer stringTime 
- Amount of time, in seconds, by which the instance launch time can be advanced. Minimum is 0.
- metricSpecification PolicyPredictive Scaling Configuration Metric Specification 
- This structure includes the metrics and target utilization to use for predictive scaling.
- maxCapacity 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.
- maxCapacity 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.
- schedulingBuffer StringTime 
- Amount of time, in seconds, by which the instance launch time can be advanced. Minimum is 0.
- metricSpecification PolicyPredictive Scaling Configuration Metric Specification 
- This structure includes the metrics and target utilization to use for predictive scaling.
- maxCapacity 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.
- maxCapacity 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.
- schedulingBuffer 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.
- metricSpecification Property Map
- This structure includes the metrics and target utilization to use for predictive scaling.
- maxCapacity 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.
- maxCapacity 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.
- schedulingBuffer StringTime 
- Amount of time, in seconds, by which the instance launch time can be advanced. Minimum is 0.
PolicyPredictiveScalingConfigurationMetricSpecification, PolicyPredictiveScalingConfigurationMetricSpecificationArgs            
- TargetValue double
- Target value for the metric.
- CustomizedCapacity 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
- CustomizedLoad PolicyMetric Specification Predictive Scaling Configuration Metric Specification Customized Load Metric Specification 
- Customized load metric specification.
- CustomizedScaling PolicyMetric Specification Predictive Scaling Configuration Metric Specification Customized Scaling Metric Specification 
- Customized scaling metric specification.
- PredefinedLoad PolicyMetric Specification Predictive Scaling Configuration Metric Specification Predefined Load Metric Specification 
- Predefined load metric specification.
- PredefinedMetric 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.
- PredefinedScaling PolicyMetric Specification Predictive Scaling Configuration Metric Specification Predefined Scaling Metric Specification 
- Predefined scaling metric specification.
- TargetValue float64
- Target value for the metric.
- CustomizedCapacity 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
- CustomizedLoad PolicyMetric Specification Predictive Scaling Configuration Metric Specification Customized Load Metric Specification 
- Customized load metric specification.
- CustomizedScaling PolicyMetric Specification Predictive Scaling Configuration Metric Specification Customized Scaling Metric Specification 
- Customized scaling metric specification.
- PredefinedLoad PolicyMetric Specification Predictive Scaling Configuration Metric Specification Predefined Load Metric Specification 
- Predefined load metric specification.
- PredefinedMetric 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.
- PredefinedScaling PolicyMetric Specification Predictive Scaling Configuration Metric Specification Predefined Scaling Metric Specification 
- Predefined scaling metric specification.
- targetValue Double
- Target value for the metric.
- customizedCapacity 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
- customizedLoad PolicyMetric Specification Predictive Scaling Configuration Metric Specification Customized Load Metric Specification 
- Customized load metric specification.
- customizedScaling PolicyMetric Specification Predictive Scaling Configuration Metric Specification Customized Scaling Metric Specification 
- Customized scaling metric specification.
- predefinedLoad PolicyMetric Specification Predictive Scaling Configuration Metric Specification Predefined Load Metric Specification 
- Predefined load metric specification.
- predefinedMetric 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.
- predefinedScaling PolicyMetric Specification Predictive Scaling Configuration Metric Specification Predefined Scaling Metric Specification 
- Predefined scaling metric specification.
- targetValue number
- Target value for the metric.
- customizedCapacity 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
- customizedLoad PolicyMetric Specification Predictive Scaling Configuration Metric Specification Customized Load Metric Specification 
- Customized load metric specification.
- customizedScaling PolicyMetric Specification Predictive Scaling Configuration Metric Specification Customized Scaling Metric Specification 
- Customized scaling metric specification.
- predefinedLoad PolicyMetric Specification Predictive Scaling Configuration Metric Specification Predefined Load Metric Specification 
- Predefined load metric specification.
- predefinedMetric 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.
- predefinedScaling 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.
- targetValue Number
- Target value for the metric.
- customizedCapacity Property MapMetric Specification 
- Customized capacity metric specification. The field is only valid when you use customized_load_metric_specification
- customizedLoad Property MapMetric Specification 
- Customized load metric specification.
- customizedScaling Property MapMetric Specification 
- Customized scaling metric specification.
- predefinedLoad Property MapMetric Specification 
- Predefined load metric specification.
- predefinedMetric Property MapPair Specification 
- Metric pair specification from which Amazon EC2 Auto Scaling determines the appropriate scaling metric and load metric to use.
- predefinedScaling Property MapMetric Specification 
- Predefined scaling metric specification.
PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecification, PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationArgs                    
- MetricData 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
- MetricData []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
- metricData 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
- metricData 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
- metricData 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.
- MetricStat 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.
- ReturnData 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.
- MetricStat 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.
- ReturnData 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.
- metricStat 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.
- returnData 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.
- metricStat 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.
- returnData 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.
- metricStat Property Map
- Structure that defines CloudWatch metric to be used in predictive scaling policy. You must specify either expressionormetric_stat, but not both.
- returnData Boolean
- Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryMetricStat, PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryMetricStatArgs                              
- Metric
PolicyPredictive 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
PolicyPredictive 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
PolicyPredictive 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
PolicyPredictive 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
PolicyPredictive 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                                
- MetricName string
- Name of the metric.
- Namespace string
- Namespace of the metric.
- Dimensions
List<PolicyPredictive Scaling Configuration Metric Specification Customized Capacity Metric Specification Metric Data Query Metric Stat Metric Dimension> 
- Dimensions of the metric.
- MetricName string
- Name of the metric.
- Namespace string
- Namespace of the metric.
- Dimensions
[]PolicyPredictive Scaling Configuration Metric Specification Customized Capacity Metric Specification Metric Data Query Metric Stat Metric Dimension 
- Dimensions of the metric.
- metricName String
- Name of the metric.
- namespace String
- Namespace of the metric.
- dimensions
List<PolicyPredictive Scaling Configuration Metric Specification Customized Capacity Metric Specification Metric Data Query Metric Stat Metric Dimension> 
- Dimensions of the metric.
- metricName string
- Name of the metric.
- namespace string
- Namespace of the metric.
- dimensions
PolicyPredictive 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[PolicyPredictive Scaling Configuration Metric Specification Customized Capacity Metric Specification Metric Data Query Metric Stat Metric Dimension] 
- Dimensions of the metric.
- metricName String
- Name of the metric.
- namespace String
- Namespace of the metric.
- dimensions List<Property Map>
- Dimensions of the metric.
PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryMetricStatMetricDimension, PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedCapacityMetricSpecificationMetricDataQueryMetricStatMetricDimensionArgs                                  
PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecification, PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationArgs                    
- MetricData 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
- MetricData []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
- metricData 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
- metricData 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
- metricData 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.
- MetricStat 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.
- ReturnData 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.
- MetricStat 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.
- ReturnData 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.
- metricStat 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.
- returnData 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.
- metricStat 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.
- returnData 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.
- metricStat Property Map
- Structure that defines CloudWatch metric to be used in predictive scaling policy. You must specify either expressionormetric_stat, but not both.
- returnData Boolean
- Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryMetricStat, PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryMetricStatArgs                              
- Metric
PolicyPredictive 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
PolicyPredictive 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
PolicyPredictive 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
PolicyPredictive 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
PolicyPredictive 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                                
- MetricName string
- Name of the metric.
- Namespace string
- Namespace of the metric.
- Dimensions
List<PolicyPredictive Scaling Configuration Metric Specification Customized Load Metric Specification Metric Data Query Metric Stat Metric Dimension> 
- Dimensions of the metric.
- MetricName string
- Name of the metric.
- Namespace string
- Namespace of the metric.
- Dimensions
[]PolicyPredictive Scaling Configuration Metric Specification Customized Load Metric Specification Metric Data Query Metric Stat Metric Dimension 
- Dimensions of the metric.
- metricName String
- Name of the metric.
- namespace String
- Namespace of the metric.
- dimensions
List<PolicyPredictive Scaling Configuration Metric Specification Customized Load Metric Specification Metric Data Query Metric Stat Metric Dimension> 
- Dimensions of the metric.
- metricName string
- Name of the metric.
- namespace string
- Namespace of the metric.
- dimensions
PolicyPredictive 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[PolicyPredictive Scaling Configuration Metric Specification Customized Load Metric Specification Metric Data Query Metric Stat Metric Dimension] 
- Dimensions of the metric.
- metricName String
- Name of the metric.
- namespace String
- Namespace of the metric.
- dimensions List<Property Map>
- Dimensions of the metric.
PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryMetricStatMetricDimension, PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedLoadMetricSpecificationMetricDataQueryMetricStatMetricDimensionArgs                                  
PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecification, PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationArgs                    
- MetricData 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
- MetricData []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
- metricData 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
- metricData 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
- metricData 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.
- MetricStat 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.
- ReturnData 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.
- MetricStat 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.
- ReturnData 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.
- metricStat 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.
- returnData 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.
- metricStat 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.
- returnData 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.
- metricStat Property Map
- Structure that defines CloudWatch metric to be used in predictive scaling policy. You must specify either expressionormetric_stat, but not both.
- returnData Boolean
- Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStat, PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatArgs                              
- Metric
PolicyPredictive 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
PolicyPredictive 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
PolicyPredictive 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
PolicyPredictive 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
PolicyPredictive 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                                
- MetricName string
- Name of the metric.
- Namespace string
- Namespace of the metric.
- Dimensions
List<PolicyPredictive Scaling Configuration Metric Specification Customized Scaling Metric Specification Metric Data Query Metric Stat Metric Dimension> 
- Dimensions of the metric.
- MetricName string
- Name of the metric.
- Namespace string
- Namespace of the metric.
- Dimensions
[]PolicyPredictive Scaling Configuration Metric Specification Customized Scaling Metric Specification Metric Data Query Metric Stat Metric Dimension 
- Dimensions of the metric.
- metricName String
- Name of the metric.
- namespace String
- Namespace of the metric.
- dimensions
List<PolicyPredictive Scaling Configuration Metric Specification Customized Scaling Metric Specification Metric Data Query Metric Stat Metric Dimension> 
- Dimensions of the metric.
- metricName string
- Name of the metric.
- namespace string
- Namespace of the metric.
- dimensions
PolicyPredictive 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[PolicyPredictive Scaling Configuration Metric Specification Customized Scaling Metric Specification Metric Data Query Metric Stat Metric Dimension] 
- Dimensions of the metric.
- metricName String
- Name of the metric.
- namespace String
- Namespace of the metric.
- dimensions List<Property Map>
- Dimensions of the metric.
PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricDimension, PolicyPredictiveScalingConfigurationMetricSpecificationCustomizedScalingMetricSpecificationMetricDataQueryMetricStatMetricDimensionArgs                                  
PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecification, PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs                    
- PredefinedMetric stringType 
- Metric type. Valid values are ASGTotalCPUUtilization,ASGTotalNetworkIn,ASGTotalNetworkOut, orALBTargetGroupRequestCount.
- ResourceLabel 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.
- PredefinedMetric stringType 
- Metric type. Valid values are ASGTotalCPUUtilization,ASGTotalNetworkIn,ASGTotalNetworkOut, orALBTargetGroupRequestCount.
- ResourceLabel 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.
- predefinedMetric StringType 
- Metric type. Valid values are ASGTotalCPUUtilization,ASGTotalNetworkIn,ASGTotalNetworkOut, orALBTargetGroupRequestCount.
- resourceLabel 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.
- predefinedMetric stringType 
- Metric type. Valid values are ASGTotalCPUUtilization,ASGTotalNetworkIn,ASGTotalNetworkOut, orALBTargetGroupRequestCount.
- resourceLabel 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.
- predefinedMetric StringType 
- Metric type. Valid values are ASGTotalCPUUtilization,ASGTotalNetworkIn,ASGTotalNetworkOut, orALBTargetGroupRequestCount.
- resourceLabel 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                    
- PredefinedMetric 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.
- ResourceLabel 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.
- PredefinedMetric 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.
- ResourceLabel 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.
- predefinedMetric 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.
- resourceLabel 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.
- predefinedMetric 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.
- resourceLabel 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.
- predefinedMetric 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.
- resourceLabel 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                    
- PredefinedMetric stringType 
- Describes a scaling metric for a predictive scaling policy. Valid values are ASGAverageCPUUtilization,ASGAverageNetworkIn,ASGAverageNetworkOut, orALBRequestCountPerTarget.
- ResourceLabel 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.
- PredefinedMetric stringType 
- Describes a scaling metric for a predictive scaling policy. Valid values are ASGAverageCPUUtilization,ASGAverageNetworkIn,ASGAverageNetworkOut, orALBRequestCountPerTarget.
- ResourceLabel 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.
- predefinedMetric StringType 
- Describes a scaling metric for a predictive scaling policy. Valid values are ASGAverageCPUUtilization,ASGAverageNetworkIn,ASGAverageNetworkOut, orALBRequestCountPerTarget.
- resourceLabel 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.
- predefinedMetric stringType 
- Describes a scaling metric for a predictive scaling policy. Valid values are ASGAverageCPUUtilization,ASGAverageNetworkIn,ASGAverageNetworkOut, orALBRequestCountPerTarget.
- resourceLabel 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.
- predefinedMetric StringType 
- Describes a scaling metric for a predictive scaling policy. Valid values are ASGAverageCPUUtilization,ASGAverageNetworkIn,ASGAverageNetworkOut, orALBRequestCountPerTarget.
- resourceLabel 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      
- ScalingAdjustment int
- Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
- MetricInterval 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.
- MetricInterval 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: 
- ScalingAdjustment int
- Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
- MetricInterval 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.
- MetricInterval 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: 
- scalingAdjustment Integer
- Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
- metricInterval 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.
- metricInterval 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: 
- scalingAdjustment number
- Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
- metricInterval 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.
- metricInterval 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: 
- scalingAdjustment Number
- Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
- metricInterval 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.
- metricInterval 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        
- TargetValue double
- Target value for the metric.
- CustomizedMetric PolicySpecification Target Tracking Configuration Customized Metric Specification 
- Customized metric. Conflicts with predefined_metric_specification.
- DisableScale boolIn 
- Whether scale in by the target tracking policy is disabled.
- PredefinedMetric PolicySpecification Target Tracking Configuration Predefined Metric Specification 
- Predefined metric. Conflicts with customized_metric_specification.
- TargetValue float64
- Target value for the metric.
- CustomizedMetric PolicySpecification Target Tracking Configuration Customized Metric Specification 
- Customized metric. Conflicts with predefined_metric_specification.
- DisableScale boolIn 
- Whether scale in by the target tracking policy is disabled.
- PredefinedMetric PolicySpecification Target Tracking Configuration Predefined Metric Specification 
- Predefined metric. Conflicts with customized_metric_specification.
- targetValue Double
- Target value for the metric.
- customizedMetric PolicySpecification Target Tracking Configuration Customized Metric Specification 
- Customized metric. Conflicts with predefined_metric_specification.
- disableScale BooleanIn 
- Whether scale in by the target tracking policy is disabled.
- predefinedMetric PolicySpecification Target Tracking Configuration Predefined Metric Specification 
- Predefined metric. Conflicts with customized_metric_specification.
- targetValue number
- Target value for the metric.
- customizedMetric PolicySpecification Target Tracking Configuration Customized Metric Specification 
- Customized metric. Conflicts with predefined_metric_specification.
- disableScale booleanIn 
- Whether scale in by the target tracking policy is disabled.
- predefinedMetric 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.
- targetValue Number
- Target value for the metric.
- customizedMetric Property MapSpecification 
- Customized metric. Conflicts with predefined_metric_specification.
- disableScale BooleanIn 
- Whether scale in by the target tracking policy is disabled.
- predefinedMetric Property MapSpecification 
- Predefined metric. Conflicts with customized_metric_specification.
PolicyTargetTrackingConfigurationCustomizedMetricSpecification, PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs              
- MetricDimensions List<PolicyTarget Tracking Configuration Customized Metric Specification Metric Dimension> 
- Dimensions of the metric.
- MetricName string
- Name of the metric.
- Metrics
List<PolicyTarget 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.
- MetricDimensions []PolicyTarget Tracking Configuration Customized Metric Specification Metric Dimension 
- Dimensions of the metric.
- MetricName string
- Name of the metric.
- Metrics
[]PolicyTarget 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.
- metricDimensions List<PolicyTarget Tracking Configuration Customized Metric Specification Metric Dimension> 
- Dimensions of the metric.
- metricName String
- Name of the metric.
- metrics
List<PolicyTarget 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.
- metricDimensions PolicyTarget Tracking Configuration Customized Metric Specification Metric Dimension[] 
- Dimensions of the metric.
- metricName string
- Name of the metric.
- metrics
PolicyTarget 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[PolicyTarget 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.
- metricDimensions List<Property Map>
- Dimensions of the metric.
- metricName 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.
- MetricStat 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.
- ReturnData 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.
- MetricStat 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.
- ReturnData 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.
- metricStat 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.
- returnData 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.
- metricStat 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.
- returnData 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.
- metricStat Property Map
- Structure that defines CloudWatch metric to be used in target tracking scaling policy. You must specify either expressionormetric_stat, but not both.
- returnData 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
PolicyTarget 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
PolicyTarget 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
PolicyTarget 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
PolicyTarget 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
PolicyTarget 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                      
- MetricName string
- Name of the metric.
- Namespace string
- Namespace of the metric.
- Dimensions
List<PolicyTarget Tracking Configuration Customized Metric Specification Metric Metric Stat Metric Dimension> 
- Dimensions of the metric.
- MetricName string
- Name of the metric.
- Namespace string
- Namespace of the metric.
- Dimensions
[]PolicyTarget Tracking Configuration Customized Metric Specification Metric Metric Stat Metric Dimension 
- Dimensions of the metric.
- metricName String
- Name of the metric.
- namespace String
- Namespace of the metric.
- dimensions
List<PolicyTarget Tracking Configuration Customized Metric Specification Metric Metric Stat Metric Dimension> 
- Dimensions of the metric.
- metricName string
- Name of the metric.
- namespace string
- Namespace of the metric.
- dimensions
PolicyTarget 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[PolicyTarget Tracking Configuration Customized Metric Specification Metric Metric Stat Metric Dimension] 
- Dimensions of the metric.
- metricName String
- Name of the metric.
- namespace String
- Namespace of the metric.
- dimensions List<Property Map>
- Dimensions of the metric.
PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimension, PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs                        
PolicyTargetTrackingConfigurationPredefinedMetricSpecification, PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs              
- PredefinedMetric stringType 
- Metric type.
- ResourceLabel string
- Identifies the resource associated with the metric type.
- PredefinedMetric stringType 
- Metric type.
- ResourceLabel string
- Identifies the resource associated with the metric type.
- predefinedMetric StringType 
- Metric type.
- resourceLabel String
- Identifies the resource associated with the metric type.
- predefinedMetric stringType 
- Metric type.
- resourceLabel 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.
- predefinedMetric StringType 
- Metric type.
- resourceLabel 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.