appautoscaling

package
v5.43.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 21, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Policy

type Policy struct {
	pulumi.CustomResourceState

	// List of CloudWatch alarm ARNs associated with the scaling policy.
	AlarmArns pulumi.StringArrayOutput `pulumi:"alarmArns"`
	// ARN assigned by AWS to the scaling policy.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Name of the policy. Must be between 1 and 255 characters in length.
	Name pulumi.StringOutput `pulumi:"name"`
	// Policy type. Valid values are `StepScaling` and `TargetTrackingScaling`. Defaults to `StepScaling`. Certain services only support only one policy type. For more information see the [Target Tracking Scaling Policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) and [Step Scaling Policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) documentation.
	PolicyType pulumi.StringPtrOutput `pulumi:"policyType"`
	// Resource type and unique identifier string for the resource associated with the scaling policy. Documentation can be found in the `ResourceId` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html)
	ResourceId pulumi.StringOutput `pulumi:"resourceId"`
	// Scalable dimension of the scalable target. Documentation can be found in the `ScalableDimension` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html)
	ScalableDimension pulumi.StringOutput `pulumi:"scalableDimension"`
	// AWS service namespace of the scalable target. Documentation can be found in the `ServiceNamespace` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html)
	ServiceNamespace pulumi.StringOutput `pulumi:"serviceNamespace"`
	// Step scaling policy configuration, requires `policyType = "StepScaling"` (default). See supported fields below.
	StepScalingPolicyConfiguration PolicyStepScalingPolicyConfigurationPtrOutput `pulumi:"stepScalingPolicyConfiguration"`
	// Target tracking policy, requires `policyType = "TargetTrackingScaling"`. See supported fields below.
	TargetTrackingScalingPolicyConfiguration PolicyTargetTrackingScalingPolicyConfigurationPtrOutput `pulumi:"targetTrackingScalingPolicyConfiguration"`
}

Provides an Application AutoScaling Policy resource.

