appautoscaling

package
v6.32.0 Latest Latest
Warning

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

Go to latest
Published: Apr 19, 2024 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

<!--Start PulumiCodeChooser --> ```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v6/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, "dynamodb_table_read_target", &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, "dynamodb_table_read_policy", &appautoscaling.PolicyArgs{
			Name: dynamodbTableReadTarget.ResourceId.ApplyT(func(resourceId string) (string, error) {
				return fmt.Sprintf("DynamoDBReadCapacityUtilization:%v", resourceId), nil
			}).(pulumi.StringOutput),
			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
	})
}

``` <!--End PulumiCodeChooser -->

### ECS Service Autoscaling

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/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, "ecs_target", &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, "ecs_policy", &appautoscaling.PolicyArgs{
			Name:              pulumi.String("scale-down"),
			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
	})
}

``` <!--End PulumiCodeChooser -->

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

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

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

``` <!--End PulumiCodeChooser -->

### Aurora Read Replica Autoscaling

<!--Start PulumiCodeChooser --> ```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		replicas, err := appautoscaling.NewTarget(ctx, "replicas", &appautoscaling.TargetArgs{
			ServiceNamespace:  pulumi.String("rds"),
			ScalableDimension: pulumi.String("rds:cluster:ReadReplicaCount"),
			ResourceId:        pulumi.String(fmt.Sprintf("cluster:%v", example.Id)),
			MinCapacity:       pulumi.Int(1),
			MaxCapacity:       pulumi.Int(15),
		})
		if err != nil {
			return err
		}
		_, err = appautoscaling.NewPolicy(ctx, "replicas", &appautoscaling.PolicyArgs{
			Name:              pulumi.String("cpu-auto-scaling"),
			ServiceNamespace:  replicas.ServiceNamespace,
			ScalableDimension: replicas.ScalableDimension,
			ResourceId:        replicas.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
	})
}

``` <!--End PulumiCodeChooser -->

### Create target tracking scaling policy using metric math

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/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, "ecs_target", &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{
			Name:              pulumi.String("foo"),
			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
	})
}

``` <!--End PulumiCodeChooser -->

### MSK / Kafka Autoscaling

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/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, "msk_target", &appautoscaling.TargetArgs{
			ServiceNamespace:  pulumi.String("kafka"),
			ScalableDimension: pulumi.String("kafka:broker-storage:VolumeSize"),
			ResourceId:        pulumi.Any(example.Arn),
			MinCapacity:       pulumi.Int(1),
			MaxCapacity:       pulumi.Int(8),
		})
		if err != nil {
			return err
		}
		_, err = appautoscaling.NewPolicy(ctx, "targets", &appautoscaling.PolicyArgs{
			Name:              pulumi.String("storage-size-auto-scaling"),
			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
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Using `pulumi import`, import Application AutoScaling Policy using the `service-namespace` , `resource-id`, `scalable-dimension` and `policy-name` separated by `/`. For example:

```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

func (o PolicyOutput) AlarmArns() pulumi.StringArrayOutput

List of CloudWatch alarm ARNs associated with the scaling policy.

func (PolicyOutput) Arn

ARN assigned by AWS to the scaling policy.

func (PolicyOutput) ElementType

func (PolicyOutput) ElementType() reflect.Type

func (PolicyOutput) Name

func (o PolicyOutput) Name() pulumi.StringOutput

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

func (PolicyOutput) PolicyType

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

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

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

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

func (o PolicyOutput) StepScalingPolicyConfiguration() PolicyStepScalingPolicyConfigurationPtrOutput

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

func (PolicyOutput) TargetTrackingScalingPolicyConfiguration

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:
	//
	// <!--Start PulumiCodeChooser -->
	// “`go
	// package main
	//
	// import (
	// 	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling"
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// )
	//
	// func main() {
	// 	pulumi.Run(func(ctx *pulumi.Context) error {
	// 		_, err := appautoscaling.NewPolicy(ctx, "ecs_policy", &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
	// 	})
	// }
	// “`
	// <!--End PulumiCodeChooser -->
	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:
	//
	// <!--Start PulumiCodeChooser -->
	// “`go
	// package main
	//
	// import (
	// 	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appautoscaling"
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// )
	//
	// func main() {
	// 	pulumi.Run(func(ctx *pulumi.Context) error {
	// 		_, err := appautoscaling.NewPolicy(ctx, "ecs_policy", &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
	// 	})
	// }
	// “`
	// <!--End PulumiCodeChooser -->
	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:

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := appautoscaling.NewPolicy(ctx, "ecs_policy", &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
	})
}

``` <!--End PulumiCodeChooser -->

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:

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := appautoscaling.NewPolicy(ctx, "ecs_policy", &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
	})
}

``` <!--End PulumiCodeChooser -->

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 {
	// Dimensions of the metric.
	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 metrics to return.
	Unit *string `pulumi:"unit"`
}

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs struct {
	// Dimensions of the metric.
	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 metrics to return.
	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

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

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

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutputWithContext

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArray

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArray []PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricInput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArray) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArray) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArray) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayOutputWithContext

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayInput

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

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayOutput) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricArrayOutputWithContext

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricInput

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

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 metrics to return.
	Unit *string `pulumi:"unit"`
}

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs

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 metrics to return.
	Unit pulumi.StringPtrInput `pulumi:"unit"`
}

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutputWithContext

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutputWithContext

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatInput

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

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetric struct {
	// Dimensions of the metric.
	Dimensions []PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimension `pulumi:"dimensions"`
	// Name of the metric.
	MetricName string `pulumi:"metricName"`
	// Namespace of the metric.
	Namespace string `pulumi:"namespace"`
}

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs struct {
	// Dimensions of the metric.
	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

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutputWithContext

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutputWithContext

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimension

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

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

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionOutputWithContext

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArray

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArray []PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionInput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArray) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArray) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArray) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayOutputWithContext

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayInput

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

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayOutput) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionArrayOutputWithContext

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionInput

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

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionOutput) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionOutput) Name

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

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionOutputWithContext

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricDimensionOutput) Value

