appautoscaling

package
v4.16.0 Latest Latest
Warning

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

Go to latest
Published: Aug 17, 2021 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

	// The ARN assigned by AWS to the scaling policy.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The name of the policy. Must be between 1 and 255 characters in length.
	Name pulumi.StringOutput `pulumi:"name"`
	// The 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"`
	// The 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](http://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_RequestParameters)
	ResourceId pulumi.StringOutput `pulumi:"resourceId"`
	// The scalable dimension of the scalable target. Documentation can be found in the `ScalableDimension` parameter at: [AWS Application Auto Scaling API Reference](http://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_RequestParameters)
	ScalableDimension pulumi.StringOutput `pulumi:"scalableDimension"`
	// The AWS service namespace of the scalable target. Documentation can be found in the `ServiceNamespace` parameter at: [AWS Application Auto Scaling API Reference](http://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_RequestParameters)
	ServiceNamespace pulumi.StringOutput `pulumi:"serviceNamespace"`
	// Step scaling policy configuration, requires `policyType = "StepScaling"` (default). See supported fields below.
	StepScalingPolicyConfiguration PolicyStepScalingPolicyConfigurationPtrOutput `pulumi:"stepScalingPolicyConfiguration"`
	// A target tracking policy, requires `policyType = "TargetTrackingScaling"`. See supported fields below.
	TargetTrackingScalingPolicyConfiguration PolicyTargetTrackingScalingPolicyConfigurationPtrOutput `pulumi:"targetTrackingScalingPolicyConfiguration"`
}

Provides an Application AutoScaling Policy resource.

## Example Usage ### DynamoDB Table Autoscaling

```go package main

import (

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

)

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

``` ### ECS Service Autoscaling

```go package main

import (

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

)

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

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

```go package main

import (

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

)

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

``` ### Aurora Read Replica Autoscaling

```go package main

import (

"fmt"

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

)

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

``` ### MSK / Kafka Autoscaling

```go package main

import (

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

)

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

```

## Import

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

```sh

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