## Example Usage ### DynamoDB Table Autoscaling

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/appautoscaling"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		dynamodbTableReadTarget, err := appautoscaling.NewTarget(ctx, "dynamodbTableReadTarget", &appautoscaling.TargetArgs{
			MaxCapacity:       pulumi.Int(100),
			MinCapacity:       pulumi.Int(5),
			ResourceId:        pulumi.String("table/tableName"),
			ScalableDimension: pulumi.String("dynamodb:table:ReadCapacityUnits"),
			ServiceNamespace:  pulumi.String("dynamodb"),
		})
		if err != nil {
			return err
		}
		_, err = appautoscaling.NewPolicy(ctx, "dynamodbTableReadPolicy", &appautoscaling.PolicyArgs{
			PolicyType:        pulumi.String("TargetTrackingScaling"),
			ResourceId:        dynamodbTableReadTarget.ResourceId,
			ScalableDimension: dynamodbTableReadTarget.ScalableDimension,
			ServiceNamespace:  dynamodbTableReadTarget.ServiceNamespace,
			TargetTrackingScalingPolicyConfiguration: &appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationArgs{
				PredefinedMetricSpecification: &appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs{
					PredefinedMetricType: pulumi.String("DynamoDBReadCapacityUtilization"),
				},
				TargetValue: pulumi.Float64(70),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### ECS Service Autoscaling

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/appautoscaling"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ecsTarget, err := appautoscaling.NewTarget(ctx, "ecsTarget", &appautoscaling.TargetArgs{
			MaxCapacity:       pulumi.Int(4),
			MinCapacity:       pulumi.Int(1),
			ResourceId:        pulumi.String("service/clusterName/serviceName"),
			ScalableDimension: pulumi.String("ecs:service:DesiredCount"),
			ServiceNamespace:  pulumi.String("ecs"),
		})
		if err != nil {
			return err
		}
		_, err = appautoscaling.NewPolicy(ctx, "ecsPolicy", &appautoscaling.PolicyArgs{
			PolicyType:        pulumi.String("StepScaling"),
			ResourceId:        ecsTarget.ResourceId,
			ScalableDimension: ecsTarget.ScalableDimension,
			ServiceNamespace:  ecsTarget.ServiceNamespace,
			StepScalingPolicyConfiguration: &appautoscaling.PolicyStepScalingPolicyConfigurationArgs{
				AdjustmentType:        pulumi.String("ChangeInCapacity"),
				Cooldown:              pulumi.Int(60),
				MetricAggregationType: pulumi.String("Maximum"),
				StepAdjustments: appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArray{
					&appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs{
						MetricIntervalUpperBound: pulumi.String("0"),
						ScalingAdjustment:        -1,
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Preserve desired count when updating an autoscaled ECS Service

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ecs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ecs.NewService(ctx, "ecsService", &ecs.ServiceArgs{
			Cluster:        pulumi.String("clusterName"),
			TaskDefinition: pulumi.String("taskDefinitionFamily:1"),
			DesiredCount:   pulumi.Int(2),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Aurora Read Replica Autoscaling

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/appautoscaling"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		replicasTarget, err := appautoscaling.NewTarget(ctx, "replicasTarget", &appautoscaling.TargetArgs{
			ServiceNamespace:  pulumi.String("rds"),
			ScalableDimension: pulumi.String("rds:cluster:ReadReplicaCount"),
			ResourceId:        pulumi.String(fmt.Sprintf("cluster:%v", aws_rds_cluster.Example.Id)),
			MinCapacity:       pulumi.Int(1),
			MaxCapacity:       pulumi.Int(15),
		})
		if err != nil {
			return err
		}
		_, err = appautoscaling.NewPolicy(ctx, "replicasPolicy", &appautoscaling.PolicyArgs{
			ServiceNamespace:  replicasTarget.ServiceNamespace,
			ScalableDimension: replicasTarget.ScalableDimension,
			ResourceId:        replicasTarget.ResourceId,
			PolicyType:        pulumi.String("TargetTrackingScaling"),
			TargetTrackingScalingPolicyConfiguration: &appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationArgs{
				PredefinedMetricSpecification: &appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs{
					PredefinedMetricType: pulumi.String("RDSReaderAverageCPUUtilization"),
				},
				TargetValue:      pulumi.Float64(75),
				ScaleInCooldown:  pulumi.Int(300),
				ScaleOutCooldown: pulumi.Int(300),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Create target tracking scaling policy using metric math

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/appautoscaling"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ecsTarget, err := appautoscaling.NewTarget(ctx, "ecsTarget", &appautoscaling.TargetArgs{
			MaxCapacity:       pulumi.Int(4),
			MinCapacity:       pulumi.Int(1),
			ResourceId:        pulumi.String("service/clusterName/serviceName"),
			ScalableDimension: pulumi.String("ecs:service:DesiredCount"),
			ServiceNamespace:  pulumi.String("ecs"),
		})
		if err != nil {
			return err
		}
		_, err = appautoscaling.NewPolicy(ctx, "example", &appautoscaling.PolicyArgs{
			PolicyType:        pulumi.String("TargetTrackingScaling"),
			ResourceId:        ecsTarget.ResourceId,
			ScalableDimension: ecsTarget.ScalableDimension,
			ServiceNamespace:  ecsTarget.ServiceNamespace,
			TargetTrackingScalingPolicyConfiguration: &appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationArgs{
				TargetValue: pulumi.Float64(100),
				CustomizedMetricSpecification: &appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs{
					Metrics: appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArray{
						&appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs{
							Label: pulumi.String("Get the queue size (the number of messages waiting to be processed)"),
							Id:    pulumi.String("m1"),
							MetricStat: &appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs{
								Metric: &appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs{
									MetricName: pulumi.String("ApproximateNumberOfMessagesVisible"),
									Namespace:  pulumi.String("AWS/SQS"),
									Dimensions: appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArray{
										&appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs{
											Name:  pulumi.String("QueueName"),
											Value: pulumi.String("my-queue"),
										},
									},
								},
								Stat: pulumi.String("Sum"),
							},
							ReturnData: pulumi.Bool(false),
						},
						&appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs{
							Label: pulumi.String("Get the ECS running task count (the number of currently running tasks)"),
							Id:    pulumi.String("m2"),
							MetricStat: &appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs{
								Metric: &appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs{
									MetricName: pulumi.String("RunningTaskCount"),
									Namespace:  pulumi.String("ECS/ContainerInsights"),
									Dimensions: appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArray{
										&appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs{
											Name:  pulumi.String("ClusterName"),
											Value: pulumi.String("default"),
										},
										&appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs{
											Name:  pulumi.String("ServiceName"),
											Value: pulumi.String("web-app"),
										},
									},
								},
								Stat: pulumi.String("Average"),
							},
							ReturnData: pulumi.Bool(false),
						},
						&appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs{
							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
	})
}

``` ### MSK / Kafka Autoscaling

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/appautoscaling"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		mskTarget, err := appautoscaling.NewTarget(ctx, "mskTarget", &appautoscaling.TargetArgs{
			ServiceNamespace:  pulumi.String("kafka"),
			ScalableDimension: pulumi.String("kafka:broker-storage:VolumeSize"),
			ResourceId:        pulumi.Any(aws_msk_cluster.Example.Arn),
			MinCapacity:       pulumi.Int(1),
			MaxCapacity:       pulumi.Int(8),
		})
		if err != nil {
			return err
		}
		_, err = appautoscaling.NewPolicy(ctx, "targets", &appautoscaling.PolicyArgs{
			ServiceNamespace:  mskTarget.ServiceNamespace,
			ScalableDimension: mskTarget.ScalableDimension,
			ResourceId:        mskTarget.ResourceId,
			PolicyType:        pulumi.String("TargetTrackingScaling"),
			TargetTrackingScalingPolicyConfiguration: &appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationArgs{
				PredefinedMetricSpecification: &appautoscaling.PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs{
					PredefinedMetricType: pulumi.String("KafkaBrokerStorageUtilization"),
				},
				TargetValue: pulumi.Float64(55),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Application AutoScaling Policy can be imported using the `service-namespace` , `resource-id`, `scalable-dimension` and `policy-name` separated by `/`.

```sh

$ pulumi import aws:appautoscaling/policy:Policy test-policy service-namespace/resource-id/scalable-dimension/policy-name

```

func GetPolicy

func GetPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PolicyState, opts ...pulumi.ResourceOption) (*Policy, error)

GetPolicy gets an existing Policy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPolicy

func NewPolicy(ctx *pulumi.Context,
	name string, args *PolicyArgs, opts ...pulumi.ResourceOption) (*Policy, error)

NewPolicy registers a new resource with the given unique name, arguments, and options.

func (*Policy) ElementType

func (*Policy) ElementType() reflect.Type

func (*Policy) ToPolicyOutput

func (i *Policy) ToPolicyOutput() PolicyOutput

func (*Policy) ToPolicyOutputWithContext

func (i *Policy) ToPolicyOutputWithContext(ctx context.Context) PolicyOutput

type PolicyArgs

type PolicyArgs struct {
	// Name of the policy. Must be between 1 and 255 characters in length.
	Name pulumi.StringPtrInput
	// Policy type. Valid values are `StepScaling` and `TargetTrackingScaling`. Defaults to `StepScaling`. Certain services only support only one policy type. For more information see the [Target Tracking Scaling Policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) and [Step Scaling Policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) documentation.
	PolicyType pulumi.StringPtrInput
	// Resource type and unique identifier string for the resource associated with the scaling policy. Documentation can be found in the `ResourceId` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html)
	ResourceId pulumi.StringInput
	// Scalable dimension of the scalable target. Documentation can be found in the `ScalableDimension` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html)
	ScalableDimension pulumi.StringInput
	// AWS service namespace of the scalable target. Documentation can be found in the `ServiceNamespace` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html)
	ServiceNamespace pulumi.StringInput
	// Step scaling policy configuration, requires `policyType = "StepScaling"` (default). See supported fields below.
	StepScalingPolicyConfiguration PolicyStepScalingPolicyConfigurationPtrInput
	// Target tracking policy, requires `policyType = "TargetTrackingScaling"`. See supported fields below.
	TargetTrackingScalingPolicyConfiguration PolicyTargetTrackingScalingPolicyConfigurationPtrInput
}

The set of arguments for constructing a Policy resource.

func (PolicyArgs) ElementType

func (PolicyArgs) ElementType() reflect.Type

type PolicyArray

type PolicyArray []PolicyInput

func (PolicyArray) ElementType

func (PolicyArray) ElementType() reflect.Type

func (PolicyArray) ToPolicyArrayOutput

func (i PolicyArray) ToPolicyArrayOutput() PolicyArrayOutput

func (PolicyArray) ToPolicyArrayOutputWithContext

func (i PolicyArray) ToPolicyArrayOutputWithContext(ctx context.Context) PolicyArrayOutput

type PolicyArrayInput

type PolicyArrayInput interface {
	pulumi.Input

	ToPolicyArrayOutput() PolicyArrayOutput
	ToPolicyArrayOutputWithContext(context.Context) PolicyArrayOutput
}

PolicyArrayInput is an input type that accepts PolicyArray and PolicyArrayOutput values. You can construct a concrete instance of `PolicyArrayInput` via:

PolicyArray{ PolicyArgs{...} }

type PolicyArrayOutput

type PolicyArrayOutput struct{ *pulumi.OutputState }

func (PolicyArrayOutput) ElementType

func (PolicyArrayOutput) ElementType() reflect.Type

func (PolicyArrayOutput) Index

func (PolicyArrayOutput) ToPolicyArrayOutput

func (o PolicyArrayOutput) ToPolicyArrayOutput() PolicyArrayOutput

func (PolicyArrayOutput) ToPolicyArrayOutputWithContext

func (o PolicyArrayOutput) ToPolicyArrayOutputWithContext(ctx context.Context) PolicyArrayOutput

type PolicyInput

type PolicyInput interface {
	pulumi.Input

	ToPolicyOutput() PolicyOutput
	ToPolicyOutputWithContext(ctx context.Context) PolicyOutput
}

type PolicyMap

type PolicyMap map[string]PolicyInput

func (PolicyMap) ElementType

func (PolicyMap) ElementType() reflect.Type

func (PolicyMap) ToPolicyMapOutput

func (i PolicyMap) ToPolicyMapOutput() PolicyMapOutput

func (PolicyMap) ToPolicyMapOutputWithContext

func (i PolicyMap) ToPolicyMapOutputWithContext(ctx context.Context) PolicyMapOutput

type PolicyMapInput

type PolicyMapInput interface {
	pulumi.Input

	ToPolicyMapOutput() PolicyMapOutput
	ToPolicyMapOutputWithContext(context.Context) PolicyMapOutput
}

PolicyMapInput is an input type that accepts PolicyMap and PolicyMapOutput values. You can construct a concrete instance of `PolicyMapInput` via:

PolicyMap{ "key": PolicyArgs{...} }

type PolicyMapOutput

type PolicyMapOutput struct{ *pulumi.OutputState }

func (PolicyMapOutput) ElementType

func (PolicyMapOutput) ElementType() reflect.Type

func (PolicyMapOutput) MapIndex

func (PolicyMapOutput) ToPolicyMapOutput

func (o PolicyMapOutput) ToPolicyMapOutput() PolicyMapOutput

func (PolicyMapOutput) ToPolicyMapOutputWithContext

func (o PolicyMapOutput) ToPolicyMapOutputWithContext(ctx context.Context) PolicyMapOutput

type PolicyOutput

type PolicyOutput struct{ *pulumi.OutputState }

func (PolicyOutput) AlarmArns added in v5.17.0

func (o PolicyOutput) AlarmArns() pulumi.StringArrayOutput

List of CloudWatch alarm ARNs associated with the scaling policy.

func (PolicyOutput) Arn added in v5.4.0

ARN assigned by AWS to the scaling policy.

func (PolicyOutput) ElementType

func (PolicyOutput) ElementType() reflect.Type

func (PolicyOutput) Name added in v5.4.0

func (o PolicyOutput) Name() pulumi.StringOutput

Name of the policy. Must be between 1 and 255 characters in length.

func (PolicyOutput) PolicyType added in v5.4.0

func (o PolicyOutput) PolicyType() pulumi.StringPtrOutput

Policy type. Valid values are `StepScaling` and `TargetTrackingScaling`. Defaults to `StepScaling`. Certain services only support only one policy type. For more information see the [Target Tracking Scaling Policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) and [Step Scaling Policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) documentation.

func (PolicyOutput) ResourceId added in v5.4.0

func (o PolicyOutput) ResourceId() pulumi.StringOutput

Resource type and unique identifier string for the resource associated with the scaling policy. Documentation can be found in the `ResourceId` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html)

func (PolicyOutput) ScalableDimension added in v5.4.0

func (o PolicyOutput) ScalableDimension() pulumi.StringOutput

Scalable dimension of the scalable target. Documentation can be found in the `ScalableDimension` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html)

func (PolicyOutput) ServiceNamespace added in v5.4.0

func (o PolicyOutput) ServiceNamespace() pulumi.StringOutput

AWS service namespace of the scalable target. Documentation can be found in the `ServiceNamespace` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html)

func (PolicyOutput) StepScalingPolicyConfiguration added in v5.4.0

func (o PolicyOutput) StepScalingPolicyConfiguration() PolicyStepScalingPolicyConfigurationPtrOutput

Step scaling policy configuration, requires `policyType = "StepScaling"` (default). See supported fields below.

func (PolicyOutput) TargetTrackingScalingPolicyConfiguration added in v5.4.0

func (o PolicyOutput) TargetTrackingScalingPolicyConfiguration() PolicyTargetTrackingScalingPolicyConfigurationPtrOutput

Target tracking policy, requires `policyType = "TargetTrackingScaling"`. See supported fields below.

func (PolicyOutput) ToPolicyOutput

func (o PolicyOutput) ToPolicyOutput() PolicyOutput

func (PolicyOutput) ToPolicyOutputWithContext

func (o PolicyOutput) ToPolicyOutputWithContext(ctx context.Context) PolicyOutput

type PolicyState

type PolicyState struct {
	// List of CloudWatch alarm ARNs associated with the scaling policy.
	AlarmArns pulumi.StringArrayInput
	// ARN assigned by AWS to the scaling policy.
	Arn pulumi.StringPtrInput
	// Name of the policy. Must be between 1 and 255 characters in length.
	Name pulumi.StringPtrInput
	// Policy type. Valid values are `StepScaling` and `TargetTrackingScaling`. Defaults to `StepScaling`. Certain services only support only one policy type. For more information see the [Target Tracking Scaling Policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) and [Step Scaling Policies](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) documentation.
	PolicyType pulumi.StringPtrInput
	// Resource type and unique identifier string for the resource associated with the scaling policy. Documentation can be found in the `ResourceId` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html)
	ResourceId pulumi.StringPtrInput
	// Scalable dimension of the scalable target. Documentation can be found in the `ScalableDimension` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html)
	ScalableDimension pulumi.StringPtrInput
	// AWS service namespace of the scalable target. Documentation can be found in the `ServiceNamespace` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html)
	ServiceNamespace pulumi.StringPtrInput
	// Step scaling policy configuration, requires `policyType = "StepScaling"` (default). See supported fields below.
	StepScalingPolicyConfiguration PolicyStepScalingPolicyConfigurationPtrInput
	// Target tracking policy, requires `policyType = "TargetTrackingScaling"`. See supported fields below.
	TargetTrackingScalingPolicyConfiguration PolicyTargetTrackingScalingPolicyConfigurationPtrInput
}

func (PolicyState) ElementType

func (PolicyState) ElementType() reflect.Type

type PolicyStepScalingPolicyConfiguration

type PolicyStepScalingPolicyConfiguration struct {
	// Whether the adjustment is an absolute number or a percentage of the current capacity. Valid values are `ChangeInCapacity`, `ExactCapacity`, and `PercentChangeInCapacity`.
	AdjustmentType *string `pulumi:"adjustmentType"`
	// Amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
	Cooldown *int `pulumi:"cooldown"`
	// 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".
	MetricAggregationType *string `pulumi:"metricAggregationType"`
	// Minimum number to adjust your scalable dimension as a result of a scaling activity. If the adjustment type is PercentChangeInCapacity, the scaling policy changes the scalable dimension of the scalable target by this amount.
	MinAdjustmentMagnitude *int `pulumi:"minAdjustmentMagnitude"`
	// Set of adjustments that manage scaling. These have the following structure:
	//
	// “`go
	// package main
	//
	// import (
	// 	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/appautoscaling"
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// )
	//
	// func main() {
	// 	pulumi.Run(func(ctx *pulumi.Context) error {
	// 		_, err := appautoscaling.NewPolicy(ctx, "ecsPolicy", &appautoscaling.PolicyArgs{
	// 			StepScalingPolicyConfiguration: &appautoscaling.PolicyStepScalingPolicyConfigurationArgs{
	// 				StepAdjustments: appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArray{
	// 					&appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs{
	// 						MetricIntervalLowerBound: pulumi.String("1"),
	// 						MetricIntervalUpperBound: pulumi.String("2"),
	// 						ScalingAdjustment:        -1,
	// 					},
	// 					&appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs{
	// 						MetricIntervalLowerBound: pulumi.String("2"),
	// 						MetricIntervalUpperBound: pulumi.String("3"),
	// 						ScalingAdjustment:        pulumi.Int(1),
	// 					},
	// 				},
	// 			},
	// 		})
	// 		if err != nil {
	// 			return err
	// 		}
	// 		return nil
	// 	})
	// }
	// “`
	StepAdjustments []PolicyStepScalingPolicyConfigurationStepAdjustment `pulumi:"stepAdjustments"`
}

type PolicyStepScalingPolicyConfigurationArgs

type PolicyStepScalingPolicyConfigurationArgs struct {
	// Whether the adjustment is an absolute number or a percentage of the current capacity. Valid values are `ChangeInCapacity`, `ExactCapacity`, and `PercentChangeInCapacity`.
	AdjustmentType pulumi.StringPtrInput `pulumi:"adjustmentType"`
	// Amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
	Cooldown pulumi.IntPtrInput `pulumi:"cooldown"`
	// 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".
	MetricAggregationType pulumi.StringPtrInput `pulumi:"metricAggregationType"`
	// Minimum number to adjust your scalable dimension as a result of a scaling activity. If the adjustment type is PercentChangeInCapacity, the scaling policy changes the scalable dimension of the scalable target by this amount.
	MinAdjustmentMagnitude pulumi.IntPtrInput `pulumi:"minAdjustmentMagnitude"`
	// Set of adjustments that manage scaling. These have the following structure:
	//
	// “`go
	// package main
	//
	// import (
	// 	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/appautoscaling"
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// )
	//
	// func main() {
	// 	pulumi.Run(func(ctx *pulumi.Context) error {
	// 		_, err := appautoscaling.NewPolicy(ctx, "ecsPolicy", &appautoscaling.PolicyArgs{
	// 			StepScalingPolicyConfiguration: &appautoscaling.PolicyStepScalingPolicyConfigurationArgs{
	// 				StepAdjustments: appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArray{
	// 					&appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs{
	// 						MetricIntervalLowerBound: pulumi.String("1"),
	// 						MetricIntervalUpperBound: pulumi.String("2"),
	// 						ScalingAdjustment:        -1,
	// 					},
	// 					&appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs{
	// 						MetricIntervalLowerBound: pulumi.String("2"),
	// 						MetricIntervalUpperBound: pulumi.String("3"),
	// 						ScalingAdjustment:        pulumi.Int(1),
	// 					},
	// 				},
	// 			},
	// 		})
	// 		if err != nil {
	// 			return err
	// 		}
	// 		return nil
	// 	})
	// }
	// “`
	StepAdjustments PolicyStepScalingPolicyConfigurationStepAdjustmentArrayInput `pulumi:"stepAdjustments"`
}

func (PolicyStepScalingPolicyConfigurationArgs) ElementType

func (PolicyStepScalingPolicyConfigurationArgs) ToPolicyStepScalingPolicyConfigurationOutput

func (i PolicyStepScalingPolicyConfigurationArgs) ToPolicyStepScalingPolicyConfigurationOutput() PolicyStepScalingPolicyConfigurationOutput

func (PolicyStepScalingPolicyConfigurationArgs) ToPolicyStepScalingPolicyConfigurationOutputWithContext

func (i PolicyStepScalingPolicyConfigurationArgs) ToPolicyStepScalingPolicyConfigurationOutputWithContext(ctx context.Context) PolicyStepScalingPolicyConfigurationOutput

func (PolicyStepScalingPolicyConfigurationArgs) ToPolicyStepScalingPolicyConfigurationPtrOutput

func (i PolicyStepScalingPolicyConfigurationArgs) ToPolicyStepScalingPolicyConfigurationPtrOutput() PolicyStepScalingPolicyConfigurationPtrOutput

func (PolicyStepScalingPolicyConfigurationArgs) ToPolicyStepScalingPolicyConfigurationPtrOutputWithContext

func (i PolicyStepScalingPolicyConfigurationArgs) ToPolicyStepScalingPolicyConfigurationPtrOutputWithContext(ctx context.Context) PolicyStepScalingPolicyConfigurationPtrOutput

type PolicyStepScalingPolicyConfigurationInput

type PolicyStepScalingPolicyConfigurationInput interface {
	pulumi.Input

	ToPolicyStepScalingPolicyConfigurationOutput() PolicyStepScalingPolicyConfigurationOutput
	ToPolicyStepScalingPolicyConfigurationOutputWithContext(context.Context) PolicyStepScalingPolicyConfigurationOutput
}

PolicyStepScalingPolicyConfigurationInput is an input type that accepts PolicyStepScalingPolicyConfigurationArgs and PolicyStepScalingPolicyConfigurationOutput values. You can construct a concrete instance of `PolicyStepScalingPolicyConfigurationInput` via:

PolicyStepScalingPolicyConfigurationArgs{...}

type PolicyStepScalingPolicyConfigurationOutput

type PolicyStepScalingPolicyConfigurationOutput struct{ *pulumi.OutputState }

func (PolicyStepScalingPolicyConfigurationOutput) AdjustmentType

Whether the adjustment is an absolute number or a percentage of the current capacity. Valid values are `ChangeInCapacity`, `ExactCapacity`, and `PercentChangeInCapacity`.

func (PolicyStepScalingPolicyConfigurationOutput) Cooldown

Amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.

func (PolicyStepScalingPolicyConfigurationOutput) ElementType

func (PolicyStepScalingPolicyConfigurationOutput) MetricAggregationType

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".

func (PolicyStepScalingPolicyConfigurationOutput) MinAdjustmentMagnitude

Minimum number to adjust your scalable dimension as a result of a scaling activity. If the adjustment type is PercentChangeInCapacity, the scaling policy changes the scalable dimension of the scalable target by this amount.

func (PolicyStepScalingPolicyConfigurationOutput) StepAdjustments

Set of adjustments that manage scaling. These have the following structure:

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/appautoscaling"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := appautoscaling.NewPolicy(ctx, "ecsPolicy", &appautoscaling.PolicyArgs{
			StepScalingPolicyConfiguration: &appautoscaling.PolicyStepScalingPolicyConfigurationArgs{
				StepAdjustments: appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArray{
					&appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs{
						MetricIntervalLowerBound: pulumi.String("1"),
						MetricIntervalUpperBound: pulumi.String("2"),
						ScalingAdjustment:        -1,
					},
					&appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs{
						MetricIntervalLowerBound: pulumi.String("2"),
						MetricIntervalUpperBound: pulumi.String("3"),
						ScalingAdjustment:        pulumi.Int(1),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func (PolicyStepScalingPolicyConfigurationOutput) ToPolicyStepScalingPolicyConfigurationOutput

func (o PolicyStepScalingPolicyConfigurationOutput) ToPolicyStepScalingPolicyConfigurationOutput() PolicyStepScalingPolicyConfigurationOutput

func (PolicyStepScalingPolicyConfigurationOutput) ToPolicyStepScalingPolicyConfigurationOutputWithContext

func (o PolicyStepScalingPolicyConfigurationOutput) ToPolicyStepScalingPolicyConfigurationOutputWithContext(ctx context.Context) PolicyStepScalingPolicyConfigurationOutput

func (PolicyStepScalingPolicyConfigurationOutput) ToPolicyStepScalingPolicyConfigurationPtrOutput

func (o PolicyStepScalingPolicyConfigurationOutput) ToPolicyStepScalingPolicyConfigurationPtrOutput() PolicyStepScalingPolicyConfigurationPtrOutput

func (PolicyStepScalingPolicyConfigurationOutput) ToPolicyStepScalingPolicyConfigurationPtrOutputWithContext

func (o PolicyStepScalingPolicyConfigurationOutput) ToPolicyStepScalingPolicyConfigurationPtrOutputWithContext(ctx context.Context) PolicyStepScalingPolicyConfigurationPtrOutput

type PolicyStepScalingPolicyConfigurationPtrInput

type PolicyStepScalingPolicyConfigurationPtrInput interface {
	pulumi.Input

	ToPolicyStepScalingPolicyConfigurationPtrOutput() PolicyStepScalingPolicyConfigurationPtrOutput
	ToPolicyStepScalingPolicyConfigurationPtrOutputWithContext(context.Context) PolicyStepScalingPolicyConfigurationPtrOutput
}

PolicyStepScalingPolicyConfigurationPtrInput is an input type that accepts PolicyStepScalingPolicyConfigurationArgs, PolicyStepScalingPolicyConfigurationPtr and PolicyStepScalingPolicyConfigurationPtrOutput values. You can construct a concrete instance of `PolicyStepScalingPolicyConfigurationPtrInput` via:

        PolicyStepScalingPolicyConfigurationArgs{...}

or:

        nil

type PolicyStepScalingPolicyConfigurationPtrOutput

type PolicyStepScalingPolicyConfigurationPtrOutput struct{ *pulumi.OutputState }

func (PolicyStepScalingPolicyConfigurationPtrOutput) AdjustmentType

Whether the adjustment is an absolute number or a percentage of the current capacity. Valid values are `ChangeInCapacity`, `ExactCapacity`, and `PercentChangeInCapacity`.

func (PolicyStepScalingPolicyConfigurationPtrOutput) Cooldown

Amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.

func (PolicyStepScalingPolicyConfigurationPtrOutput) Elem

func (PolicyStepScalingPolicyConfigurationPtrOutput) ElementType

func (PolicyStepScalingPolicyConfigurationPtrOutput) MetricAggregationType

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".

func (PolicyStepScalingPolicyConfigurationPtrOutput) MinAdjustmentMagnitude

Minimum number to adjust your scalable dimension as a result of a scaling activity. If the adjustment type is PercentChangeInCapacity, the scaling policy changes the scalable dimension of the scalable target by this amount.

func (PolicyStepScalingPolicyConfigurationPtrOutput) StepAdjustments

Set of adjustments that manage scaling. These have the following structure:

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/appautoscaling"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := appautoscaling.NewPolicy(ctx, "ecsPolicy", &appautoscaling.PolicyArgs{
			StepScalingPolicyConfiguration: &appautoscaling.PolicyStepScalingPolicyConfigurationArgs{
				StepAdjustments: appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArray{
					&appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs{
						MetricIntervalLowerBound: pulumi.String("1"),
						MetricIntervalUpperBound: pulumi.String("2"),
						ScalingAdjustment:        -1,
					},
					&appautoscaling.PolicyStepScalingPolicyConfigurationStepAdjustmentArgs{
						MetricIntervalLowerBound: pulumi.String("2"),
						MetricIntervalUpperBound: pulumi.String("3"),
						ScalingAdjustment:        pulumi.Int(1),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func (PolicyStepScalingPolicyConfigurationPtrOutput) ToPolicyStepScalingPolicyConfigurationPtrOutput

func (o PolicyStepScalingPolicyConfigurationPtrOutput) ToPolicyStepScalingPolicyConfigurationPtrOutput() PolicyStepScalingPolicyConfigurationPtrOutput

func (PolicyStepScalingPolicyConfigurationPtrOutput) ToPolicyStepScalingPolicyConfigurationPtrOutputWithContext

func (o PolicyStepScalingPolicyConfigurationPtrOutput) ToPolicyStepScalingPolicyConfigurationPtrOutputWithContext(ctx context.Context) PolicyStepScalingPolicyConfigurationPtrOutput

type PolicyStepScalingPolicyConfigurationStepAdjustment

type PolicyStepScalingPolicyConfigurationStepAdjustment struct {
	// Lower bound for the difference between the alarm threshold and the CloudWatch metric. Without a value, AWS will treat this bound as negative infinity.
	MetricIntervalLowerBound *string `pulumi:"metricIntervalLowerBound"`
	// Upper bound for the difference between the alarm threshold and the CloudWatch metric. Without a value, AWS will treat this bound as infinity. The upper bound must be greater than the lower bound.
	MetricIntervalUpperBound *string `pulumi:"metricIntervalUpperBound"`
	// Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
	ScalingAdjustment int `pulumi:"scalingAdjustment"`
}

type PolicyStepScalingPolicyConfigurationStepAdjustmentArgs

type PolicyStepScalingPolicyConfigurationStepAdjustmentArgs struct {
	// Lower bound for the difference between the alarm threshold and the CloudWatch metric. Without a value, AWS will treat this bound as negative infinity.
	MetricIntervalLowerBound pulumi.StringPtrInput `pulumi:"metricIntervalLowerBound"`
	// Upper bound for the difference between the alarm threshold and the CloudWatch metric. Without a value, AWS will treat this bound as infinity. The upper bound must be greater than the lower bound.
	MetricIntervalUpperBound pulumi.StringPtrInput `pulumi:"metricIntervalUpperBound"`
	// Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.
	ScalingAdjustment pulumi.IntInput `pulumi:"scalingAdjustment"`
}

func (PolicyStepScalingPolicyConfigurationStepAdjustmentArgs) ElementType

func (PolicyStepScalingPolicyConfigurationStepAdjustmentArgs) ToPolicyStepScalingPolicyConfigurationStepAdjustmentOutput

func (PolicyStepScalingPolicyConfigurationStepAdjustmentArgs) ToPolicyStepScalingPolicyConfigurationStepAdjustmentOutputWithContext

func (i PolicyStepScalingPolicyConfigurationStepAdjustmentArgs) ToPolicyStepScalingPolicyConfigurationStepAdjustmentOutputWithContext(ctx context.Context) PolicyStepScalingPolicyConfigurationStepAdjustmentOutput

type PolicyStepScalingPolicyConfigurationStepAdjustmentArray

type PolicyStepScalingPolicyConfigurationStepAdjustmentArray []PolicyStepScalingPolicyConfigurationStepAdjustmentInput

func (PolicyStepScalingPolicyConfigurationStepAdjustmentArray) ElementType

func (PolicyStepScalingPolicyConfigurationStepAdjustmentArray) ToPolicyStepScalingPolicyConfigurationStepAdjustmentArrayOutput

func (i PolicyStepScalingPolicyConfigurationStepAdjustmentArray) ToPolicyStepScalingPolicyConfigurationStepAdjustmentArrayOutput() PolicyStepScalingPolicyConfigurationStepAdjustmentArrayOutput

func (PolicyStepScalingPolicyConfigurationStepAdjustmentArray) ToPolicyStepScalingPolicyConfigurationStepAdjustmentArrayOutputWithContext

func (i PolicyStepScalingPolicyConfigurationStepAdjustmentArray) ToPolicyStepScalingPolicyConfigurationStepAdjustmentArrayOutputWithContext(ctx context.Context) PolicyStepScalingPolicyConfigurationStepAdjustmentArrayOutput

type PolicyStepScalingPolicyConfigurationStepAdjustmentArrayInput

type PolicyStepScalingPolicyConfigurationStepAdjustmentArrayInput interface {
	pulumi.Input

	ToPolicyStepScalingPolicyConfigurationStepAdjustmentArrayOutput() PolicyStepScalingPolicyConfigurationStepAdjustmentArrayOutput
	ToPolicyStepScalingPolicyConfigurationStepAdjustmentArrayOutputWithContext(context.Context) PolicyStepScalingPolicyConfigurationStepAdjustmentArrayOutput
}

PolicyStepScalingPolicyConfigurationStepAdjustmentArrayInput is an input type that accepts PolicyStepScalingPolicyConfigurationStepAdjustmentArray and PolicyStepScalingPolicyConfigurationStepAdjustmentArrayOutput values. You can construct a concrete instance of `PolicyStepScalingPolicyConfigurationStepAdjustmentArrayInput` via:

PolicyStepScalingPolicyConfigurationStepAdjustmentArray{ PolicyStepScalingPolicyConfigurationStepAdjustmentArgs{...} }

type PolicyStepScalingPolicyConfigurationStepAdjustmentArrayOutput

type PolicyStepScalingPolicyConfigurationStepAdjustmentArrayOutput struct{ *pulumi.OutputState }

func (PolicyStepScalingPolicyConfigurationStepAdjustmentArrayOutput) ElementType

func (PolicyStepScalingPolicyConfigurationStepAdjustmentArrayOutput) Index

func (PolicyStepScalingPolicyConfigurationStepAdjustmentArrayOutput) ToPolicyStepScalingPolicyConfigurationStepAdjustmentArrayOutput

func (PolicyStepScalingPolicyConfigurationStepAdjustmentArrayOutput) ToPolicyStepScalingPolicyConfigurationStepAdjustmentArrayOutputWithContext

func (o PolicyStepScalingPolicyConfigurationStepAdjustmentArrayOutput) ToPolicyStepScalingPolicyConfigurationStepAdjustmentArrayOutputWithContext(ctx context.Context) PolicyStepScalingPolicyConfigurationStepAdjustmentArrayOutput

type PolicyStepScalingPolicyConfigurationStepAdjustmentInput

type PolicyStepScalingPolicyConfigurationStepAdjustmentInput interface {
	pulumi.Input

	ToPolicyStepScalingPolicyConfigurationStepAdjustmentOutput() PolicyStepScalingPolicyConfigurationStepAdjustmentOutput
	ToPolicyStepScalingPolicyConfigurationStepAdjustmentOutputWithContext(context.Context) PolicyStepScalingPolicyConfigurationStepAdjustmentOutput
}

PolicyStepScalingPolicyConfigurationStepAdjustmentInput is an input type that accepts PolicyStepScalingPolicyConfigurationStepAdjustmentArgs and PolicyStepScalingPolicyConfigurationStepAdjustmentOutput values. You can construct a concrete instance of `PolicyStepScalingPolicyConfigurationStepAdjustmentInput` via:

PolicyStepScalingPolicyConfigurationStepAdjustmentArgs{...}

type PolicyStepScalingPolicyConfigurationStepAdjustmentOutput

type PolicyStepScalingPolicyConfigurationStepAdjustmentOutput struct{ *pulumi.OutputState }

func (PolicyStepScalingPolicyConfigurationStepAdjustmentOutput) ElementType

func (PolicyStepScalingPolicyConfigurationStepAdjustmentOutput) MetricIntervalLowerBound

Lower bound for the difference between the alarm threshold and the CloudWatch metric. Without a value, AWS will treat this bound as negative infinity.

func (PolicyStepScalingPolicyConfigurationStepAdjustmentOutput) MetricIntervalUpperBound

Upper bound for the difference between the alarm threshold and the CloudWatch metric. Without a value, AWS will treat this bound as infinity. The upper bound must be greater than the lower bound.

func (PolicyStepScalingPolicyConfigurationStepAdjustmentOutput) ScalingAdjustment

Number of members by which to scale, when the adjustment bounds are breached. A positive value scales up. A negative value scales down.

func (PolicyStepScalingPolicyConfigurationStepAdjustmentOutput) ToPolicyStepScalingPolicyConfigurationStepAdjustmentOutput

func (PolicyStepScalingPolicyConfigurationStepAdjustmentOutput) ToPolicyStepScalingPolicyConfigurationStepAdjustmentOutputWithContext

func (o PolicyStepScalingPolicyConfigurationStepAdjustmentOutput) ToPolicyStepScalingPolicyConfigurationStepAdjustmentOutputWithContext(ctx context.Context) PolicyStepScalingPolicyConfigurationStepAdjustmentOutput

type PolicyTargetTrackingScalingPolicyConfiguration

type PolicyTargetTrackingScalingPolicyConfiguration struct {
	// Custom CloudWatch metric. Documentation can be found  at: [AWS Customized Metric Specification](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_CustomizedMetricSpecification.html). See supported fields below.
	CustomizedMetricSpecification *PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecification `pulumi:"customizedMetricSpecification"`
	// Whether scale in by the target tracking policy is disabled. If the value is true, scale in is disabled and the target tracking policy won't remove capacity from the scalable resource. Otherwise, scale in is enabled and the target tracking policy can remove capacity from the scalable resource. The default value is `false`.
	DisableScaleIn *bool `pulumi:"disableScaleIn"`
	// Predefined metric. See supported fields below.
	PredefinedMetricSpecification *PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecification `pulumi:"predefinedMetricSpecification"`
	// Amount of time, in seconds, after a scale in activity completes before another scale in activity can start.
	ScaleInCooldown *int `pulumi:"scaleInCooldown"`
	// Amount of time, in seconds, after a scale out activity completes before another scale out activity can start.
	ScaleOutCooldown *int `pulumi:"scaleOutCooldown"`
	// Target value for the metric.
	TargetValue float64 `pulumi:"targetValue"`
}

type PolicyTargetTrackingScalingPolicyConfigurationArgs

type PolicyTargetTrackingScalingPolicyConfigurationArgs struct {
	// Custom CloudWatch metric. Documentation can be found  at: [AWS Customized Metric Specification](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_CustomizedMetricSpecification.html). See supported fields below.
	CustomizedMetricSpecification PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrInput `pulumi:"customizedMetricSpecification"`
	// Whether scale in by the target tracking policy is disabled. If the value is true, scale in is disabled and the target tracking policy won't remove capacity from the scalable resource. Otherwise, scale in is enabled and the target tracking policy can remove capacity from the scalable resource. The default value is `false`.
	DisableScaleIn pulumi.BoolPtrInput `pulumi:"disableScaleIn"`
	// Predefined metric. See supported fields below.
	PredefinedMetricSpecification PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationPtrInput `pulumi:"predefinedMetricSpecification"`
	// Amount of time, in seconds, after a scale in activity completes before another scale in activity can start.
	ScaleInCooldown pulumi.IntPtrInput `pulumi:"scaleInCooldown"`
	// Amount of time, in seconds, after a scale out activity completes before another scale out activity can start.
	ScaleOutCooldown pulumi.IntPtrInput `pulumi:"scaleOutCooldown"`
	// Target value for the metric.
	TargetValue pulumi.Float64Input `pulumi:"targetValue"`
}

func (PolicyTargetTrackingScalingPolicyConfigurationArgs) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationArgs) ToPolicyTargetTrackingScalingPolicyConfigurationOutput

func (i PolicyTargetTrackingScalingPolicyConfigurationArgs) ToPolicyTargetTrackingScalingPolicyConfigurationOutput() PolicyTargetTrackingScalingPolicyConfigurationOutput

func (PolicyTargetTrackingScalingPolicyConfigurationArgs) ToPolicyTargetTrackingScalingPolicyConfigurationOutputWithContext

func (i PolicyTargetTrackingScalingPolicyConfigurationArgs) ToPolicyTargetTrackingScalingPolicyConfigurationOutputWithContext(ctx context.Context) PolicyTargetTrackingScalingPolicyConfigurationOutput

func (PolicyTargetTrackingScalingPolicyConfigurationArgs) ToPolicyTargetTrackingScalingPolicyConfigurationPtrOutput

func (i PolicyTargetTrackingScalingPolicyConfigurationArgs) ToPolicyTargetTrackingScalingPolicyConfigurationPtrOutput() PolicyTargetTrackingScalingPolicyConfigurationPtrOutput

func (PolicyTargetTrackingScalingPolicyConfigurationArgs) ToPolicyTargetTrackingScalingPolicyConfigurationPtrOutputWithContext

func (i PolicyTargetTrackingScalingPolicyConfigurationArgs) ToPolicyTargetTrackingScalingPolicyConfigurationPtrOutputWithContext(ctx context.Context) PolicyTargetTrackingScalingPolicyConfigurationPtrOutput

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecification

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecification struct {
	// Configuration block(s) with the dimensions of the metric if the metric was published with dimensions. Detailed below.
	Dimensions []PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimension `pulumi:"dimensions"`
	// Name of the metric.
	MetricName *string `pulumi:"metricName"`
	// Metrics to include, as a metric data query.
	Metrics []PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetric `pulumi:"metrics"`
	// Namespace of the metric.
	Namespace *string `pulumi:"namespace"`
	// Statistic of the metric. Valid values: `Average`, `Minimum`, `Maximum`, `SampleCount`, and `Sum`.
	Statistic *string `pulumi:"statistic"`
	// Unit of the metric.
	Unit *string `pulumi:"unit"`
}

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs struct {
	// Configuration block(s) with the dimensions of the metric if the metric was published with dimensions. Detailed below.
	Dimensions PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArrayInput `pulumi:"dimensions"`
	// Name of the metric.
	MetricName pulumi.StringPtrInput `pulumi:"metricName"`
	// Metrics to include, as a metric data query.
	Metrics PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayInput `pulumi:"metrics"`
	// Namespace of the metric.
	Namespace pulumi.StringPtrInput `pulumi:"namespace"`
	// Statistic of the metric. Valid values: `Average`, `Minimum`, `Maximum`, `SampleCount`, and `Sum`.
	Statistic pulumi.StringPtrInput `pulumi:"statistic"`
	// Unit of the metric.
	Unit pulumi.StringPtrInput `pulumi:"unit"`
}

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutputWithContext

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutputWithContext

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimension

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimension struct {
	// Name of the policy. Must be between 1 and 255 characters in length.
	Name string `pulumi:"name"`
	// Value of the dimension.
	Value string `pulumi:"value"`
}

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArgs

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArgs struct {
	// Name of the policy. Must be between 1 and 255 characters in length.
	Name pulumi.StringInput `pulumi:"name"`
	// Value of the dimension.
	Value pulumi.StringInput `pulumi:"value"`
}

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArgs) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionOutputWithContext

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArray

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArray []PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionInput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArray) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArray) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArrayOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArray) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArrayOutputWithContext

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArrayInput

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArrayInput interface {
	pulumi.Input

	ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArrayOutput() PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArrayOutput
	ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArrayOutputWithContext(context.Context) PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArrayOutput
}

PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArrayInput is an input type that accepts PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArray and PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArrayOutput values. You can construct a concrete instance of `PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArrayInput` via:

PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArray{ PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArgs{...} }

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArrayOutput

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArrayOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArrayOutput) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArrayOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArrayOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArrayOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArrayOutputWithContext

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionInput

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionInput interface {
	pulumi.Input

	ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionOutput() PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionOutput
	ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionOutputWithContext(context.Context) PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionOutput
}

PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionInput is an input type that accepts PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArgs and PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionOutput values. You can construct a concrete instance of `PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionInput` via:

PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArgs{...}

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionOutput

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionOutput) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionOutput) Name

Name of the policy. Must be between 1 and 255 characters in length.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionOutputWithContext

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionOutput) Value

Value of the dimension.

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationInput

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationInput interface {
	pulumi.Input

	ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput() PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput
	ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutputWithContext(context.Context) PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput
}

PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationInput is an input type that accepts PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs and PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput values. You can construct a concrete instance of `PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationInput` via:

PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs{...}

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetric added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetric struct {
	// Math expression used on the returned metric. You must specify either `expression` or `metricStat`, but not both.
	Expression *string `pulumi:"expression"`
	// Short name for the metric used in target tracking scaling policy.
	Id string `pulumi:"id"`
	// Human-readable label for this metric or expression.
	Label *string `pulumi:"label"`
	// Structure that defines CloudWatch metric to be used in target tracking scaling policy. You must specify either `expression` or `metricStat`, but not both.
	MetricStat *PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStat `pulumi:"metricStat"`
	// Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
	ReturnData *bool `pulumi:"returnData"`
}

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs struct {
	// Math expression used on the returned metric. You must specify either `expression` or `metricStat`, but not both.
	Expression pulumi.StringPtrInput `pulumi:"expression"`
	// Short name for the metric used in target tracking scaling policy.
	Id pulumi.StringInput `pulumi:"id"`
	// Human-readable label for this metric or expression.
	Label pulumi.StringPtrInput `pulumi:"label"`
	// Structure that defines CloudWatch metric to be used in target tracking scaling policy. You must specify either `expression` or `metricStat`, but not both.
	MetricStat PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrInput `pulumi:"metricStat"`
	// Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true
	ReturnData pulumi.BoolPtrInput `pulumi:"returnData"`
}

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs) ElementType added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutputWithContext added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArray added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArray []PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricInput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArray) ElementType added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArray) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayOutput added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArray) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayOutputWithContext added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayInput added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayInput interface {
	pulumi.Input

	ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayOutput() PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayOutput
	ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayOutputWithContext(context.Context) PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayOutput
}

PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayInput is an input type that accepts PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArray and PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayOutput values. You can construct a concrete instance of `PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayInput` via:

PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArray{ PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs{...} }

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayOutput added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayOutput) ElementType added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayOutput) Index added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayOutput added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayOutputWithContext added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricInput added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricInput interface {
	pulumi.Input

	ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput() PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput
	ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutputWithContext(context.Context) PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput
}

PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricInput is an input type that accepts PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs and PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput values. You can construct a concrete instance of `PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricInput` via:

PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs{...}

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStat added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStat struct {
	// Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.
	Metric PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetric `pulumi:"metric"`
	// Statistic of the metrics to return.
	Stat string `pulumi:"stat"`
	// Unit of the metric.
	Unit *string `pulumi:"unit"`
}

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs struct {
	// Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.
	Metric PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricInput `pulumi:"metric"`
	// Statistic of the metrics to return.
	Stat pulumi.StringInput `pulumi:"stat"`
	// Unit of the metric.
	Unit pulumi.StringPtrInput `pulumi:"unit"`
}

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs) ElementType added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutputWithContext added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutput added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutputWithContext added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatInput added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatInput interface {
	pulumi.Input

	ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput() PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput
	ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutputWithContext(context.Context) PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput
}

PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatInput is an input type that accepts PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs and PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput values. You can construct a concrete instance of `PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatInput` via:

PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs{...}

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetric added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetric struct {
	// Configuration block(s) with the dimensions of the metric if the metric was published with dimensions. Detailed below.
	Dimensions []PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimension `pulumi:"dimensions"`
	// Name of the metric.
	MetricName string `pulumi:"metricName"`
	// Namespace of the metric.
	Namespace string `pulumi:"namespace"`
}

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs struct {
	// Configuration block(s) with the dimensions of the metric if the metric was published with dimensions. Detailed below.
	Dimensions PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayInput `pulumi:"dimensions"`
	// Name of the metric.
	MetricName pulumi.StringInput `pulumi:"metricName"`
	// Namespace of the metric.
	Namespace pulumi.StringInput `pulumi:"namespace"`
}

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs) ElementType added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutputWithContext added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutput added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutputWithContext added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimension added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimension struct {
	// Name of the policy. Must be between 1 and 255 characters in length.
	Name string `pulumi:"name"`
	// Value of the dimension.
	Value string `pulumi:"value"`
}

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs struct {
	// Name of the policy. Must be between 1 and 255 characters in length.
	Name pulumi.StringInput `pulumi:"name"`
	// Value of the dimension.
	Value pulumi.StringInput `pulumi:"value"`
}

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs) ElementType added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionOutput added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionOutputWithContext added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArray added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArray []PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionInput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArray) ElementType added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArray) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayOutput added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArray) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayOutputWithContext added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayInput added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayInput interface {
	pulumi.Input

	ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayOutput() PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayOutput
	ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayOutputWithContext(context.Context) PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayOutput
}

PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayInput is an input type that accepts PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArray and PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayOutput values. You can construct a concrete instance of `PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayInput` via:

PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArray{ PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs{...} }

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayOutput added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayOutput) ElementType added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayOutput) Index added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayOutput added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayOutputWithContext added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionInput added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionInput interface {
	pulumi.Input

	ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionOutput() PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionOutput
	ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionOutputWithContext(context.Context) PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionOutput
}

PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionInput is an input type that accepts PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs and PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionOutput values. You can construct a concrete instance of `PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionInput` via:

PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs{...}

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionOutput added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionOutput) ElementType added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionOutput) Name added in v5.41.0

Name of the policy. Must be between 1 and 255 characters in length.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionOutput added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionOutputWithContext added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionOutput) Value added in v5.41.0

Value of the dimension.

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricInput added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricInput interface {
	pulumi.Input

	ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput() PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput
	ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutputWithContext(context.Context) PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput
}

PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricInput is an input type that accepts PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs and PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput values. You can construct a concrete instance of `PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricInput` via:

PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs{...}

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput) Dimensions added in v5.41.0

Configuration block(s) with the dimensions of the metric if the metric was published with dimensions. Detailed below.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput) ElementType added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput) MetricName added in v5.41.0