Value of the dimension.

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricInput

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

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput) Dimensions

Dimensions of the metric.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput) MetricName

Name of the metric.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput) Namespace

Namespace of the metric.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutputWithContext

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutputWithContext

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrInput

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

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutput) Dimensions

Dimensions of the metric.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutput) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutput) MetricName

Name of the metric.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutput) Namespace

Namespace of the metric.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatMetricPtrOutputWithContext

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput) Metric

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

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput) Stat

Statistic of the metrics to return.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutputWithContext

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutputWithContext

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatOutput) Unit

Unit of the metrics to return.

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrInput

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

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutput) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutput) Metric

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

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutput) Stat

Statistic of the metrics to return.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutputWithContext

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricMetricStatPtrOutput) Unit

Unit of the metrics to return.

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput) Expression

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

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput) Id

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

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput) Label

Human-readable label for this metric or expression.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput) MetricStat

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

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

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationMetricOutputWithContext

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput) Dimensions

Dimensions of the metric.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput) MetricName

Name of the metric.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput) Metrics

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 metrics to return.

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

Dimensions of the metric.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput) MetricName

Name of the metric.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput) Metrics

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 metrics to return.

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

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		dynamodb, err := appautoscaling.NewTarget(ctx, "dynamodb", &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, "dynamodb", &appautoscaling.ScheduledActionArgs{
			Name:              pulumi.String("dynamodb"),
			ServiceNamespace:  dynamodb.ServiceNamespace,
			ResourceId:        dynamodb.ResourceId,
			ScalableDimension: dynamodb.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
	})
}

``` <!--End PulumiCodeChooser -->

### ECS Service Autoscaling

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ecs, err := appautoscaling.NewTarget(ctx, "ecs", &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, "ecs", &appautoscaling.ScheduledActionArgs{
			Name:              pulumi.String("ecs"),
			ServiceNamespace:  ecs.ServiceNamespace,
			ResourceId:        ecs.ResourceId,
			ScalableDimension: ecs.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
	})
}

``` <!--End PulumiCodeChooser -->

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

ARN of the scheduled action.

func (ScheduledActionOutput) ElementType

func (ScheduledActionOutput) ElementType() reflect.Type

func (ScheduledActionOutput) EndTime

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

Name of the scheduled action.

func (ScheduledActionOutput) ResourceId

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

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

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

func (ScheduledActionOutput) Schedule

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

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

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

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.
	//
	// Deprecated: Please use `tags` instead.
	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

<!--Start PulumiCodeChooser --> ```go package main

import (

"fmt"

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

)

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

``` <!--End PulumiCodeChooser -->

### DynamoDB Index Autoscaling

<!--Start PulumiCodeChooser --> ```go package main

import (

"fmt"

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

)

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

``` <!--End PulumiCodeChooser -->

### ECS Service Autoscaling

<!--Start PulumiCodeChooser --> ```go package main

import (

"fmt"

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

)

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

``` <!--End PulumiCodeChooser -->

### Aurora Read Replica Autoscaling

<!--Start PulumiCodeChooser --> ```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v6/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{
			ServiceNamespace:  pulumi.String("rds"),
			ScalableDimension: pulumi.String("rds:cluster:ReadReplicaCount"),
			ResourceId:        pulumi.String(fmt.Sprintf("cluster:%v", example.Id)),
			MinCapacity:       pulumi.Int(1),
			MaxCapacity:       pulumi.Int(15),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Suppressing `tagsAll` Differences For Older Resources

<!--Start PulumiCodeChooser --> ```go package main

import (

"fmt"

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

)

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

``` <!--End PulumiCodeChooser -->

### MSK / Kafka Autoscaling

<!--Start PulumiCodeChooser --> ```go package main

import (

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

)

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

``` <!--End PulumiCodeChooser -->

## Import

Using `pulumi import`, import Application AutoScaling Target using the `service-namespace` , `resource-id` and `scalable-dimension` separated by `/`. For example:

```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

The ARN of the scalable target.

func (TargetOutput) ElementType

func (TargetOutput) ElementType() reflect.Type

func (TargetOutput) MaxCapacity

func (o TargetOutput) MaxCapacity() pulumi.IntOutput

Max capacity of the scalable target.

func (TargetOutput) MinCapacity

func (o TargetOutput) MinCapacity() pulumi.IntOutput

Min capacity of the scalable target.

func (TargetOutput) ResourceId

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

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

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

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

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 deprecated

func (o TargetOutput) TagsAll() pulumi.StringMapOutput

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

Deprecated: Please use `tags` instead.

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.
	//
	// Deprecated: Please use `tags` instead.
	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