```

func GetPolicy

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

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

func NewPolicy

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

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

func (*Policy) ElementType

func (*Policy) ElementType() reflect.Type

func (*Policy) ToPolicyOutput

func (i *Policy) ToPolicyOutput() PolicyOutput

func (*Policy) ToPolicyOutputWithContext

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

func (*Policy) ToPolicyPtrOutput

func (i *Policy) ToPolicyPtrOutput() PolicyPtrOutput

func (*Policy) ToPolicyPtrOutputWithContext

func (i *Policy) ToPolicyPtrOutputWithContext(ctx context.Context) PolicyPtrOutput

type PolicyArgs

type PolicyArgs struct {
	// The name of the policy. Must be between 1 and 255 characters in length.
	Name pulumi.StringPtrInput
	// The 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
	// The 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](http://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_RequestParameters)
	ResourceId pulumi.StringInput
	// The scalable dimension of the scalable target. Documentation can be found in the `ScalableDimension` parameter at: [AWS Application Auto Scaling API Reference](http://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_RequestParameters)
	ScalableDimension pulumi.StringInput
	// The AWS service namespace of the scalable target. Documentation can be found in the `ServiceNamespace` parameter at: [AWS Application Auto Scaling API Reference](http://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_RequestParameters)
	ServiceNamespace pulumi.StringInput
	// Step scaling policy configuration, requires `policyType = "StepScaling"` (default). See supported fields below.
	StepScalingPolicyConfiguration PolicyStepScalingPolicyConfigurationPtrInput
	// A 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) ElementType

func (PolicyOutput) ElementType() reflect.Type

func (PolicyOutput) ToPolicyOutput

func (o PolicyOutput) ToPolicyOutput() PolicyOutput

func (PolicyOutput) ToPolicyOutputWithContext

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

func (PolicyOutput) ToPolicyPtrOutput

func (o PolicyOutput) ToPolicyPtrOutput() PolicyPtrOutput

func (PolicyOutput) ToPolicyPtrOutputWithContext

func (o PolicyOutput) ToPolicyPtrOutputWithContext(ctx context.Context) PolicyPtrOutput

type PolicyPtrInput

type PolicyPtrInput interface {
	pulumi.Input

	ToPolicyPtrOutput() PolicyPtrOutput
	ToPolicyPtrOutputWithContext(ctx context.Context) PolicyPtrOutput
}

type PolicyPtrOutput

type PolicyPtrOutput struct{ *pulumi.OutputState }

func (PolicyPtrOutput) Elem added in v4.15.0

func (o PolicyPtrOutput) Elem() PolicyOutput

func (PolicyPtrOutput) ElementType

func (PolicyPtrOutput) ElementType() reflect.Type

func (PolicyPtrOutput) ToPolicyPtrOutput

func (o PolicyPtrOutput) ToPolicyPtrOutput() PolicyPtrOutput

func (PolicyPtrOutput) ToPolicyPtrOutputWithContext

func (o PolicyPtrOutput) ToPolicyPtrOutputWithContext(ctx context.Context) PolicyPtrOutput

type PolicyState

type PolicyState struct {
	// The ARN assigned by AWS to the scaling policy.
	Arn pulumi.StringPtrInput
	// The name of the policy. Must be between 1 and 255 characters in length.
	Name pulumi.StringPtrInput
	// The 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
	// The 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](http://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_RequestParameters)
	ResourceId pulumi.StringPtrInput
	// The scalable dimension of the scalable target. Documentation can be found in the `ScalableDimension` parameter at: [AWS Application Auto Scaling API Reference](http://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_RequestParameters)
	ScalableDimension pulumi.StringPtrInput
	// The AWS service namespace of the scalable target. Documentation can be found in the `ServiceNamespace` parameter at: [AWS Application Auto Scaling API Reference](http://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_RegisterScalableTarget.html#API_RegisterScalableTarget_RequestParameters)
	ServiceNamespace pulumi.StringPtrInput
	// Step scaling policy configuration, requires `policyType = "StepScaling"` (default). See supported fields below.
	StepScalingPolicyConfiguration PolicyStepScalingPolicyConfigurationPtrInput
	// A 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 {
	// Specifies 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"`
	// The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
	Cooldown *int `pulumi:"cooldown"`
	// The 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"`
	// The 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"`
	// A set of adjustments that manage scaling. These have the following structure:
	StepAdjustments []PolicyStepScalingPolicyConfigurationStepAdjustment `pulumi:"stepAdjustments"`
}

type PolicyStepScalingPolicyConfigurationArgs