Name of the metric.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput) Namespace added in v5.41.0

Namespace of the metric.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutputWithContext added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutput added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutputWithContext added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrInput added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrInput interface {
	pulumi.Input

	ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutput() PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutput
	ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutputWithContext(context.Context) PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutput
}

PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrInput is an input type that accepts PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs, PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtr and PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutput values. You can construct a concrete instance of `PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrInput` via:

        PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs{...}

or:

        nil

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutput added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutput) Dimensions added in v5.41.0

Configuration block(s) with the dimensions of the metric if the metric was published with dimensions. Detailed below.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutput) Elem added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutput) ElementType added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutput) MetricName added in v5.41.0

Name of the metric.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutput) Namespace added in v5.41.0

Namespace of the metric.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutput added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutputWithContext added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput) ElementType added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput) Metric added in v5.41.0

Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput) Stat added in v5.41.0

Statistic of the metrics to return.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutputWithContext added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutput added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutputWithContext added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput) Unit added in v5.41.0

Unit of the metric.

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrInput added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrInput interface {
	pulumi.Input

	ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutput() PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutput
	ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutputWithContext(context.Context) PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutput
}

PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrInput is an input type that accepts PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs, PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtr and PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutput values. You can construct a concrete instance of `PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrInput` via:

        PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs{...}

or:

        nil

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutput added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutput) Elem added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutput) ElementType added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutput) Metric added in v5.41.0

Structure that defines the CloudWatch metric to return, including the metric name, namespace, and dimensions.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutput) Stat added in v5.41.0

Statistic of the metrics to return.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutput added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutputWithContext added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutput) Unit added in v5.41.0

Unit of the metric.

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput) ElementType added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput) Expression added in v5.41.0

Math expression used on the returned metric. You must specify either `expression` or `metricStat`, but not both.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput) Id added in v5.41.0

Short name for the metric used in target tracking scaling policy.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput) Label added in v5.41.0

Human-readable label for this metric or expression.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput) MetricStat added in v5.41.0

Structure that defines CloudWatch metric to be used in target tracking scaling policy. You must specify either `expression` or `metricStat`, but not both.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput) ReturnData added in v5.41.0

Boolean that indicates whether to return the timestamps and raw data values of this metric, the default is true

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput added in v5.41.0

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutputWithContext added in v5.41.0

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput) Dimensions

Configuration block(s) with the dimensions of the metric if the metric was published with dimensions. Detailed below.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput) MetricName

Name of the metric.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput) Metrics added in v5.41.0

Metrics to include, as a metric data query.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput) Namespace

Namespace of the metric.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput) Statistic

Statistic of the metric. Valid values: `Average`, `Minimum`, `Maximum`, `SampleCount`, and `Sum`.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutputWithContext

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutputWithContext

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput) Unit

Unit of the metric.

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrInput

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrInput interface {
	pulumi.Input

	ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput() PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput
	ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutputWithContext(context.Context) PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput
}

PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrInput is an input type that accepts PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs, PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtr and PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput values. You can construct a concrete instance of `PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrInput` via:

        PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs{...}

or:

        nil

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput) Dimensions

Configuration block(s) with the dimensions of the metric if the metric was published with dimensions. Detailed below.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput) MetricName

Name of the metric.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput) Metrics added in v5.41.0

Metrics to include, as a metric data query.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput) Namespace

Namespace of the metric.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput) Statistic

Statistic of the metric. Valid values: `Average`, `Minimum`, `Maximum`, `SampleCount`, and `Sum`.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutputWithContext

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput) Unit

Unit of the metric.

type PolicyTargetTrackingScalingPolicyConfigurationInput

type PolicyTargetTrackingScalingPolicyConfigurationInput interface {
	pulumi.Input

	ToPolicyTargetTrackingScalingPolicyConfigurationOutput() PolicyTargetTrackingScalingPolicyConfigurationOutput
	ToPolicyTargetTrackingScalingPolicyConfigurationOutputWithContext(context.Context) PolicyTargetTrackingScalingPolicyConfigurationOutput
}

PolicyTargetTrackingScalingPolicyConfigurationInput is an input type that accepts PolicyTargetTrackingScalingPolicyConfigurationArgs and PolicyTargetTrackingScalingPolicyConfigurationOutput values. You can construct a concrete instance of `PolicyTargetTrackingScalingPolicyConfigurationInput` via:

PolicyTargetTrackingScalingPolicyConfigurationArgs{...}

type PolicyTargetTrackingScalingPolicyConfigurationOutput

type PolicyTargetTrackingScalingPolicyConfigurationOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationOutput) CustomizedMetricSpecification

Custom CloudWatch metric. Documentation can be found at: [AWS Customized Metric Specification](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_CustomizedMetricSpecification.html). See supported fields below.

func (PolicyTargetTrackingScalingPolicyConfigurationOutput) DisableScaleIn

Whether scale in by the target tracking policy is disabled. If the value is true, scale in is disabled and the target tracking policy won't remove capacity from the scalable resource. Otherwise, scale in is enabled and the target tracking policy can remove capacity from the scalable resource. The default value is `false`.

func (PolicyTargetTrackingScalingPolicyConfigurationOutput) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationOutput) PredefinedMetricSpecification

Predefined metric. See supported fields below.

func (PolicyTargetTrackingScalingPolicyConfigurationOutput) ScaleInCooldown

Amount of time, in seconds, after a scale in activity completes before another scale in activity can start.

func (PolicyTargetTrackingScalingPolicyConfigurationOutput) ScaleOutCooldown

Amount of time, in seconds, after a scale out activity completes before another scale out activity can start.

func (PolicyTargetTrackingScalingPolicyConfigurationOutput) TargetValue

Target value for the metric.

func (PolicyTargetTrackingScalingPolicyConfigurationOutput) ToPolicyTargetTrackingScalingPolicyConfigurationOutput

func (PolicyTargetTrackingScalingPolicyConfigurationOutput) ToPolicyTargetTrackingScalingPolicyConfigurationOutputWithContext

func (o PolicyTargetTrackingScalingPolicyConfigurationOutput) ToPolicyTargetTrackingScalingPolicyConfigurationOutputWithContext(ctx context.Context) PolicyTargetTrackingScalingPolicyConfigurationOutput

func (PolicyTargetTrackingScalingPolicyConfigurationOutput) ToPolicyTargetTrackingScalingPolicyConfigurationPtrOutput

func (o PolicyTargetTrackingScalingPolicyConfigurationOutput) ToPolicyTargetTrackingScalingPolicyConfigurationPtrOutput() PolicyTargetTrackingScalingPolicyConfigurationPtrOutput

func (PolicyTargetTrackingScalingPolicyConfigurationOutput) ToPolicyTargetTrackingScalingPolicyConfigurationPtrOutputWithContext

func (o PolicyTargetTrackingScalingPolicyConfigurationOutput) ToPolicyTargetTrackingScalingPolicyConfigurationPtrOutputWithContext(ctx context.Context) PolicyTargetTrackingScalingPolicyConfigurationPtrOutput

type PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecification

type PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecification struct {
	// Metric type.
	PredefinedMetricType string `pulumi:"predefinedMetricType"`
	// Reserved for future use if the `predefinedMetricType` is not `ALBRequestCountPerTarget`. If the `predefinedMetricType` is `ALBRequestCountPerTarget`, you must specify this argument. Documentation can be found at: [AWS Predefined Scaling Metric Specification](https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_PredefinedScalingMetricSpecification.html). Must be less than or equal to 1023 characters in length.
	ResourceLabel *string `pulumi:"resourceLabel"`
}

type PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs

type PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs struct {
	// Metric type.
	PredefinedMetricType pulumi.StringInput `pulumi:"predefinedMetricType"`
	// Reserved for future use if the `predefinedMetricType` is not `ALBRequestCountPerTarget`. If the `predefinedMetricType` is `ALBRequestCountPerTarget`, you must specify this argument. Documentation can be found at: [AWS Predefined Scaling Metric Specification](https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_PredefinedScalingMetricSpecification.html). Must be less than or equal to 1023 characters in length.
	ResourceLabel pulumi.StringPtrInput `pulumi:"resourceLabel"`
}

func (PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs) ToPolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationOutput

func (PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs) ToPolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationOutputWithContext

func (PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs) ToPolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationPtrOutput

func (PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs) ToPolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationPtrOutputWithContext

type PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationInput

type PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationInput interface {
	pulumi.Input

	ToPolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationOutput() PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationOutput
	ToPolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationOutputWithContext(context.Context) PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationOutput
}

PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationInput is an input type that accepts PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs and PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationOutput values. You can construct a concrete instance of `PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationInput` via:

PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs{...}

type PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationOutput

type PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationOutput) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationOutput) PredefinedMetricType

Metric type.

func (PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationOutput) ResourceLabel

Reserved for future use if the `predefinedMetricType` is not `ALBRequestCountPerTarget`. If the `predefinedMetricType` is `ALBRequestCountPerTarget`, you must specify this argument. Documentation can be found at: [AWS Predefined Scaling Metric Specification](https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_PredefinedScalingMetricSpecification.html). Must be less than or equal to 1023 characters in length.

func (PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationOutput) ToPolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationOutput

func (PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationOutput) ToPolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationOutputWithContext

func (PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationOutput) ToPolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationPtrOutput

func (PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationOutput) ToPolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationPtrOutputWithContext

type PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationPtrInput

type PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationPtrInput interface {
	pulumi.Input

	ToPolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationPtrOutput() PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationPtrOutput
	ToPolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationPtrOutputWithContext(context.Context) PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationPtrOutput
}

PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationPtrInput is an input type that accepts PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs, PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationPtr and PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationPtrOutput values. You can construct a concrete instance of `PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationPtrInput` via:

        PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs{...}

or:

        nil

type PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationPtrOutput

type PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationPtrOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationPtrOutput) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationPtrOutput) PredefinedMetricType

Metric type.

func (PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationPtrOutput) ResourceLabel

Reserved for future use if the `predefinedMetricType` is not `ALBRequestCountPerTarget`. If the `predefinedMetricType` is `ALBRequestCountPerTarget`, you must specify this argument. Documentation can be found at: [AWS Predefined Scaling Metric Specification](https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_PredefinedScalingMetricSpecification.html). Must be less than or equal to 1023 characters in length.

func (PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationPtrOutput) ToPolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationPtrOutput

func (PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationPtrOutput) ToPolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationPtrOutputWithContext

type PolicyTargetTrackingScalingPolicyConfigurationPtrInput

type PolicyTargetTrackingScalingPolicyConfigurationPtrInput interface {
	pulumi.Input

	ToPolicyTargetTrackingScalingPolicyConfigurationPtrOutput() PolicyTargetTrackingScalingPolicyConfigurationPtrOutput
	ToPolicyTargetTrackingScalingPolicyConfigurationPtrOutputWithContext(context.Context) PolicyTargetTrackingScalingPolicyConfigurationPtrOutput
}

PolicyTargetTrackingScalingPolicyConfigurationPtrInput is an input type that accepts PolicyTargetTrackingScalingPolicyConfigurationArgs, PolicyTargetTrackingScalingPolicyConfigurationPtr and PolicyTargetTrackingScalingPolicyConfigurationPtrOutput values. You can construct a concrete instance of `PolicyTargetTrackingScalingPolicyConfigurationPtrInput` via:

        PolicyTargetTrackingScalingPolicyConfigurationArgs{...}

or:

        nil

type PolicyTargetTrackingScalingPolicyConfigurationPtrOutput

type PolicyTargetTrackingScalingPolicyConfigurationPtrOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationPtrOutput) CustomizedMetricSpecification

Custom CloudWatch metric. Documentation can be found at: [AWS Customized Metric Specification](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_CustomizedMetricSpecification.html). See supported fields below.

func (PolicyTargetTrackingScalingPolicyConfigurationPtrOutput) DisableScaleIn

Whether scale in by the target tracking policy is disabled. If the value is true, scale in is disabled and the target tracking policy won't remove capacity from the scalable resource. Otherwise, scale in is enabled and the target tracking policy can remove capacity from the scalable resource. The default value is `false`.

func (PolicyTargetTrackingScalingPolicyConfigurationPtrOutput) Elem

func (PolicyTargetTrackingScalingPolicyConfigurationPtrOutput) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationPtrOutput) PredefinedMetricSpecification

Predefined metric. See supported fields below.

func (PolicyTargetTrackingScalingPolicyConfigurationPtrOutput) ScaleInCooldown

Amount of time, in seconds, after a scale in activity completes before another scale in activity can start.

func (PolicyTargetTrackingScalingPolicyConfigurationPtrOutput) ScaleOutCooldown

Amount of time, in seconds, after a scale out activity completes before another scale out activity can start.

func (PolicyTargetTrackingScalingPolicyConfigurationPtrOutput) TargetValue

Target value for the metric.

func (PolicyTargetTrackingScalingPolicyConfigurationPtrOutput) ToPolicyTargetTrackingScalingPolicyConfigurationPtrOutput

func (PolicyTargetTrackingScalingPolicyConfigurationPtrOutput) ToPolicyTargetTrackingScalingPolicyConfigurationPtrOutputWithContext

func (o PolicyTargetTrackingScalingPolicyConfigurationPtrOutput) ToPolicyTargetTrackingScalingPolicyConfigurationPtrOutputWithContext(ctx context.Context) PolicyTargetTrackingScalingPolicyConfigurationPtrOutput

type ScheduledAction

type ScheduledAction struct {
	pulumi.CustomResourceState

	// ARN of the scheduled action.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Date and time for the scheduled action to end in RFC 3339 format. The timezone is not affected by the setting of `timezone`.
	EndTime pulumi.StringPtrOutput `pulumi:"endTime"`
	// Name of the scheduled action.
	Name pulumi.StringOutput `pulumi:"name"`
	// Identifier of the resource associated with the scheduled action. Documentation can be found in the `ResourceId` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html)
	ResourceId pulumi.StringOutput `pulumi:"resourceId"`
	// Scalable dimension. Documentation can be found in the `ScalableDimension` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html) Example: ecs:service:DesiredCount
	ScalableDimension pulumi.StringOutput `pulumi:"scalableDimension"`
	// New minimum and maximum capacity. You can set both values or just one. See below
	ScalableTargetAction ScheduledActionScalableTargetActionOutput `pulumi:"scalableTargetAction"`
	// Schedule for this action. The following formats are supported: At expressions - at(yyyy-mm-ddThh:mm:ss), Rate expressions - rate(valueunit), Cron expressions - cron(fields). Times for at expressions and cron expressions are evaluated using the time zone configured in `timezone`. Documentation can be found in the `Timezone` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html)
	Schedule pulumi.StringOutput `pulumi:"schedule"`
	// Namespace of the AWS service. Documentation can be found in the `ServiceNamespace` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html) Example: ecs
	ServiceNamespace pulumi.StringOutput `pulumi:"serviceNamespace"`
	// Date and time for the scheduled action to start in RFC 3339 format. The timezone is not affected by the setting of `timezone`.
	StartTime pulumi.StringPtrOutput `pulumi:"startTime"`
	// Time zone used when setting a scheduled action by using an at or cron expression. Does not affect timezone for `startTime` and `endTime`. Valid values are the [canonical names of the IANA time zones supported by Joda-Time](https://www.joda.org/joda-time/timezones.html), such as `Etc/GMT+9` or `Pacific/Tahiti`. Default is `UTC`.
	Timezone pulumi.StringPtrOutput `pulumi:"timezone"`
}

Provides an Application AutoScaling ScheduledAction resource.

## Example Usage ### DynamoDB Table Autoscaling

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/appautoscaling"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		dynamodbTarget, err := appautoscaling.NewTarget(ctx, "dynamodbTarget", &appautoscaling.TargetArgs{
			MaxCapacity:       pulumi.Int(100),
			MinCapacity:       pulumi.Int(5),
			ResourceId:        pulumi.String("table/tableName"),
			ScalableDimension: pulumi.String("dynamodb:table:ReadCapacityUnits"),
			ServiceNamespace:  pulumi.String("dynamodb"),
		})
		if err != nil {
			return err
		}
		_, err = appautoscaling.NewScheduledAction(ctx, "dynamodbScheduledAction", &appautoscaling.ScheduledActionArgs{
			ServiceNamespace:  dynamodbTarget.ServiceNamespace,
			ResourceId:        dynamodbTarget.ResourceId,
			ScalableDimension: dynamodbTarget.ScalableDimension,
			Schedule:          pulumi.String("at(2006-01-02T15:04:05)"),
			ScalableTargetAction: &appautoscaling.ScheduledActionScalableTargetActionArgs{
				MinCapacity: pulumi.Int(1),
				MaxCapacity: pulumi.Int(200),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### ECS Service Autoscaling

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/appautoscaling"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ecsTarget, err := appautoscaling.NewTarget(ctx, "ecsTarget", &appautoscaling.TargetArgs{
			MaxCapacity:       pulumi.Int(4),
			MinCapacity:       pulumi.Int(1),
			ResourceId:        pulumi.String("service/clusterName/serviceName"),
			ScalableDimension: pulumi.String("ecs:service:DesiredCount"),
			ServiceNamespace:  pulumi.String("ecs"),
		})
		if err != nil {
			return err
		}
		_, err = appautoscaling.NewScheduledAction(ctx, "ecsScheduledAction", &appautoscaling.ScheduledActionArgs{
			ServiceNamespace:  ecsTarget.ServiceNamespace,
			ResourceId:        ecsTarget.ResourceId,
			ScalableDimension: ecsTarget.ScalableDimension,
			Schedule:          pulumi.String("at(2006-01-02T15:04:05)"),
			ScalableTargetAction: &appautoscaling.ScheduledActionScalableTargetActionArgs{
				MinCapacity: pulumi.Int(1),
				MaxCapacity: pulumi.Int(10),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetScheduledAction

func GetScheduledAction(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ScheduledActionState, opts ...pulumi.ResourceOption) (*ScheduledAction, error)

GetScheduledAction gets an existing ScheduledAction resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewScheduledAction

func NewScheduledAction(ctx *pulumi.Context,
	name string, args *ScheduledActionArgs, opts ...pulumi.ResourceOption) (*ScheduledAction, error)

NewScheduledAction registers a new resource with the given unique name, arguments, and options.

func (*ScheduledAction) ElementType

func (*ScheduledAction) ElementType() reflect.Type

func (*ScheduledAction) ToScheduledActionOutput

func (i *ScheduledAction) ToScheduledActionOutput() ScheduledActionOutput

func (*ScheduledAction) ToScheduledActionOutputWithContext

func (i *ScheduledAction) ToScheduledActionOutputWithContext(ctx context.Context) ScheduledActionOutput

type ScheduledActionArgs

type ScheduledActionArgs struct {
	// Date and time for the scheduled action to end in RFC 3339 format. The timezone is not affected by the setting of `timezone`.
	EndTime pulumi.StringPtrInput
	// Name of the scheduled action.
	Name pulumi.StringPtrInput
	// Identifier of the resource associated with the scheduled action. Documentation can be found in the `ResourceId` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html)
	ResourceId pulumi.StringInput
	// Scalable dimension. Documentation can be found in the `ScalableDimension` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html) Example: ecs:service:DesiredCount
	ScalableDimension pulumi.StringInput
	// New minimum and maximum capacity. You can set both values or just one. See below
	ScalableTargetAction ScheduledActionScalableTargetActionInput
	// Schedule for this action. The following formats are supported: At expressions - at(yyyy-mm-ddThh:mm:ss), Rate expressions - rate(valueunit), Cron expressions - cron(fields). Times for at expressions and cron expressions are evaluated using the time zone configured in `timezone`. Documentation can be found in the `Timezone` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html)
	Schedule pulumi.StringInput
	// Namespace of the AWS service. Documentation can be found in the `ServiceNamespace` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html) Example: ecs
	ServiceNamespace pulumi.StringInput
	// Date and time for the scheduled action to start in RFC 3339 format. The timezone is not affected by the setting of `timezone`.
	StartTime pulumi.StringPtrInput
	// Time zone used when setting a scheduled action by using an at or cron expression. Does not affect timezone for `startTime` and `endTime`. Valid values are the [canonical names of the IANA time zones supported by Joda-Time](https://www.joda.org/joda-time/timezones.html), such as `Etc/GMT+9` or `Pacific/Tahiti`. Default is `UTC`.
	Timezone pulumi.StringPtrInput
}

The set of arguments for constructing a ScheduledAction resource.

func (ScheduledActionArgs) ElementType

func (ScheduledActionArgs) ElementType() reflect.Type

type ScheduledActionArray

type ScheduledActionArray []ScheduledActionInput

func (ScheduledActionArray) ElementType

func (ScheduledActionArray) ElementType() reflect.Type

func (ScheduledActionArray) ToScheduledActionArrayOutput

func (i ScheduledActionArray) ToScheduledActionArrayOutput() ScheduledActionArrayOutput

func (ScheduledActionArray) ToScheduledActionArrayOutputWithContext

func (i ScheduledActionArray) ToScheduledActionArrayOutputWithContext(ctx context.Context) ScheduledActionArrayOutput

type ScheduledActionArrayInput

type ScheduledActionArrayInput interface {
	pulumi.Input

	ToScheduledActionArrayOutput() ScheduledActionArrayOutput
	ToScheduledActionArrayOutputWithContext(context.Context) ScheduledActionArrayOutput
}

ScheduledActionArrayInput is an input type that accepts ScheduledActionArray and ScheduledActionArrayOutput values. You can construct a concrete instance of `ScheduledActionArrayInput` via:

ScheduledActionArray{ ScheduledActionArgs{...} }

type ScheduledActionArrayOutput

type ScheduledActionArrayOutput struct{ *pulumi.OutputState }

func (ScheduledActionArrayOutput) ElementType

func (ScheduledActionArrayOutput) ElementType() reflect.Type

func (ScheduledActionArrayOutput) Index

func (ScheduledActionArrayOutput) ToScheduledActionArrayOutput

func (o ScheduledActionArrayOutput) ToScheduledActionArrayOutput() ScheduledActionArrayOutput

func (ScheduledActionArrayOutput) ToScheduledActionArrayOutputWithContext

func (o ScheduledActionArrayOutput) ToScheduledActionArrayOutputWithContext(ctx context.Context) ScheduledActionArrayOutput

type ScheduledActionInput

type ScheduledActionInput interface {
	pulumi.Input

	ToScheduledActionOutput() ScheduledActionOutput
	ToScheduledActionOutputWithContext(ctx context.Context) ScheduledActionOutput
}

type ScheduledActionMap

type ScheduledActionMap map[string]ScheduledActionInput

func (ScheduledActionMap) ElementType

func (ScheduledActionMap) ElementType() reflect.Type

func (ScheduledActionMap) ToScheduledActionMapOutput

func (i ScheduledActionMap) ToScheduledActionMapOutput() ScheduledActionMapOutput

func (ScheduledActionMap) ToScheduledActionMapOutputWithContext

func (i ScheduledActionMap) ToScheduledActionMapOutputWithContext(ctx context.Context) ScheduledActionMapOutput

type ScheduledActionMapInput

type ScheduledActionMapInput interface {
	pulumi.Input

	ToScheduledActionMapOutput() ScheduledActionMapOutput
	ToScheduledActionMapOutputWithContext(context.Context) ScheduledActionMapOutput
}

ScheduledActionMapInput is an input type that accepts ScheduledActionMap and ScheduledActionMapOutput values. You can construct a concrete instance of `ScheduledActionMapInput` via:

ScheduledActionMap{ "key": ScheduledActionArgs{...} }

type ScheduledActionMapOutput

type ScheduledActionMapOutput struct{ *pulumi.OutputState }

func (ScheduledActionMapOutput) ElementType

func (ScheduledActionMapOutput) ElementType() reflect.Type

func (ScheduledActionMapOutput) MapIndex

func (ScheduledActionMapOutput) ToScheduledActionMapOutput

func (o ScheduledActionMapOutput) ToScheduledActionMapOutput() ScheduledActionMapOutput

func (ScheduledActionMapOutput) ToScheduledActionMapOutputWithContext

func (o ScheduledActionMapOutput) ToScheduledActionMapOutputWithContext(ctx context.Context) ScheduledActionMapOutput

type ScheduledActionOutput

type ScheduledActionOutput struct{ *pulumi.OutputState }

func (ScheduledActionOutput) Arn added in v5.4.0

ARN of the scheduled action.

func (ScheduledActionOutput) ElementType

func (ScheduledActionOutput) ElementType() reflect.Type

func (ScheduledActionOutput) EndTime added in v5.4.0

Date and time for the scheduled action to end in RFC 3339 format. The timezone is not affected by the setting of `timezone`.

func (ScheduledActionOutput) Name added in v5.4.0

Name of the scheduled action.

func (ScheduledActionOutput) ResourceId added in v5.4.0

func (o ScheduledActionOutput) ResourceId() pulumi.StringOutput

Identifier of the resource associated with the scheduled action. Documentation can be found in the `ResourceId` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html)

func (ScheduledActionOutput) ScalableDimension added in v5.4.0

func (o ScheduledActionOutput) ScalableDimension() pulumi.StringOutput

Scalable dimension. Documentation can be found in the `ScalableDimension` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html) Example: ecs:service:DesiredCount

func (ScheduledActionOutput) ScalableTargetAction added in v5.4.0

New minimum and maximum capacity. You can set both values or just one. See below

func (ScheduledActionOutput) Schedule added in v5.4.0

Schedule for this action. The following formats are supported: At expressions - at(yyyy-mm-ddThh:mm:ss), Rate expressions - rate(valueunit), Cron expressions - cron(fields). Times for at expressions and cron expressions are evaluated using the time zone configured in `timezone`. Documentation can be found in the `Timezone` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html)

func (ScheduledActionOutput) ServiceNamespace added in v5.4.0

func (o ScheduledActionOutput) ServiceNamespace() pulumi.StringOutput

Namespace of the AWS service. Documentation can be found in the `ServiceNamespace` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html) Example: ecs