type PolicyStepScalingPolicyConfigurationArgs struct {
	// Specifies 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"`
	// The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
	Cooldown pulumi.IntPtrInput `pulumi:"cooldown"`
	// The 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"`
	// The 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"`
	// A set of adjustments that manage scaling. These have the following structure:
	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

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

func (PolicyStepScalingPolicyConfigurationOutput) Cooldown

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

func (PolicyStepScalingPolicyConfigurationOutput) ElementType

func (PolicyStepScalingPolicyConfigurationOutput) MetricAggregationType

The 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

The 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

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

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

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

func (PolicyStepScalingPolicyConfigurationPtrOutput) Cooldown

The 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

The 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

The 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

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

func (PolicyStepScalingPolicyConfigurationPtrOutput) ToPolicyStepScalingPolicyConfigurationPtrOutput

func (o PolicyStepScalingPolicyConfigurationPtrOutput) ToPolicyStepScalingPolicyConfigurationPtrOutput() PolicyStepScalingPolicyConfigurationPtrOutput

func (PolicyStepScalingPolicyConfigurationPtrOutput) ToPolicyStepScalingPolicyConfigurationPtrOutputWithContext

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

type PolicyStepScalingPolicyConfigurationStepAdjustment

type PolicyStepScalingPolicyConfigurationStepAdjustment struct {
	// The 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"`
	// The 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"`
	// The 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 {
	// The 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"`
	// The 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"`
	// The 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

The 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

The 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

The 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 {
	// A 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"`
	// Indicates 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"`
	// A predefined metric. See supported fields below.
	PredefinedMetricSpecification *PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecification `pulumi:"predefinedMetricSpecification"`
	// The amount of time, in seconds, after a scale in activity completes before another scale in activity can start.
	ScaleInCooldown *int `pulumi:"scaleInCooldown"`
	// The amount of time, in seconds, after a scale out activity completes before another scale out activity can start.
	ScaleOutCooldown *int `pulumi:"scaleOutCooldown"`
	// The target value for the metric.
	TargetValue float64 `pulumi:"targetValue"`
}

type PolicyTargetTrackingScalingPolicyConfigurationArgs

type PolicyTargetTrackingScalingPolicyConfigurationArgs struct {
	// A 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"`
	// Indicates 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"`
	// A predefined metric. See supported fields below.
	PredefinedMetricSpecification PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationPtrInput `pulumi:"predefinedMetricSpecification"`
	// The amount of time, in seconds, after a scale in activity completes before another scale in activity can start.
	ScaleInCooldown pulumi.IntPtrInput `pulumi:"scaleInCooldown"`
	// The amount of time, in seconds, after a scale out activity completes before another scale out activity can start.
	ScaleOutCooldown pulumi.IntPtrInput `pulumi:"scaleOutCooldown"`
	// The target value for the metric.
	TargetValue pulumi.Float64Input `pulumi:"targetValue"`
}

func (PolicyTargetTrackingScalingPolicyConfigurationArgs) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationArgs) ToPolicyTargetTrackingScalingPolicyConfigurationOutput

func (i PolicyTargetTrackingScalingPolicyConfigurationArgs) ToPolicyTargetTrackingScalingPolicyConfigurationOutput() PolicyTargetTrackingScalingPolicyConfigurationOutput

func (PolicyTargetTrackingScalingPolicyConfigurationArgs) ToPolicyTargetTrackingScalingPolicyConfigurationOutputWithContext

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

func (PolicyTargetTrackingScalingPolicyConfigurationArgs) ToPolicyTargetTrackingScalingPolicyConfigurationPtrOutput

func (i PolicyTargetTrackingScalingPolicyConfigurationArgs) ToPolicyTargetTrackingScalingPolicyConfigurationPtrOutput() PolicyTargetTrackingScalingPolicyConfigurationPtrOutput

func (PolicyTargetTrackingScalingPolicyConfigurationArgs) ToPolicyTargetTrackingScalingPolicyConfigurationPtrOutputWithContext

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

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecification

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

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs struct {
	// Configuration block(s) with the dimensions of the metric if the metric was published with dimensions. Detailed below.
	Dimensions PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimensionArrayInput `pulumi:"dimensions"`
	// The name of the metric.
	MetricName pulumi.StringInput `pulumi:"metricName"`
	// The namespace of the metric.
	Namespace pulumi.StringInput `pulumi:"namespace"`
	// The statistic of the metric. Valid values: `Average`, `Minimum`, `Maximum`, `SampleCount`, and `Sum`.
	Statistic pulumi.StringInput `pulumi:"statistic"`
	// The unit of the metric.
	Unit pulumi.StringPtrInput `pulumi:"unit"`
}

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutputWithContext

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutputWithContext

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimension

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationDimension struct {
	// The 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 {
	// The 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

The 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 PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput) Dimensions

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

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput) MetricName

The name of the metric.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput) Namespace

The namespace of the metric.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationOutput) Statistic

The 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

The unit of the metric.

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrInput

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrInput interface {
	pulumi.Input

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

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

        PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationArgs{...}

or:

        nil

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput

type PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput) Dimensions

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

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput) ElementType

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput) MetricName

The name of the metric.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput) Namespace

The namespace of the metric.

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput) Statistic

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

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput) ToPolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutputWithContext

func (PolicyTargetTrackingScalingPolicyConfigurationCustomizedMetricSpecificationPtrOutput) Unit

The unit of the metric.

type PolicyTargetTrackingScalingPolicyConfigurationInput

type PolicyTargetTrackingScalingPolicyConfigurationInput interface {
	pulumi.Input

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

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

PolicyTargetTrackingScalingPolicyConfigurationArgs{...}

type PolicyTargetTrackingScalingPolicyConfigurationOutput

type PolicyTargetTrackingScalingPolicyConfigurationOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingScalingPolicyConfigurationOutput) CustomizedMetricSpecification

A 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

Indicates 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

A predefined metric. See supported fields below.

func (PolicyTargetTrackingScalingPolicyConfigurationOutput) ScaleInCooldown

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

func (PolicyTargetTrackingScalingPolicyConfigurationOutput) ScaleOutCooldown

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

func (PolicyTargetTrackingScalingPolicyConfigurationOutput) TargetValue

The 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 {
	// The metric type.
	PredefinedMetricType string `pulumi:"predefinedMetricType"`
	// Reserved for future use. Must be less than or equal to 1023 characters in length.
	ResourceLabel *string `pulumi:"resourceLabel"`
}

type PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs

type PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationArgs struct {
	// The metric type.
	PredefinedMetricType pulumi.StringInput `pulumi:"predefinedMetricType"`
	// Reserved for future use. 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

The metric type.

func (PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationOutput) ResourceLabel

Reserved for future use. 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

The metric type.

func (PolicyTargetTrackingScalingPolicyConfigurationPredefinedMetricSpecificationPtrOutput) ResourceLabel

Reserved for future use. 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

A 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

Indicates 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

A predefined metric. See supported fields below.

func (PolicyTargetTrackingScalingPolicyConfigurationPtrOutput) ScaleInCooldown

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

func (PolicyTargetTrackingScalingPolicyConfigurationPtrOutput) ScaleOutCooldown

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

func (PolicyTargetTrackingScalingPolicyConfigurationPtrOutput) TargetValue

The 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

	// The Amazon Resource Name (ARN) of the scheduled action.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The 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"`
	// The name of the scheduled action.
	Name pulumi.StringOutput `pulumi:"name"`
	// The identifier of the resource associated with the scheduled action. Documentation can be found in the parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_PutScheduledAction.html#ApplicationAutoScaling-PutScheduledAction-request-ResourceId)
	ResourceId pulumi.StringOutput `pulumi:"resourceId"`
	// The scalable dimension. Documentation can be found in the parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_PutScheduledAction.html#ApplicationAutoScaling-PutScheduledAction-request-ScalableDimension) Example: ecs:service:DesiredCount
	ScalableDimension pulumi.StringOutput `pulumi:"scalableDimension"`
	// The new minimum and maximum capacity. You can set both values or just one. See below
	ScalableTargetAction ScheduledActionScalableTargetActionOutput `pulumi:"scalableTargetAction"`
	// The 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 parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_PutScheduledAction.html#ApplicationAutoScaling-PutScheduledAction-request-Schedule)
	Schedule pulumi.StringOutput `pulumi:"schedule"`
	// The namespace of the AWS service. Documentation can be found in the parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_PutScheduledAction.html#ApplicationAutoScaling-PutScheduledAction-request-ServiceNamespace) Example: ecs
	ServiceNamespace pulumi.StringOutput `pulumi:"serviceNamespace"`
	// The 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"`
	// The time zone used when setting a scheduled action by using an at or cron expression. Does not affect timezone for `startTime` and `endTime`. Valid values are the [canonical names of the IANA time zones supported by Joda-Time](https://www.joda.org/joda-time/timezones.html), such as `Etc/GMT+9` or `Pacific/Tahiti`. Default is `UTC`.
	Timezone pulumi.StringPtrOutput `pulumi:"timezone"`
}

Provides an Application AutoScaling ScheduledAction resource.

## Example Usage ### DynamoDB Table Autoscaling

```go package main

import (

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

)

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

``` ### ECS Service Autoscaling

```go package main

import (

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

)

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

```

func GetScheduledAction

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

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

func NewScheduledAction

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

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

func (*ScheduledAction) ElementType

func (*ScheduledAction) ElementType() reflect.Type

func (*ScheduledAction) ToScheduledActionOutput

func (i *ScheduledAction) ToScheduledActionOutput() ScheduledActionOutput

func (*ScheduledAction) ToScheduledActionOutputWithContext

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

func (*ScheduledAction) ToScheduledActionPtrOutput

func (i *ScheduledAction) ToScheduledActionPtrOutput() ScheduledActionPtrOutput

func (*ScheduledAction) ToScheduledActionPtrOutputWithContext

func (i *ScheduledAction) ToScheduledActionPtrOutputWithContext(ctx context.Context) ScheduledActionPtrOutput

type ScheduledActionArgs

type ScheduledActionArgs struct {
	// The 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
	// The name of the scheduled action.
	Name pulumi.StringPtrInput
	// The identifier of the resource associated with the scheduled action. Documentation can be found in the parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_PutScheduledAction.html#ApplicationAutoScaling-PutScheduledAction-request-ResourceId)
	ResourceId pulumi.StringInput
	// The scalable dimension. Documentation can be found in the parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_PutScheduledAction.html#ApplicationAutoScaling-PutScheduledAction-request-ScalableDimension) Example: ecs:service:DesiredCount
	ScalableDimension pulumi.StringInput
	// The new minimum and maximum capacity. You can set both values or just one. See below
	ScalableTargetAction ScheduledActionScalableTargetActionInput
	// The 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 parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_PutScheduledAction.html#ApplicationAutoScaling-PutScheduledAction-request-Schedule)
	Schedule pulumi.StringInput
	// The namespace of the AWS service. Documentation can be found in the parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_PutScheduledAction.html#ApplicationAutoScaling-PutScheduledAction-request-ServiceNamespace) Example: ecs
	ServiceNamespace pulumi.StringInput
	// The 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
	// The 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) ElementType

func (ScheduledActionOutput) ElementType() reflect.Type

func (ScheduledActionOutput) ToScheduledActionOutput

func (o ScheduledActionOutput) ToScheduledActionOutput() ScheduledActionOutput

func (ScheduledActionOutput) ToScheduledActionOutputWithContext

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

func (ScheduledActionOutput) ToScheduledActionPtrOutput

func (o ScheduledActionOutput) ToScheduledActionPtrOutput() ScheduledActionPtrOutput

func (ScheduledActionOutput) ToScheduledActionPtrOutputWithContext

func (o ScheduledActionOutput) ToScheduledActionPtrOutputWithContext(ctx context.Context) ScheduledActionPtrOutput

type ScheduledActionPtrInput

type ScheduledActionPtrInput interface {
	pulumi.Input

	ToScheduledActionPtrOutput() ScheduledActionPtrOutput
	ToScheduledActionPtrOutputWithContext(ctx context.Context) ScheduledActionPtrOutput
}

type ScheduledActionPtrOutput

type ScheduledActionPtrOutput struct{ *pulumi.OutputState }

func (ScheduledActionPtrOutput) Elem added in v4.15.0

func (ScheduledActionPtrOutput) ElementType

func (ScheduledActionPtrOutput) ElementType() reflect.Type

func (ScheduledActionPtrOutput) ToScheduledActionPtrOutput

func (o ScheduledActionPtrOutput) ToScheduledActionPtrOutput() ScheduledActionPtrOutput

func (ScheduledActionPtrOutput) ToScheduledActionPtrOutputWithContext

func (o ScheduledActionPtrOutput) ToScheduledActionPtrOutputWithContext(ctx context.Context) ScheduledActionPtrOutput

type ScheduledActionScalableTargetAction

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

type ScheduledActionScalableTargetActionArgs

type ScheduledActionScalableTargetActionArgs struct {
	// The maximum capacity. At least one of `maxCapacity` or `minCapacity` must be set.
	MaxCapacity pulumi.IntPtrInput `pulumi:"maxCapacity"`
	// The 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

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

func (ScheduledActionScalableTargetActionOutput) MinCapacity

The 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

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

func (ScheduledActionScalableTargetActionPtrOutput) MinCapacity

The 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 {
	// The Amazon Resource Name (ARN) of the scheduled action.
	Arn pulumi.StringPtrInput
	// The 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
	// The name of the scheduled action.
	Name pulumi.StringPtrInput
	// The identifier of the resource associated with the scheduled action. Documentation can be found in the parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_PutScheduledAction.html#ApplicationAutoScaling-PutScheduledAction-request-ResourceId)
	ResourceId pulumi.StringPtrInput
	// The scalable dimension. Documentation can be found in the parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_PutScheduledAction.html#ApplicationAutoScaling-PutScheduledAction-request-ScalableDimension) Example: ecs:service:DesiredCount
	ScalableDimension pulumi.StringPtrInput
	// The new minimum and maximum capacity. You can set both values or just one. See below
	ScalableTargetAction ScheduledActionScalableTargetActionPtrInput
	// The 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 parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_PutScheduledAction.html#ApplicationAutoScaling-PutScheduledAction-request-Schedule)
	Schedule pulumi.StringPtrInput
	// The namespace of the AWS service. Documentation can be found in the parameter at: [AWS Application Auto Scaling API Reference](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_PutScheduledAction.html#ApplicationAutoScaling-PutScheduledAction-request-ServiceNamespace) Example: ecs
	ServiceNamespace pulumi.StringPtrInput
	// The 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
	// The 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 max capacity of the scalable target.
	MaxCapacity pulumi.IntOutput `pulumi:"maxCapacity"`
	// The min capacity of the scalable target.
	MinCapacity pulumi.IntOutput `pulumi:"minCapacity"`
	// The 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"`
	// The 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"`
	// The 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"`
	// The 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"`
}

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

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

## Example Usage ### DynamoDB Table Autoscaling

```go package main

import (

"fmt"

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

)

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

``` ### DynamoDB Index Autoscaling

```go package main

import (

"fmt"

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

)

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

``` ### ECS Service Autoscaling

```go package main

import (

"fmt"

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

)

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

``` ### Aurora Read Replica Autoscaling

```go package main

import (

"fmt"

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

)

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

``` ### MSK / Kafka Autoscaling

```go package main

import (

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

)

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

```

## Import

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

```sh

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

```

func GetTarget

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

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

func NewTarget

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

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

func (*Target) ElementType

func (*Target) ElementType() reflect.Type

func (*Target) ToTargetOutput

func (i *Target) ToTargetOutput() TargetOutput

func (*Target) ToTargetOutputWithContext

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

func (*Target) ToTargetPtrOutput

func (i *Target) ToTargetPtrOutput() TargetPtrOutput

func (*Target) ToTargetPtrOutputWithContext

func (i *Target) ToTargetPtrOutputWithContext(ctx context.Context) TargetPtrOutput

type TargetArgs

type TargetArgs struct {
	// The max capacity of the scalable target.
	MaxCapacity pulumi.IntInput
	// The min capacity of the scalable target.
	MinCapacity pulumi.IntInput
	// The 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
	// The 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
	// The 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
	// The 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
}

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) ElementType

func (TargetOutput) ElementType() reflect.Type

func (TargetOutput) ToTargetOutput

func (o TargetOutput) ToTargetOutput() TargetOutput

func (TargetOutput) ToTargetOutputWithContext

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

func (TargetOutput) ToTargetPtrOutput

func (o TargetOutput) ToTargetPtrOutput() TargetPtrOutput

func (TargetOutput) ToTargetPtrOutputWithContext

func (o TargetOutput) ToTargetPtrOutputWithContext(ctx context.Context) TargetPtrOutput

type TargetPtrInput

type TargetPtrInput interface {
	pulumi.Input

	ToTargetPtrOutput() TargetPtrOutput
	ToTargetPtrOutputWithContext(ctx context.Context) TargetPtrOutput
}

type TargetPtrOutput

type TargetPtrOutput struct{ *pulumi.OutputState }

func (TargetPtrOutput) Elem added in v4.15.0

func (o TargetPtrOutput) Elem() TargetOutput

func (TargetPtrOutput) ElementType

func (TargetPtrOutput) ElementType() reflect.Type

func (TargetPtrOutput) ToTargetPtrOutput

func (o TargetPtrOutput) ToTargetPtrOutput() TargetPtrOutput

func (TargetPtrOutput) ToTargetPtrOutputWithContext

func (o TargetPtrOutput) ToTargetPtrOutputWithContext(ctx context.Context) TargetPtrOutput

type TargetState

type TargetState struct {
	// The max capacity of the scalable target.
	MaxCapacity pulumi.IntPtrInput
	// The min capacity of the scalable target.
	MinCapacity pulumi.IntPtrInput
	// The 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
	// The 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
	// The 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
	// The 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
}

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