func (ScheduledActionOutput) StartTime added in v5.4.0

Date and time for the scheduled action to start in RFC 3339 format. The timezone is not affected by the setting of `timezone`.

func (ScheduledActionOutput) Timezone added in v5.4.0

Time zone used when setting a scheduled action by using an at or cron expression. Does not affect timezone for `startTime` and `endTime`. Valid values are the [canonical names of the IANA time zones supported by Joda-Time](https://www.joda.org/joda-time/timezones.html), such as `Etc/GMT+9` or `Pacific/Tahiti`. Default is `UTC`.

func (ScheduledActionOutput) ToScheduledActionOutput

func (o ScheduledActionOutput) ToScheduledActionOutput() ScheduledActionOutput

func (ScheduledActionOutput) ToScheduledActionOutputWithContext

func (o ScheduledActionOutput) ToScheduledActionOutputWithContext(ctx context.Context) ScheduledActionOutput

type ScheduledActionScalableTargetAction

type ScheduledActionScalableTargetAction struct {
	// Maximum capacity. At least one of `maxCapacity` or `minCapacity` must be set.
	MaxCapacity *int `pulumi:"maxCapacity"`
	// Minimum capacity. At least one of `minCapacity` or `maxCapacity` must be set.
	MinCapacity *int `pulumi:"minCapacity"`
}

type ScheduledActionScalableTargetActionArgs

type ScheduledActionScalableTargetActionArgs struct {
	// Maximum capacity. At least one of `maxCapacity` or `minCapacity` must be set.
	MaxCapacity pulumi.IntPtrInput `pulumi:"maxCapacity"`
	// Minimum capacity. At least one of `minCapacity` or `maxCapacity` must be set.
	MinCapacity pulumi.IntPtrInput `pulumi:"minCapacity"`
}

func (ScheduledActionScalableTargetActionArgs) ElementType

func (ScheduledActionScalableTargetActionArgs) ToScheduledActionScalableTargetActionOutput

func (i ScheduledActionScalableTargetActionArgs) ToScheduledActionScalableTargetActionOutput() ScheduledActionScalableTargetActionOutput

func (ScheduledActionScalableTargetActionArgs) ToScheduledActionScalableTargetActionOutputWithContext

func (i ScheduledActionScalableTargetActionArgs) ToScheduledActionScalableTargetActionOutputWithContext(ctx context.Context) ScheduledActionScalableTargetActionOutput

func (ScheduledActionScalableTargetActionArgs) ToScheduledActionScalableTargetActionPtrOutput

func (i ScheduledActionScalableTargetActionArgs) ToScheduledActionScalableTargetActionPtrOutput() ScheduledActionScalableTargetActionPtrOutput

func (ScheduledActionScalableTargetActionArgs) ToScheduledActionScalableTargetActionPtrOutputWithContext

func (i ScheduledActionScalableTargetActionArgs) ToScheduledActionScalableTargetActionPtrOutputWithContext(ctx context.Context) ScheduledActionScalableTargetActionPtrOutput

type ScheduledActionScalableTargetActionInput

type ScheduledActionScalableTargetActionInput interface {
	pulumi.Input

	ToScheduledActionScalableTargetActionOutput() ScheduledActionScalableTargetActionOutput
	ToScheduledActionScalableTargetActionOutputWithContext(context.Context) ScheduledActionScalableTargetActionOutput
}

ScheduledActionScalableTargetActionInput is an input type that accepts ScheduledActionScalableTargetActionArgs and ScheduledActionScalableTargetActionOutput values. You can construct a concrete instance of `ScheduledActionScalableTargetActionInput` via:

ScheduledActionScalableTargetActionArgs{...}

type ScheduledActionScalableTargetActionOutput

type ScheduledActionScalableTargetActionOutput struct{ *pulumi.OutputState }

func (ScheduledActionScalableTargetActionOutput) ElementType

func (ScheduledActionScalableTargetActionOutput) MaxCapacity

Maximum capacity. At least one of `maxCapacity` or `minCapacity` must be set.

func (ScheduledActionScalableTargetActionOutput) MinCapacity

Minimum capacity. At least one of `minCapacity` or `maxCapacity` must be set.

func (ScheduledActionScalableTargetActionOutput) ToScheduledActionScalableTargetActionOutput

func (o ScheduledActionScalableTargetActionOutput) ToScheduledActionScalableTargetActionOutput() ScheduledActionScalableTargetActionOutput

func (ScheduledActionScalableTargetActionOutput) ToScheduledActionScalableTargetActionOutputWithContext

func (o ScheduledActionScalableTargetActionOutput) ToScheduledActionScalableTargetActionOutputWithContext(ctx context.Context) ScheduledActionScalableTargetActionOutput

func (ScheduledActionScalableTargetActionOutput) ToScheduledActionScalableTargetActionPtrOutput

func (o ScheduledActionScalableTargetActionOutput) ToScheduledActionScalableTargetActionPtrOutput() ScheduledActionScalableTargetActionPtrOutput

func (ScheduledActionScalableTargetActionOutput) ToScheduledActionScalableTargetActionPtrOutputWithContext

func (o ScheduledActionScalableTargetActionOutput) ToScheduledActionScalableTargetActionPtrOutputWithContext(ctx context.Context) ScheduledActionScalableTargetActionPtrOutput

type ScheduledActionScalableTargetActionPtrInput

type ScheduledActionScalableTargetActionPtrInput interface {
	pulumi.Input

	ToScheduledActionScalableTargetActionPtrOutput() ScheduledActionScalableTargetActionPtrOutput
	ToScheduledActionScalableTargetActionPtrOutputWithContext(context.Context) ScheduledActionScalableTargetActionPtrOutput
}

ScheduledActionScalableTargetActionPtrInput is an input type that accepts ScheduledActionScalableTargetActionArgs, ScheduledActionScalableTargetActionPtr and ScheduledActionScalableTargetActionPtrOutput values. You can construct a concrete instance of `ScheduledActionScalableTargetActionPtrInput` via:

        ScheduledActionScalableTargetActionArgs{...}

or:

        nil

type ScheduledActionScalableTargetActionPtrOutput

type ScheduledActionScalableTargetActionPtrOutput struct{ *pulumi.OutputState }

func (ScheduledActionScalableTargetActionPtrOutput) Elem

func (ScheduledActionScalableTargetActionPtrOutput) ElementType

func (ScheduledActionScalableTargetActionPtrOutput) MaxCapacity

Maximum capacity. At least one of `maxCapacity` or `minCapacity` must be set.

func (ScheduledActionScalableTargetActionPtrOutput) MinCapacity

Minimum capacity. At least one of `minCapacity` or `maxCapacity` must be set.

func (ScheduledActionScalableTargetActionPtrOutput) ToScheduledActionScalableTargetActionPtrOutput

func (o ScheduledActionScalableTargetActionPtrOutput) ToScheduledActionScalableTargetActionPtrOutput() ScheduledActionScalableTargetActionPtrOutput

func (ScheduledActionScalableTargetActionPtrOutput) ToScheduledActionScalableTargetActionPtrOutputWithContext

func (o ScheduledActionScalableTargetActionPtrOutput) ToScheduledActionScalableTargetActionPtrOutputWithContext(ctx context.Context) ScheduledActionScalableTargetActionPtrOutput

type ScheduledActionState

type ScheduledActionState struct {
	// ARN of the scheduled action.
	Arn pulumi.StringPtrInput
	// Date and time for the scheduled action to end in RFC 3339 format. The timezone is not affected by the setting of `timezone`.
	EndTime pulumi.StringPtrInput
	// Name of the scheduled action.
	Name pulumi.StringPtrInput
	// Identifier of the resource associated with the scheduled action. Documentation can be found in the `ResourceId` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html)
	ResourceId pulumi.StringPtrInput
	// Scalable dimension. Documentation can be found in the `ScalableDimension` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html) Example: ecs:service:DesiredCount
	ScalableDimension pulumi.StringPtrInput
	// New minimum and maximum capacity. You can set both values or just one. See below
	ScalableTargetAction ScheduledActionScalableTargetActionPtrInput
	// Schedule for this action. The following formats are supported: At expressions - at(yyyy-mm-ddThh:mm:ss), Rate expressions - rate(valueunit), Cron expressions - cron(fields). Times for at expressions and cron expressions are evaluated using the time zone configured in `timezone`. Documentation can be found in the `Timezone` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html)
	Schedule pulumi.StringPtrInput
	// Namespace of the AWS service. Documentation can be found in the `ServiceNamespace` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScheduledAction.html) Example: ecs
	ServiceNamespace pulumi.StringPtrInput
	// Date and time for the scheduled action to start in RFC 3339 format. The timezone is not affected by the setting of `timezone`.
	StartTime pulumi.StringPtrInput
	// Time zone used when setting a scheduled action by using an at or cron expression. Does not affect timezone for `startTime` and `endTime`. Valid values are the [canonical names of the IANA time zones supported by Joda-Time](https://www.joda.org/joda-time/timezones.html), such as `Etc/GMT+9` or `Pacific/Tahiti`. Default is `UTC`.
	Timezone pulumi.StringPtrInput
}

func (ScheduledActionState) ElementType

func (ScheduledActionState) ElementType() reflect.Type

type Target

type Target struct {
	pulumi.CustomResourceState

	// The ARN of the scalable target.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Max capacity of the scalable target.
	MaxCapacity pulumi.IntOutput `pulumi:"maxCapacity"`
	// Min capacity of the scalable target.
	MinCapacity pulumi.IntOutput `pulumi:"minCapacity"`
	// Resource type and unique identifier string for the resource associated with the scaling policy. Documentation can be found in the `ResourceId` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_RequestParameters)
	ResourceId pulumi.StringOutput `pulumi:"resourceId"`
	// ARN of the IAM role that allows Application AutoScaling to modify your scalable target on your behalf. This defaults to an IAM Service-Linked Role for most services and custom IAM Roles are ignored by the API for those namespaces. See the [AWS Application Auto Scaling documentation](https://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-roles) for more information about how this service interacts with IAM.
	RoleArn pulumi.StringOutput `pulumi:"roleArn"`
	// Scalable dimension of the scalable target. Documentation can be found in the `ScalableDimension` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_RequestParameters)
	ScalableDimension pulumi.StringOutput `pulumi:"scalableDimension"`
	// AWS service namespace of the scalable target. Documentation can be found in the `ServiceNamespace` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_RequestParameters)
	ServiceNamespace pulumi.StringOutput `pulumi:"serviceNamespace"`
	// Map of tags to assign to the scalable target. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Provides an Application AutoScaling ScalableTarget resource. To manage policies which get attached to the target, see the `appautoscaling.Policy` resource.

> **NOTE:** Scalable targets created before 2023-03-20 may not have an assigned `arn`. These resource cannot use `tags` or participate in `defaultTags`. To prevent `pulumi preview` showing differences that can never be reconciled, use the `lifecycle.ignore_changes` meta-argument. See the example below.

> **NOTE:** The [Application Auto Scaling service automatically attempts to manage IAM Service-Linked Roles](https://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-roles) when registering certain service namespaces for the first time. To manually manage this role, see the `iam.ServiceLinkedRole` resource.

## Example Usage ### DynamoDB Table Autoscaling

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/appautoscaling"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := appautoscaling.NewTarget(ctx, "dynamodbTableReadTarget", &appautoscaling.TargetArgs{
			MaxCapacity:       pulumi.Int(100),
			MinCapacity:       pulumi.Int(5),
			ResourceId:        pulumi.String(fmt.Sprintf("table/%v", aws_dynamodb_table.Example.Name)),
			ScalableDimension: pulumi.String("dynamodb:table:ReadCapacityUnits"),
			ServiceNamespace:  pulumi.String("dynamodb"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### DynamoDB Index Autoscaling

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/appautoscaling"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := appautoscaling.NewTarget(ctx, "dynamodbIndexReadTarget", &appautoscaling.TargetArgs{
			MaxCapacity:       pulumi.Int(100),
			MinCapacity:       pulumi.Int(5),
			ResourceId:        pulumi.String(fmt.Sprintf("table/%v/index/%v", aws_dynamodb_table.Example.Name, _var.Index_name)),
			ScalableDimension: pulumi.String("dynamodb:index:ReadCapacityUnits"),
			ServiceNamespace:  pulumi.String("dynamodb"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### ECS Service Autoscaling

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/appautoscaling"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := appautoscaling.NewTarget(ctx, "ecsTarget", &appautoscaling.TargetArgs{
			MaxCapacity:       pulumi.Int(4),
			MinCapacity:       pulumi.Int(1),
			ResourceId:        pulumi.String(fmt.Sprintf("service/%v/%v", aws_ecs_cluster.Example.Name, aws_ecs_service.Example.Name)),
			ScalableDimension: pulumi.String("ecs:service:DesiredCount"),
			ServiceNamespace:  pulumi.String("ecs"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Aurora Read Replica Autoscaling

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/appautoscaling"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := appautoscaling.NewTarget(ctx, "replicas", &appautoscaling.TargetArgs{
			MaxCapacity:       pulumi.Int(15),
			MinCapacity:       pulumi.Int(1),
			ResourceId:        pulumi.String(fmt.Sprintf("cluster:%v", aws_rds_cluster.Example.Id)),
			ScalableDimension: pulumi.String("rds:cluster:ReadReplicaCount"),
			ServiceNamespace:  pulumi.String("rds"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Suppressing `tagsAll` Differences For Older Resources

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/appautoscaling"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := appautoscaling.NewTarget(ctx, "ecsTarget", &appautoscaling.TargetArgs{
			MaxCapacity:       pulumi.Int(4),
			MinCapacity:       pulumi.Int(1),
			ResourceId:        pulumi.String(fmt.Sprintf("service/%v/%v", aws_ecs_cluster.Example.Name, aws_ecs_service.Example.Name)),
			ScalableDimension: pulumi.String("ecs:service:DesiredCount"),
			ServiceNamespace:  pulumi.String("ecs"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### MSK / Kafka Autoscaling

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/appautoscaling"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := appautoscaling.NewTarget(ctx, "mskTarget", &appautoscaling.TargetArgs{
			MaxCapacity:       pulumi.Int(8),
			MinCapacity:       pulumi.Int(1),
			ResourceId:        pulumi.Any(aws_msk_cluster.Example.Arn),
			ScalableDimension: pulumi.String("kafka:broker-storage:VolumeSize"),
			ServiceNamespace:  pulumi.String("kafka"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Application AutoScaling Target can be imported using the `service-namespace` , `resource-id` and `scalable-dimension` separated by `/`.

```sh

$ pulumi import aws:appautoscaling/target:Target test-target service-namespace/resource-id/scalable-dimension

```

func GetTarget

func GetTarget(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TargetState, opts ...pulumi.ResourceOption) (*Target, error)

GetTarget gets an existing Target resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewTarget

func NewTarget(ctx *pulumi.Context,
	name string, args *TargetArgs, opts ...pulumi.ResourceOption) (*Target, error)

NewTarget registers a new resource with the given unique name, arguments, and options.

func (*Target) ElementType

func (*Target) ElementType() reflect.Type

func (*Target) ToTargetOutput

func (i *Target) ToTargetOutput() TargetOutput

func (*Target) ToTargetOutputWithContext

func (i *Target) ToTargetOutputWithContext(ctx context.Context) TargetOutput

type TargetArgs

type TargetArgs struct {
	// Max capacity of the scalable target.
	MaxCapacity pulumi.IntInput
	// Min capacity of the scalable target.
	MinCapacity pulumi.IntInput
	// Resource type and unique identifier string for the resource associated with the scaling policy. Documentation can be found in the `ResourceId` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_RequestParameters)
	ResourceId pulumi.StringInput
	// ARN of the IAM role that allows Application AutoScaling to modify your scalable target on your behalf. This defaults to an IAM Service-Linked Role for most services and custom IAM Roles are ignored by the API for those namespaces. See the [AWS Application Auto Scaling documentation](https://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-roles) for more information about how this service interacts with IAM.
	RoleArn pulumi.StringPtrInput
	// Scalable dimension of the scalable target. Documentation can be found in the `ScalableDimension` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_RequestParameters)
	ScalableDimension pulumi.StringInput
	// AWS service namespace of the scalable target. Documentation can be found in the `ServiceNamespace` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_RequestParameters)
	ServiceNamespace pulumi.StringInput
	// Map of tags to assign to the scalable target. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a Target resource.

func (TargetArgs) ElementType

func (TargetArgs) ElementType() reflect.Type

type TargetArray

type TargetArray []TargetInput

func (TargetArray) ElementType

func (TargetArray) ElementType() reflect.Type

func (TargetArray) ToTargetArrayOutput

func (i TargetArray) ToTargetArrayOutput() TargetArrayOutput

func (TargetArray) ToTargetArrayOutputWithContext

func (i TargetArray) ToTargetArrayOutputWithContext(ctx context.Context) TargetArrayOutput

type TargetArrayInput

type TargetArrayInput interface {
	pulumi.Input

	ToTargetArrayOutput() TargetArrayOutput
	ToTargetArrayOutputWithContext(context.Context) TargetArrayOutput
}

TargetArrayInput is an input type that accepts TargetArray and TargetArrayOutput values. You can construct a concrete instance of `TargetArrayInput` via:

TargetArray{ TargetArgs{...} }

type TargetArrayOutput

type TargetArrayOutput struct{ *pulumi.OutputState }

func (TargetArrayOutput) ElementType

func (TargetArrayOutput) ElementType() reflect.Type

func (TargetArrayOutput) Index

func (TargetArrayOutput) ToTargetArrayOutput

func (o TargetArrayOutput) ToTargetArrayOutput() TargetArrayOutput

func (TargetArrayOutput) ToTargetArrayOutputWithContext

func (o TargetArrayOutput) ToTargetArrayOutputWithContext(ctx context.Context) TargetArrayOutput

type TargetInput

type TargetInput interface {
	pulumi.Input

	ToTargetOutput() TargetOutput
	ToTargetOutputWithContext(ctx context.Context) TargetOutput
}

type TargetMap

type TargetMap map[string]TargetInput

func (TargetMap) ElementType

func (TargetMap) ElementType() reflect.Type

func (TargetMap) ToTargetMapOutput

func (i TargetMap) ToTargetMapOutput() TargetMapOutput

func (TargetMap) ToTargetMapOutputWithContext

func (i TargetMap) ToTargetMapOutputWithContext(ctx context.Context) TargetMapOutput

type TargetMapInput

type TargetMapInput interface {
	pulumi.Input

	ToTargetMapOutput() TargetMapOutput
	ToTargetMapOutputWithContext(context.Context) TargetMapOutput
}

TargetMapInput is an input type that accepts TargetMap and TargetMapOutput values. You can construct a concrete instance of `TargetMapInput` via:

TargetMap{ "key": TargetArgs{...} }

type TargetMapOutput

type TargetMapOutput struct{ *pulumi.OutputState }

func (TargetMapOutput) ElementType

func (TargetMapOutput) ElementType() reflect.Type

func (TargetMapOutput) MapIndex

func (TargetMapOutput) ToTargetMapOutput

func (o TargetMapOutput) ToTargetMapOutput() TargetMapOutput

func (TargetMapOutput) ToTargetMapOutputWithContext

func (o TargetMapOutput) ToTargetMapOutputWithContext(ctx context.Context) TargetMapOutput

type TargetOutput

type TargetOutput struct{ *pulumi.OutputState }

func (TargetOutput) Arn added in v5.41.0

The ARN of the scalable target.

func (TargetOutput) ElementType

func (TargetOutput) ElementType() reflect.Type

func (TargetOutput) MaxCapacity added in v5.4.0

func (o TargetOutput) MaxCapacity() pulumi.IntOutput

Max capacity of the scalable target.

func (TargetOutput) MinCapacity added in v5.4.0

func (o TargetOutput) MinCapacity() pulumi.IntOutput

Min capacity of the scalable target.

func (TargetOutput) ResourceId added in v5.4.0

func (o TargetOutput) ResourceId() pulumi.StringOutput

Resource type and unique identifier string for the resource associated with the scaling policy. Documentation can be found in the `ResourceId` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_RequestParameters)

func (TargetOutput) RoleArn added in v5.4.0

func (o TargetOutput) RoleArn() pulumi.StringOutput

ARN of the IAM role that allows Application AutoScaling to modify your scalable target on your behalf. This defaults to an IAM Service-Linked Role for most services and custom IAM Roles are ignored by the API for those namespaces. See the [AWS Application Auto Scaling documentation](https://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-roles) for more information about how this service interacts with IAM.

func (TargetOutput) ScalableDimension added in v5.4.0

func (o TargetOutput) ScalableDimension() pulumi.StringOutput

Scalable dimension of the scalable target. Documentation can be found in the `ScalableDimension` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_RequestParameters)

func (TargetOutput) ServiceNamespace added in v5.4.0

func (o TargetOutput) ServiceNamespace() pulumi.StringOutput

AWS service namespace of the scalable target. Documentation can be found in the `ServiceNamespace` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_RequestParameters)

func (TargetOutput) Tags added in v5.41.0

Map of tags to assign to the scalable target. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (TargetOutput) TagsAll added in v5.41.0

func (o TargetOutput) TagsAll() pulumi.StringMapOutput

Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (TargetOutput) ToTargetOutput

func (o TargetOutput) ToTargetOutput() TargetOutput

func (TargetOutput) ToTargetOutputWithContext

func (o TargetOutput) ToTargetOutputWithContext(ctx context.Context) TargetOutput

type TargetState

type TargetState struct {
	// The ARN of the scalable target.
	Arn pulumi.StringPtrInput
	// Max capacity of the scalable target.
	MaxCapacity pulumi.IntPtrInput
	// Min capacity of the scalable target.
	MinCapacity pulumi.IntPtrInput
	// Resource type and unique identifier string for the resource associated with the scaling policy. Documentation can be found in the `ResourceId` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_RequestParameters)
	ResourceId pulumi.StringPtrInput
	// ARN of the IAM role that allows Application AutoScaling to modify your scalable target on your behalf. This defaults to an IAM Service-Linked Role for most services and custom IAM Roles are ignored by the API for those namespaces. See the [AWS Application Auto Scaling documentation](https://docs.aws.amazon.com/autoscaling/application/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-roles) for more information about how this service interacts with IAM.
	RoleArn pulumi.StringPtrInput
	// Scalable dimension of the scalable target. Documentation can be found in the `ScalableDimension` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_RequestParameters)
	ScalableDimension pulumi.StringPtrInput
	// AWS service namespace of the scalable target. Documentation can be found in the `ServiceNamespace` parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_RequestParameters)
	ServiceNamespace pulumi.StringPtrInput
	// Map of tags to assign to the scalable target. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
}

func (TargetState) ElementType

func (TargetState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL