autoscaling

package
v5.0.0 Latest Latest
Warning

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

Go to latest
Published: Mar 21, 2022 License: Apache-2.0 Imports: 7 Imported by: 2

Documentation

Index

Constants

View Source
const (
	MetricGroupMinSize              = Metric("GroupMinSize")
	MetricGroupMaxSize              = Metric("GroupMaxSize")
	MetricGroupDesiredCapacity      = Metric("GroupDesiredCapacity")
	MetricGroupInServiceInstances   = Metric("GroupInServiceInstances")
	MetricGroupInServiceCapacity    = Metric("GroupInServiceCapacity")
	MetricGroupPendingInstances     = Metric("GroupPendingInstances")
	MetricGroupPendingCapacity      = Metric("GroupPendingCapacity")
	MetricGroupStandbyInstances     = Metric("GroupStandbyInstances")
	MetricGroupStandbyCapacity      = Metric("GroupStandbyCapacity")
	MetricGroupTerminatingInstances = Metric("GroupTerminatingInstances")
	MetricGroupTerminatingCapacity  = Metric("GroupTerminatingCapacity")
	MetricGroupTotalInstances       = Metric("GroupTotalInstances")
	MetricGroupTotalCapacity        = Metric("GroupTotalCapacity")
)
View Source
const (
	NotificationTypeInstanceLaunch         = NotificationType("autoscaling:EC2_INSTANCE_LAUNCH")
	NotificationTypeInstanceTerminate      = NotificationType("autoscaling:EC2_INSTANCE_TERMINATE")
	NotificationTypeInstanceLaunchError    = NotificationType("autoscaling:EC2_INSTANCE_LAUNCH_ERROR")
	NotificationTypeInstanceTerminateError = NotificationType("autoscaling:EC2_INSTANCE_TERMINATE_ERROR")
	NotificationTypeTestNotification       = NotificationType("autoscaling:TEST_NOTIFICATION")
)
View Source
const (
	MetricsGranularityOneMinute = MetricsGranularity("1Minute")
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Attachment

type Attachment struct {
	pulumi.CustomResourceState

	// The ARN of an ALB Target Group.
	//
	// Deprecated: Use lb_target_group_arn instead
	AlbTargetGroupArn pulumi.StringPtrOutput `pulumi:"albTargetGroupArn"`
	// Name of ASG to associate with the ELB.
	AutoscalingGroupName pulumi.StringOutput `pulumi:"autoscalingGroupName"`
	// The name of the ELB.
	Elb pulumi.StringPtrOutput `pulumi:"elb"`
	// The ARN of a load balancer target group.
	LbTargetGroupArn pulumi.StringPtrOutput `pulumi:"lbTargetGroupArn"`
}

Provides an Auto Scaling Attachment resource.

> **NOTE on Auto Scaling Groups and ASG Attachments:** This provider currently provides both a standalone `autoscaling.Attachment` resource (describing an ASG attached to an ELB or ALB), and an `autoscaling.Group` with `loadBalancers` and `targetGroupArns` defined in-line. These two methods are not mutually-exclusive. If `autoscaling.Attachment` resources are used, either alone or with inline `loadBalancers` or `targetGroupArns`, the `autoscaling.Group` resource must be configured to [ignore changes](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) to the `loadBalancers` and `targetGroupArns` arguments.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := autoscaling.NewAttachment(ctx, "asgAttachmentBar", &autoscaling.AttachmentArgs{
			AutoscalingGroupName: pulumi.Any(aws_autoscaling_group.Asg.Id),
			Elb:                  pulumi.Any(aws_elb.Bar.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := autoscaling.NewAttachment(ctx, "asgAttachmentBar", &autoscaling.AttachmentArgs{
			AutoscalingGroupName: pulumi.Any(aws_autoscaling_group.Asg.Id),
			AlbTargetGroupArn:    pulumi.Any(aws_lb_target_group.Test.Arn),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## With An AutoScaling Group Resource

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		asg, err := autoscaling.NewGroup(ctx, "asg", nil)
		if err != nil {
			return err
		}
		_, err = autoscaling.NewAttachment(ctx, "asgAttachmentBar", &autoscaling.AttachmentArgs{
			AutoscalingGroupName: asg.ID(),
			Elb:                  pulumi.Any(aws_elb.Test.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetAttachment

func GetAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AttachmentState, opts ...pulumi.ResourceOption) (*Attachment, error)

GetAttachment gets an existing Attachment 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 NewAttachment

func NewAttachment(ctx *pulumi.Context,
	name string, args *AttachmentArgs, opts ...pulumi.ResourceOption) (*Attachment, error)

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

func (*Attachment) ElementType

func (*Attachment) ElementType() reflect.Type

func (*Attachment) ToAttachmentOutput

func (i *Attachment) ToAttachmentOutput() AttachmentOutput

func (*Attachment) ToAttachmentOutputWithContext

func (i *Attachment) ToAttachmentOutputWithContext(ctx context.Context) AttachmentOutput

type AttachmentArgs

type AttachmentArgs struct {
	// The ARN of an ALB Target Group.
	//
	// Deprecated: Use lb_target_group_arn instead
	AlbTargetGroupArn pulumi.StringPtrInput
	// Name of ASG to associate with the ELB.
	AutoscalingGroupName pulumi.StringInput
	// The name of the ELB.
	Elb pulumi.StringPtrInput
	// The ARN of a load balancer target group.
	LbTargetGroupArn pulumi.StringPtrInput
}

The set of arguments for constructing a Attachment resource.

func (AttachmentArgs) ElementType

func (AttachmentArgs) ElementType() reflect.Type

type AttachmentArray

type AttachmentArray []AttachmentInput

func (AttachmentArray) ElementType

func (AttachmentArray) ElementType() reflect.Type

func (AttachmentArray) ToAttachmentArrayOutput

func (i AttachmentArray) ToAttachmentArrayOutput() AttachmentArrayOutput

func (AttachmentArray) ToAttachmentArrayOutputWithContext

func (i AttachmentArray) ToAttachmentArrayOutputWithContext(ctx context.Context) AttachmentArrayOutput

type AttachmentArrayInput

type AttachmentArrayInput interface {
	pulumi.Input

	ToAttachmentArrayOutput() AttachmentArrayOutput
	ToAttachmentArrayOutputWithContext(context.Context) AttachmentArrayOutput
}

AttachmentArrayInput is an input type that accepts AttachmentArray and AttachmentArrayOutput values. You can construct a concrete instance of `AttachmentArrayInput` via:

AttachmentArray{ AttachmentArgs{...} }

type AttachmentArrayOutput

type AttachmentArrayOutput struct{ *pulumi.OutputState }

func (AttachmentArrayOutput) ElementType

func (AttachmentArrayOutput) ElementType() reflect.Type

func (AttachmentArrayOutput) Index

func (AttachmentArrayOutput) ToAttachmentArrayOutput

func (o AttachmentArrayOutput) ToAttachmentArrayOutput() AttachmentArrayOutput

func (AttachmentArrayOutput) ToAttachmentArrayOutputWithContext

func (o AttachmentArrayOutput) ToAttachmentArrayOutputWithContext(ctx context.Context) AttachmentArrayOutput

type AttachmentInput

type AttachmentInput interface {
	pulumi.Input

	ToAttachmentOutput() AttachmentOutput
	ToAttachmentOutputWithContext(ctx context.Context) AttachmentOutput
}

type AttachmentMap

type AttachmentMap map[string]AttachmentInput

func (AttachmentMap) ElementType

func (AttachmentMap) ElementType() reflect.Type

func (AttachmentMap) ToAttachmentMapOutput

func (i AttachmentMap) ToAttachmentMapOutput() AttachmentMapOutput

func (AttachmentMap) ToAttachmentMapOutputWithContext

func (i AttachmentMap) ToAttachmentMapOutputWithContext(ctx context.Context) AttachmentMapOutput

type AttachmentMapInput

type AttachmentMapInput interface {
	pulumi.Input

	ToAttachmentMapOutput() AttachmentMapOutput
	ToAttachmentMapOutputWithContext(context.Context) AttachmentMapOutput
}

AttachmentMapInput is an input type that accepts AttachmentMap and AttachmentMapOutput values. You can construct a concrete instance of `AttachmentMapInput` via:

AttachmentMap{ "key": AttachmentArgs{...} }

type AttachmentMapOutput

type AttachmentMapOutput struct{ *pulumi.OutputState }

func (AttachmentMapOutput) ElementType

func (AttachmentMapOutput) ElementType() reflect.Type

func (AttachmentMapOutput) MapIndex

func (AttachmentMapOutput) ToAttachmentMapOutput

func (o AttachmentMapOutput) ToAttachmentMapOutput() AttachmentMapOutput

func (AttachmentMapOutput) ToAttachmentMapOutputWithContext

func (o AttachmentMapOutput) ToAttachmentMapOutputWithContext(ctx context.Context) AttachmentMapOutput

type AttachmentOutput

type AttachmentOutput struct{ *pulumi.OutputState }

func (AttachmentOutput) ElementType

func (AttachmentOutput) ElementType() reflect.Type

func (AttachmentOutput) ToAttachmentOutput

func (o AttachmentOutput) ToAttachmentOutput() AttachmentOutput

func (AttachmentOutput) ToAttachmentOutputWithContext

func (o AttachmentOutput) ToAttachmentOutputWithContext(ctx context.Context) AttachmentOutput

type AttachmentState

type AttachmentState struct {
	// The ARN of an ALB Target Group.
	//
	// Deprecated: Use lb_target_group_arn instead
	AlbTargetGroupArn pulumi.StringPtrInput
	// Name of ASG to associate with the ELB.
	AutoscalingGroupName pulumi.StringPtrInput
	// The name of the ELB.
	Elb pulumi.StringPtrInput
	// The ARN of a load balancer target group.
	LbTargetGroupArn pulumi.StringPtrInput
}

func (AttachmentState) ElementType

func (AttachmentState) ElementType() reflect.Type

type GetAmiIdsArgs

type GetAmiIdsArgs struct {
	// A filter used to scope the list e.g., by tags. See [related docs](http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_Filter.html).
	Filters []GetAmiIdsFilter `pulumi:"filters"`
}

A collection of arguments for invoking getAmiIds.

type GetAmiIdsFilter

type GetAmiIdsFilter struct {
	// The name of the DescribeAutoScalingGroup filter. The recommended values are: `tag-key`, `tag-value`, and `tag:<tag name>`
	Name string `pulumi:"name"`
	// The value of the filter.
	Values []string `pulumi:"values"`
}

type GetAmiIdsFilterArgs

type GetAmiIdsFilterArgs struct {
	// The name of the DescribeAutoScalingGroup filter. The recommended values are: `tag-key`, `tag-value`, and `tag:<tag name>`
	Name pulumi.StringInput `pulumi:"name"`
	// The value of the filter.
	Values pulumi.StringArrayInput `pulumi:"values"`
}

func (GetAmiIdsFilterArgs) ElementType

func (GetAmiIdsFilterArgs) ElementType() reflect.Type

func (GetAmiIdsFilterArgs) ToGetAmiIdsFilterOutput

func (i GetAmiIdsFilterArgs) ToGetAmiIdsFilterOutput() GetAmiIdsFilterOutput

func (GetAmiIdsFilterArgs) ToGetAmiIdsFilterOutputWithContext

func (i GetAmiIdsFilterArgs) ToGetAmiIdsFilterOutputWithContext(ctx context.Context) GetAmiIdsFilterOutput

type GetAmiIdsFilterArray

type GetAmiIdsFilterArray []GetAmiIdsFilterInput

func (GetAmiIdsFilterArray) ElementType

func (GetAmiIdsFilterArray) ElementType() reflect.Type

func (GetAmiIdsFilterArray) ToGetAmiIdsFilterArrayOutput

func (i GetAmiIdsFilterArray) ToGetAmiIdsFilterArrayOutput() GetAmiIdsFilterArrayOutput

func (GetAmiIdsFilterArray) ToGetAmiIdsFilterArrayOutputWithContext

func (i GetAmiIdsFilterArray) ToGetAmiIdsFilterArrayOutputWithContext(ctx context.Context) GetAmiIdsFilterArrayOutput

type GetAmiIdsFilterArrayInput

type GetAmiIdsFilterArrayInput interface {
	pulumi.Input

	ToGetAmiIdsFilterArrayOutput() GetAmiIdsFilterArrayOutput
	ToGetAmiIdsFilterArrayOutputWithContext(context.Context) GetAmiIdsFilterArrayOutput
}

GetAmiIdsFilterArrayInput is an input type that accepts GetAmiIdsFilterArray and GetAmiIdsFilterArrayOutput values. You can construct a concrete instance of `GetAmiIdsFilterArrayInput` via:

GetAmiIdsFilterArray{ GetAmiIdsFilterArgs{...} }

type GetAmiIdsFilterArrayOutput

type GetAmiIdsFilterArrayOutput struct{ *pulumi.OutputState }

func (GetAmiIdsFilterArrayOutput) ElementType

func (GetAmiIdsFilterArrayOutput) ElementType() reflect.Type

func (GetAmiIdsFilterArrayOutput) Index

func (GetAmiIdsFilterArrayOutput) ToGetAmiIdsFilterArrayOutput

func (o GetAmiIdsFilterArrayOutput) ToGetAmiIdsFilterArrayOutput() GetAmiIdsFilterArrayOutput

func (GetAmiIdsFilterArrayOutput) ToGetAmiIdsFilterArrayOutputWithContext

func (o GetAmiIdsFilterArrayOutput) ToGetAmiIdsFilterArrayOutputWithContext(ctx context.Context) GetAmiIdsFilterArrayOutput

type GetAmiIdsFilterInput

type GetAmiIdsFilterInput interface {
	pulumi.Input

	ToGetAmiIdsFilterOutput() GetAmiIdsFilterOutput
	ToGetAmiIdsFilterOutputWithContext(context.Context) GetAmiIdsFilterOutput
}

GetAmiIdsFilterInput is an input type that accepts GetAmiIdsFilterArgs and GetAmiIdsFilterOutput values. You can construct a concrete instance of `GetAmiIdsFilterInput` via:

GetAmiIdsFilterArgs{...}

type GetAmiIdsFilterOutput

type GetAmiIdsFilterOutput struct{ *pulumi.OutputState }

func (GetAmiIdsFilterOutput) ElementType

func (GetAmiIdsFilterOutput) ElementType() reflect.Type

func (GetAmiIdsFilterOutput) Name

The name of the DescribeAutoScalingGroup filter. The recommended values are: `tag-key`, `tag-value`, and `tag:<tag name>`

func (GetAmiIdsFilterOutput) ToGetAmiIdsFilterOutput

func (o GetAmiIdsFilterOutput) ToGetAmiIdsFilterOutput() GetAmiIdsFilterOutput

func (GetAmiIdsFilterOutput) ToGetAmiIdsFilterOutputWithContext

func (o GetAmiIdsFilterOutput) ToGetAmiIdsFilterOutputWithContext(ctx context.Context) GetAmiIdsFilterOutput

func (GetAmiIdsFilterOutput) Values

The value of the filter.

type GetAmiIdsOutputArgs

type GetAmiIdsOutputArgs struct {
	// A filter used to scope the list e.g., by tags. See [related docs](http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_Filter.html).
	Filters GetAmiIdsFilterArrayInput `pulumi:"filters"`
}

A collection of arguments for invoking getAmiIds.

func (GetAmiIdsOutputArgs) ElementType

func (GetAmiIdsOutputArgs) ElementType() reflect.Type

type GetAmiIdsResult

type GetAmiIdsResult struct {
	// A list of the Autoscaling Groups Arns in the current region.
	Arns    []string          `pulumi:"arns"`
	Filters []GetAmiIdsFilter `pulumi:"filters"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of the Autoscaling Groups in the current region.
	Names []string `pulumi:"names"`
}

A collection of values returned by getAmiIds.

func GetAmiIds

func GetAmiIds(ctx *pulumi.Context, args *GetAmiIdsArgs, opts ...pulumi.InvokeOption) (*GetAmiIdsResult, error)

The Autoscaling Groups data source allows access to the list of AWS ASGs within a specific region. This will allow you to pass a list of AutoScaling Groups to other resources.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		groups, err := autoscaling.GetAmiIds(ctx, &autoscaling.GetAmiIdsArgs{
			Filters: []autoscaling.GetAmiIdsFilter{
				autoscaling.GetAmiIdsFilter{
					Name: "tag:Team",
					Values: []string{
						"Pets",
					},
				},
				autoscaling.GetAmiIdsFilter{
					Name: "tag-key",
					Values: []string{
						"Environment",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = autoscaling.NewNotification(ctx, "slackNotifications", &autoscaling.NotificationArgs{
			GroupNames: interface{}(groups.Names),
			Notifications: pulumi.StringArray{
				pulumi.String("autoscaling:EC2_INSTANCE_LAUNCH"),
				pulumi.String("autoscaling:EC2_INSTANCE_TERMINATE"),
				pulumi.String("autoscaling:EC2_INSTANCE_LAUNCH_ERROR"),
				pulumi.String("autoscaling:EC2_INSTANCE_TERMINATE_ERROR"),
			},
			TopicArn: pulumi.String("TOPIC ARN"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetAmiIdsResultOutput

type GetAmiIdsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAmiIds.

func (GetAmiIdsResultOutput) Arns

A list of the Autoscaling Groups Arns in the current region.

func (GetAmiIdsResultOutput) ElementType

func (GetAmiIdsResultOutput) ElementType() reflect.Type

func (GetAmiIdsResultOutput) Filters

func (GetAmiIdsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetAmiIdsResultOutput) Names

A list of the Autoscaling Groups in the current region.

func (GetAmiIdsResultOutput) ToGetAmiIdsResultOutput

func (o GetAmiIdsResultOutput) ToGetAmiIdsResultOutput() GetAmiIdsResultOutput

func (GetAmiIdsResultOutput) ToGetAmiIdsResultOutputWithContext

func (o GetAmiIdsResultOutput) ToGetAmiIdsResultOutputWithContext(ctx context.Context) GetAmiIdsResultOutput

type GetGroupLaunchTemplate

type GetGroupLaunchTemplate struct {
	// Name of the Auto Scaling Group.
	Id string `pulumi:"id"`
	// Specify the exact name of the desired autoscaling group.
	Name    string `pulumi:"name"`
	Version string `pulumi:"version"`
}

type GetGroupLaunchTemplateArgs

type GetGroupLaunchTemplateArgs struct {
	// Name of the Auto Scaling Group.
	Id pulumi.StringInput `pulumi:"id"`
	// Specify the exact name of the desired autoscaling group.
	Name    pulumi.StringInput `pulumi:"name"`
	Version pulumi.StringInput `pulumi:"version"`
}

func (GetGroupLaunchTemplateArgs) ElementType

func (GetGroupLaunchTemplateArgs) ElementType() reflect.Type

func (GetGroupLaunchTemplateArgs) ToGetGroupLaunchTemplateOutput

func (i GetGroupLaunchTemplateArgs) ToGetGroupLaunchTemplateOutput() GetGroupLaunchTemplateOutput

func (GetGroupLaunchTemplateArgs) ToGetGroupLaunchTemplateOutputWithContext

func (i GetGroupLaunchTemplateArgs) ToGetGroupLaunchTemplateOutputWithContext(ctx context.Context) GetGroupLaunchTemplateOutput

type GetGroupLaunchTemplateArray

type GetGroupLaunchTemplateArray []GetGroupLaunchTemplateInput

func (GetGroupLaunchTemplateArray) ElementType

func (GetGroupLaunchTemplateArray) ToGetGroupLaunchTemplateArrayOutput

func (i GetGroupLaunchTemplateArray) ToGetGroupLaunchTemplateArrayOutput() GetGroupLaunchTemplateArrayOutput

func (GetGroupLaunchTemplateArray) ToGetGroupLaunchTemplateArrayOutputWithContext

func (i GetGroupLaunchTemplateArray) ToGetGroupLaunchTemplateArrayOutputWithContext(ctx context.Context) GetGroupLaunchTemplateArrayOutput

type GetGroupLaunchTemplateArrayInput

type GetGroupLaunchTemplateArrayInput interface {
	pulumi.Input

	ToGetGroupLaunchTemplateArrayOutput() GetGroupLaunchTemplateArrayOutput
	ToGetGroupLaunchTemplateArrayOutputWithContext(context.Context) GetGroupLaunchTemplateArrayOutput
}

GetGroupLaunchTemplateArrayInput is an input type that accepts GetGroupLaunchTemplateArray and GetGroupLaunchTemplateArrayOutput values. You can construct a concrete instance of `GetGroupLaunchTemplateArrayInput` via:

GetGroupLaunchTemplateArray{ GetGroupLaunchTemplateArgs{...} }

type GetGroupLaunchTemplateArrayOutput

type GetGroupLaunchTemplateArrayOutput struct{ *pulumi.OutputState }

func (GetGroupLaunchTemplateArrayOutput) ElementType

func (GetGroupLaunchTemplateArrayOutput) Index

func (GetGroupLaunchTemplateArrayOutput) ToGetGroupLaunchTemplateArrayOutput

func (o GetGroupLaunchTemplateArrayOutput) ToGetGroupLaunchTemplateArrayOutput() GetGroupLaunchTemplateArrayOutput

func (GetGroupLaunchTemplateArrayOutput) ToGetGroupLaunchTemplateArrayOutputWithContext

func (o GetGroupLaunchTemplateArrayOutput) ToGetGroupLaunchTemplateArrayOutputWithContext(ctx context.Context) GetGroupLaunchTemplateArrayOutput

type GetGroupLaunchTemplateInput

type GetGroupLaunchTemplateInput interface {
	pulumi.Input

	ToGetGroupLaunchTemplateOutput() GetGroupLaunchTemplateOutput
	ToGetGroupLaunchTemplateOutputWithContext(context.Context) GetGroupLaunchTemplateOutput
}

GetGroupLaunchTemplateInput is an input type that accepts GetGroupLaunchTemplateArgs and GetGroupLaunchTemplateOutput values. You can construct a concrete instance of `GetGroupLaunchTemplateInput` via:

GetGroupLaunchTemplateArgs{...}

type GetGroupLaunchTemplateOutput

type GetGroupLaunchTemplateOutput struct{ *pulumi.OutputState }

func (GetGroupLaunchTemplateOutput) ElementType

func (GetGroupLaunchTemplateOutput) Id

Name of the Auto Scaling Group.

func (GetGroupLaunchTemplateOutput) Name

Specify the exact name of the desired autoscaling group.

func (GetGroupLaunchTemplateOutput) ToGetGroupLaunchTemplateOutput

func (o GetGroupLaunchTemplateOutput) ToGetGroupLaunchTemplateOutput() GetGroupLaunchTemplateOutput

func (GetGroupLaunchTemplateOutput) ToGetGroupLaunchTemplateOutputWithContext

func (o GetGroupLaunchTemplateOutput) ToGetGroupLaunchTemplateOutputWithContext(ctx context.Context) GetGroupLaunchTemplateOutput

func (GetGroupLaunchTemplateOutput) Version

type Group

type Group struct {
	pulumi.CustomResourceState

	// The ARN for this Auto Scaling Group
	Arn pulumi.StringOutput `pulumi:"arn"`
	// A list of one or more availability zones for the group. Used for EC2-Classic, attaching a network interface via id from a launch template and default subnets when not specified with `vpcZoneIdentifier` argument. Conflicts with `vpcZoneIdentifier`.
	AvailabilityZones pulumi.StringArrayOutput `pulumi:"availabilityZones"`
	// Indicates whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled.
	CapacityRebalance pulumi.BoolPtrOutput `pulumi:"capacityRebalance"`
	// The amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
	DefaultCooldown pulumi.IntOutput `pulumi:"defaultCooldown"`
	// The number of Amazon EC2 instances that
	// should be running in the group. (See also Waiting for
	// Capacity below.)
	DesiredCapacity pulumi.IntOutput `pulumi:"desiredCapacity"`
	// A list of metrics to collect. The allowed values are defined by the [underlying AWS API](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_EnableMetricsCollection.html).
	EnabledMetrics pulumi.StringArrayOutput `pulumi:"enabledMetrics"`
	// Allows deleting the Auto Scaling Group without waiting
	// for all instances in the pool to terminate.  You can force an Auto Scaling Group to delete
	// even if it's in the process of scaling a resource. Normally, this provider
	// drains all the instances before deleting the group.  This bypasses that
	// behavior and potentially leaves resources dangling.
	ForceDelete         pulumi.BoolPtrOutput `pulumi:"forceDelete"`
	ForceDeleteWarmPool pulumi.BoolPtrOutput `pulumi:"forceDeleteWarmPool"`
	// Time (in seconds) after instance comes into service before checking health.
	HealthCheckGracePeriod pulumi.IntPtrOutput `pulumi:"healthCheckGracePeriod"`
	// "EC2" or "ELB". Controls how health checking is done.
	HealthCheckType pulumi.StringOutput `pulumi:"healthCheckType"`
	// One or more
	// [Lifecycle Hooks](http://docs.aws.amazon.com/autoscaling/latest/userguide/lifecycle-hooks.html)
	// to attach to the Auto Scaling Group **before** instances are launched. The
	// syntax is exactly the same as the separate
	// `autoscaling.LifecycleHook`
	// resource, without the `autoscalingGroupName` attribute. Please note that this will only work when creating
	// a new Auto Scaling Group. For all other use-cases, please use `autoscaling.LifecycleHook` resource.
	InitialLifecycleHooks GroupInitialLifecycleHookArrayOutput `pulumi:"initialLifecycleHooks"`
	// If this block is configured, start an
	// [Instance Refresh](https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-refresh.html)
	// when this Auto Scaling Group is updated. Defined below.
	InstanceRefresh GroupInstanceRefreshPtrOutput `pulumi:"instanceRefresh"`
	// The name of the launch configuration to use.
	LaunchConfiguration pulumi.StringPtrOutput `pulumi:"launchConfiguration"`
	// Nested argument containing launch template settings along with the overrides to specify multiple instance types and weights. Defined below.
	LaunchTemplate GroupLaunchTemplatePtrOutput `pulumi:"launchTemplate"`
	// A list of elastic load balancer names to add to the autoscaling
	// group names. Only valid for classic load balancers. For ALBs, use `targetGroupArns` instead.
	LoadBalancers pulumi.StringArrayOutput `pulumi:"loadBalancers"`
	// The maximum amount of time, in seconds, that an instance can be in service, values must be either equal to 0 or between 86400 and 31536000 seconds.
	MaxInstanceLifetime pulumi.IntPtrOutput `pulumi:"maxInstanceLifetime"`
	// The maximum size of the Auto Scaling Group.
	MaxSize pulumi.IntOutput `pulumi:"maxSize"`
	// The granularity to associate with the metrics to collect. The only valid value is `1Minute`. Default is `1Minute`.
	MetricsGranularity pulumi.StringPtrOutput `pulumi:"metricsGranularity"`
	// Setting this causes the provider to wait for
	// this number of instances from this Auto Scaling Group to show up healthy in the
	// ELB only on creation. Updates will not wait on ELB instance number changes.
	// (See also Waiting for Capacity below.)
	MinElbCapacity pulumi.IntPtrOutput `pulumi:"minElbCapacity"`
	// Specifies the minimum number of instances to maintain in the warm pool. This helps you to ensure that there is always a certain number of warmed instances available to handle traffic spikes. Defaults to 0 if not specified.
	MinSize pulumi.IntOutput `pulumi:"minSize"`
	// Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details.
	MixedInstancesPolicy GroupMixedInstancesPolicyPtrOutput `pulumi:"mixedInstancesPolicy"`
	// The name of the Auto Scaling Group. By default generated by this provider. Conflicts with `namePrefix`.
	Name pulumi.StringOutput `pulumi:"name"`
	// Creates a unique name beginning with the specified
	// prefix. Conflicts with `name`.
	NamePrefix pulumi.StringOutput `pulumi:"namePrefix"`
	// The name of the placement group into which you'll launch your instances, if any.
	PlacementGroup pulumi.StringPtrOutput `pulumi:"placementGroup"`
	// Allows setting instance protection. The
	// Auto Scaling Group will not select instances with this setting for termination
	// during scale in events.
	ProtectFromScaleIn pulumi.BoolPtrOutput `pulumi:"protectFromScaleIn"`
	// The ARN of the service-linked role that the ASG will use to call other AWS services
	ServiceLinkedRoleArn pulumi.StringOutput `pulumi:"serviceLinkedRoleArn"`
	// A list of processes to suspend for the Auto Scaling Group. The allowed values are `Launch`, `Terminate`, `HealthCheck`, `ReplaceUnhealthy`, `AZRebalance`, `AlarmNotification`, `ScheduledActions`, `AddToLoadBalancer`.
	// Note that if you suspend either the `Launch` or `Terminate` process types, it can prevent your Auto Scaling Group from functioning properly.
	SuspendedProcesses pulumi.StringArrayOutput `pulumi:"suspendedProcesses"`
	// Configuration block(s) containing resource tags. Conflicts with `tags`. See Tag below for more details.
	Tags GroupTagArrayOutput `pulumi:"tags"`
	// Set of maps containing resource tags. Conflicts with `tag`. See Tags below for more details.
	//
	// Deprecated: Use tag instead
	TagsCollection pulumi.StringMapArrayOutput `pulumi:"tagsCollection"`
	// A set of `alb.TargetGroup` ARNs, for use with Application or Network Load Balancing.
	TargetGroupArns pulumi.StringArrayOutput `pulumi:"targetGroupArns"`
	// A list of policies to decide how the instances in the Auto Scaling Group should be terminated. The allowed values are `OldestInstance`, `NewestInstance`, `OldestLaunchConfiguration`, `ClosestToNextInstanceHour`, `OldestLaunchTemplate`, `AllocationStrategy`, `Default`.
	TerminationPolicies pulumi.StringArrayOutput `pulumi:"terminationPolicies"`
	// A list of subnet IDs to launch resources in. Subnets automatically determine which availability zones the group will reside. Conflicts with `availabilityZones`.
	VpcZoneIdentifiers pulumi.StringArrayOutput `pulumi:"vpcZoneIdentifiers"`
	// A maximum
	// [duration](https://golang.org/pkg/time/#ParseDuration) that this provider should
	// wait for ASG instances to be healthy before timing out.  (See also Waiting
	// for Capacity below.) Setting this to "0" causes
	// this provider to skip all Capacity Waiting behavior.
	WaitForCapacityTimeout pulumi.StringPtrOutput `pulumi:"waitForCapacityTimeout"`
	// Setting this will cause the provider to wait
	// for exactly this number of healthy instances from this Auto Scaling Group in
	// all attached load balancers on both create and update operations. (Takes
	// precedence over `minElbCapacity` behavior.)
	// (See also Waiting for Capacity below.)
	WaitForElbCapacity pulumi.IntPtrOutput `pulumi:"waitForElbCapacity"`
	// If this block is configured, add a [Warm Pool](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-warm-pools.html)
	// to the specified Auto Scaling group. Defined below
	WarmPool GroupWarmPoolPtrOutput `pulumi:"warmPool"`
}

Provides an Auto Scaling Group resource.

> **Note:** You must specify either `launchConfiguration`, `launchTemplate`, or `mixedInstancesPolicy`.

> **NOTE on Auto Scaling Groups and ASG Attachments:** This provider currently provides both a standalone `autoscaling.Attachment` resource (describing an ASG attached to an ELB or ALB), and an `autoscaling.Group` with `loadBalancers` and `targetGroupArns` defined in-line. These two methods are not mutually-exclusive. If `autoscaling.Attachment` resources are used, either alone or with inline `loadBalancers` or `targetGroupArns`, the `autoscaling.Group` resource must be configured to ignore changes to the `loadBalancers` and `targetGroupArns` arguments.

## Example Usage ### With Latest Version Of Launch Template

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		foobar, err := ec2.NewLaunchTemplate(ctx, "foobar", &ec2.LaunchTemplateArgs{
			NamePrefix:   pulumi.String("foobar"),
			ImageId:      pulumi.String("ami-1a2b3c"),
			InstanceType: pulumi.String("t2.micro"),
		})
		if err != nil {
			return err
		}
		_, err = autoscaling.NewGroup(ctx, "bar", &autoscaling.GroupArgs{
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-east-1a"),
			},
			DesiredCapacity: pulumi.Int(1),
			MaxSize:         pulumi.Int(1),
			MinSize:         pulumi.Int(1),
			LaunchTemplate: &autoscaling.GroupLaunchTemplateArgs{
				Id:      foobar.ID(),
				Version: pulumi.String(fmt.Sprintf("%v%v", "$", "Latest")),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Mixed Instances Policy

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleLaunchTemplate, err := ec2.NewLaunchTemplate(ctx, "exampleLaunchTemplate", &ec2.LaunchTemplateArgs{
			NamePrefix:   pulumi.String("example"),
			ImageId:      pulumi.Any(data.Aws_ami.Example.Id),
			InstanceType: pulumi.String("c5.large"),
		})
		if err != nil {
			return err
		}
		_, err = autoscaling.NewGroup(ctx, "exampleGroup", &autoscaling.GroupArgs{
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-east-1a"),
			},
			DesiredCapacity: pulumi.Int(1),
			MaxSize:         pulumi.Int(1),
			MinSize:         pulumi.Int(1),
			MixedInstancesPolicy: &autoscaling.GroupMixedInstancesPolicyArgs{
				LaunchTemplate: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs{
					LaunchTemplateSpecification: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{
						LaunchTemplateId: exampleLaunchTemplate.ID(),
					},
					Overrides: autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArray{
						&autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{
							InstanceType:     pulumi.String("c4.large"),
							WeightedCapacity: pulumi.String("3"),
						},
						&autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{
							InstanceType:     pulumi.String("c3.large"),
							WeightedCapacity: pulumi.String("2"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Mixed Instances Policy with Spot Instances and Capacity Rebalance

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleLaunchTemplate, err := ec2.NewLaunchTemplate(ctx, "exampleLaunchTemplate", &ec2.LaunchTemplateArgs{
			NamePrefix:   pulumi.String("example"),
			ImageId:      pulumi.Any(data.Aws_ami.Example.Id),
			InstanceType: pulumi.String("c5.large"),
		})
		if err != nil {
			return err
		}
		_, err = autoscaling.NewGroup(ctx, "exampleGroup", &autoscaling.GroupArgs{
			CapacityRebalance: pulumi.Bool(true),
			DesiredCapacity:   pulumi.Int(12),
			MaxSize:           pulumi.Int(15),
			MinSize:           pulumi.Int(12),
			VpcZoneIdentifiers: pulumi.StringArray{
				pulumi.Any(aws_subnet.Example1.Id),
				pulumi.Any(aws_subnet.Example2.Id),
			},
			MixedInstancesPolicy: &autoscaling.GroupMixedInstancesPolicyArgs{
				InstancesDistribution: &autoscaling.GroupMixedInstancesPolicyInstancesDistributionArgs{
					OnDemandBaseCapacity:                pulumi.Int(0),
					OnDemandPercentageAboveBaseCapacity: pulumi.Int(25),
					SpotAllocationStrategy:              pulumi.String("capacity-optimized"),
				},
				LaunchTemplate: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs{
					LaunchTemplateSpecification: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{
						LaunchTemplateId: exampleLaunchTemplate.ID(),
					},
					Overrides: autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArray{
						&autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{
							InstanceType:     pulumi.String("c4.large"),
							WeightedCapacity: pulumi.String("3"),
						},
						&autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{
							InstanceType:     pulumi.String("c3.large"),
							WeightedCapacity: pulumi.String("2"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Mixed Instances Policy with Instance level LaunchTemplateSpecification Overrides

When using a diverse instance set, some instance types might require a launch template with configuration values unique to that instance type such as a different AMI (Graviton2), architecture specific user data script, different EBS configuration, or different networking configuration.

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleLaunchTemplate, err := ec2.NewLaunchTemplate(ctx, "exampleLaunchTemplate", &ec2.LaunchTemplateArgs{
			NamePrefix:   pulumi.String("example"),
			ImageId:      pulumi.Any(data.Aws_ami.Example.Id),
			InstanceType: pulumi.String("c5.large"),
		})
		if err != nil {
			return err
		}
		example2, err := ec2.NewLaunchTemplate(ctx, "example2", &ec2.LaunchTemplateArgs{
			NamePrefix: pulumi.String("example2"),
			ImageId:    pulumi.Any(data.Aws_ami.Example2.Id),
		})
		if err != nil {
			return err
		}
		_, err = autoscaling.NewGroup(ctx, "exampleGroup", &autoscaling.GroupArgs{
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-east-1a"),
			},
			DesiredCapacity: pulumi.Int(1),
			MaxSize:         pulumi.Int(1),
			MinSize:         pulumi.Int(1),
			MixedInstancesPolicy: &autoscaling.GroupMixedInstancesPolicyArgs{
				LaunchTemplate: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateArgs{
					LaunchTemplateSpecification: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{
						LaunchTemplateId: exampleLaunchTemplate.ID(),
					},
					Overrides: autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArray{
						&autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{
							InstanceType:     pulumi.String("c4.large"),
							WeightedCapacity: pulumi.String("3"),
						},
						&autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{
							InstanceType: pulumi.String("c6g.large"),
							LaunchTemplateSpecification: &autoscaling.GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs{
								LaunchTemplateId: example2.ID(),
							},
							WeightedCapacity: pulumi.String("2"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Automatically refresh all instances after the group is updated

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleAmi, err := ec2.LookupAmi(ctx, &ec2.LookupAmiArgs{
			MostRecent: pulumi.BoolRef(true),
			Owners: []string{
				"amazon",
			},
			Filters: []ec2.GetAmiFilter{
				ec2.GetAmiFilter{
					Name: "name",
					Values: []string{
						"amzn-ami-hvm-*-x86_64-gp2",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		exampleLaunchTemplate, err := ec2.NewLaunchTemplate(ctx, "exampleLaunchTemplate", &ec2.LaunchTemplateArgs{
			ImageId:      pulumi.String(exampleAmi.Id),
			InstanceType: pulumi.String("t3.nano"),
		})
		if err != nil {
			return err
		}
		_, err = autoscaling.NewGroup(ctx, "exampleGroup", &autoscaling.GroupArgs{
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-east-1a"),
			},
			DesiredCapacity: pulumi.Int(1),
			MaxSize:         pulumi.Int(2),
			MinSize:         pulumi.Int(1),
			LaunchTemplate: &autoscaling.GroupLaunchTemplateArgs{
				Id:      exampleLaunchTemplate.ID(),
				Version: exampleLaunchTemplate.LatestVersion,
			},
			Tags: autoscaling.GroupTagArray{
				&autoscaling.GroupTagArgs{
					Key:               pulumi.String("Key"),
					Value:             pulumi.String("Value"),
					PropagateAtLaunch: pulumi.Bool(true),
				},
			},
			InstanceRefresh: &autoscaling.GroupInstanceRefreshArgs{
				Strategy: pulumi.String("Rolling"),
				Preferences: &autoscaling.GroupInstanceRefreshPreferencesArgs{
					MinHealthyPercentage: pulumi.Int(50),
				},
				Triggers: pulumi.StringArray{
					pulumi.String("tag"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Auto Scaling group with Warm Pool

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ec2.NewLaunchTemplate(ctx, "exampleLaunchTemplate", &ec2.LaunchTemplateArgs{
			NamePrefix:   pulumi.String("example"),
			ImageId:      pulumi.Any(data.Aws_ami.Example.Id),
			InstanceType: pulumi.String("c5.large"),
		})
		if err != nil {
			return err
		}
		_, err = autoscaling.NewGroup(ctx, "exampleGroup", &autoscaling.GroupArgs{
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-east-1a"),
			},
			DesiredCapacity: pulumi.Int(1),
			MaxSize:         pulumi.Int(5),
			MinSize:         pulumi.Int(1),
			WarmPool: &autoscaling.GroupWarmPoolArgs{
				PoolState:                pulumi.String("Stopped"),
				MinSize:                  pulumi.Int(1),
				MaxGroupPreparedCapacity: pulumi.Int(10),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Waiting for Capacity

A newly-created ASG is initially empty and begins to scale to `minSize` (or `desiredCapacity`, if specified) by launching instances using the provided Launch Configuration. These instances take time to launch and boot.

On ASG Update, changes to these values also take time to result in the target number of instances providing service.

This provider provides two mechanisms to help consistently manage ASG scale up time across dependent resources.

#### Waiting for ASG Capacity

The first is default behavior. This provider waits after ASG creation for `minSize` (or `desiredCapacity`, if specified) healthy instances to show up in the ASG before continuing.

If `minSize` or `desiredCapacity` are changed in a subsequent update, this provider will also wait for the correct number of healthy instances before continuing.

This provider considers an instance "healthy" when the ASG reports `HealthStatus: "Healthy"` and `LifecycleState: "InService"`. See the [AWS AutoScaling Docs](https://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingGroupLifecycle.html) for more information on an ASG's lifecycle.

This provider will wait for healthy instances for up to `waitForCapacityTimeout`. If ASG creation is taking more than a few minutes, it's worth investigating for scaling activity errors, which can be caused by problems with the selected Launch Configuration.

Setting `waitForCapacityTimeout` to `"0"` disables ASG Capacity waiting.

#### Waiting for ELB Capacity

The second mechanism is optional, and affects ASGs with attached ELBs specified via the `loadBalancers` attribute or with ALBs specified with `targetGroupArns`.

The `minElbCapacity` parameter causes this provider to wait for at least the requested number of instances to show up `"InService"` in all attached ELBs during ASG creation. It has no effect on ASG updates.

If `waitForElbCapacity` is set, this provider will wait for exactly that number of Instances to be `"InService"` in all attached ELBs on both creation and updates.

These parameters can be used to ensure that service is being provided before the provider moves on. If new instances don't pass the ELB's health checks for any reason, the apply will time out, and the ASG will be marked as tainted (i.e., marked to be destroyed in a follow up run).

As with ASG Capacity, this provider will wait for up to `waitForCapacityTimeout` for the proper number of instances to be healthy.

#### Troubleshooting Capacity Waiting Timeouts

If ASG creation takes more than a few minutes, this could indicate one of a number of configuration problems. See the [AWS Docs on Load Balancer Troubleshooting](https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elb-troubleshooting.html) for more information.

## Import

Auto Scaling Groups can be imported using the `name`, e.g.,

```sh

$ pulumi import aws:autoscaling/group:Group web web-asg

```

func GetGroup

func GetGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GroupState, opts ...pulumi.ResourceOption) (*Group, error)

GetGroup gets an existing Group 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 NewGroup

func NewGroup(ctx *pulumi.Context,
	name string, args *GroupArgs, opts ...pulumi.ResourceOption) (*Group, error)

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

func (*Group) ElementType

func (*Group) ElementType() reflect.Type

func (*Group) ToGroupOutput

func (i *Group) ToGroupOutput() GroupOutput

func (*Group) ToGroupOutputWithContext

func (i *Group) ToGroupOutputWithContext(ctx context.Context) GroupOutput

type GroupArgs

type GroupArgs struct {
	// A list of one or more availability zones for the group. Used for EC2-Classic, attaching a network interface via id from a launch template and default subnets when not specified with `vpcZoneIdentifier` argument. Conflicts with `vpcZoneIdentifier`.
	AvailabilityZones pulumi.StringArrayInput
	// Indicates whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled.
	CapacityRebalance pulumi.BoolPtrInput
	// The amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
	DefaultCooldown pulumi.IntPtrInput
	// The number of Amazon EC2 instances that
	// should be running in the group. (See also Waiting for
	// Capacity below.)
	DesiredCapacity pulumi.IntPtrInput
	// A list of metrics to collect. The allowed values are defined by the [underlying AWS API](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_EnableMetricsCollection.html).
	EnabledMetrics pulumi.StringArrayInput
	// Allows deleting the Auto Scaling Group without waiting
	// for all instances in the pool to terminate.  You can force an Auto Scaling Group to delete
	// even if it's in the process of scaling a resource. Normally, this provider
	// drains all the instances before deleting the group.  This bypasses that
	// behavior and potentially leaves resources dangling.
	ForceDelete         pulumi.BoolPtrInput
	ForceDeleteWarmPool pulumi.BoolPtrInput
	// Time (in seconds) after instance comes into service before checking health.
	HealthCheckGracePeriod pulumi.IntPtrInput
	// "EC2" or "ELB". Controls how health checking is done.
	HealthCheckType pulumi.StringPtrInput
	// One or more
	// [Lifecycle Hooks](http://docs.aws.amazon.com/autoscaling/latest/userguide/lifecycle-hooks.html)
	// to attach to the Auto Scaling Group **before** instances are launched. The
	// syntax is exactly the same as the separate
	// `autoscaling.LifecycleHook`
	// resource, without the `autoscalingGroupName` attribute. Please note that this will only work when creating
	// a new Auto Scaling Group. For all other use-cases, please use `autoscaling.LifecycleHook` resource.
	InitialLifecycleHooks GroupInitialLifecycleHookArrayInput
	// If this block is configured, start an
	// [Instance Refresh](https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-refresh.html)
	// when this Auto Scaling Group is updated. Defined below.
	InstanceRefresh GroupInstanceRefreshPtrInput
	// The name of the launch configuration to use.
	LaunchConfiguration pulumi.Input
	// Nested argument containing launch template settings along with the overrides to specify multiple instance types and weights. Defined below.
	LaunchTemplate GroupLaunchTemplatePtrInput
	// A list of elastic load balancer names to add to the autoscaling
	// group names. Only valid for classic load balancers. For ALBs, use `targetGroupArns` instead.
	LoadBalancers pulumi.StringArrayInput
	// The maximum amount of time, in seconds, that an instance can be in service, values must be either equal to 0 or between 86400 and 31536000 seconds.
	MaxInstanceLifetime pulumi.IntPtrInput
	// The maximum size of the Auto Scaling Group.
	MaxSize pulumi.IntInput
	// The granularity to associate with the metrics to collect. The only valid value is `1Minute`. Default is `1Minute`.
	MetricsGranularity pulumi.StringPtrInput
	// Setting this causes the provider to wait for
	// this number of instances from this Auto Scaling Group to show up healthy in the
	// ELB only on creation. Updates will not wait on ELB instance number changes.
	// (See also Waiting for Capacity below.)
	MinElbCapacity pulumi.IntPtrInput
	// Specifies the minimum number of instances to maintain in the warm pool. This helps you to ensure that there is always a certain number of warmed instances available to handle traffic spikes. Defaults to 0 if not specified.
	MinSize pulumi.IntInput
	// Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details.
	MixedInstancesPolicy GroupMixedInstancesPolicyPtrInput
	// The name of the Auto Scaling Group. By default generated by this provider. Conflicts with `namePrefix`.
	Name pulumi.StringPtrInput
	// Creates a unique name beginning with the specified
	// prefix. Conflicts with `name`.
	NamePrefix pulumi.StringPtrInput
	// The name of the placement group into which you'll launch your instances, if any.
	PlacementGroup pulumi.Input
	// Allows setting instance protection. The
	// Auto Scaling Group will not select instances with this setting for termination
	// during scale in events.
	ProtectFromScaleIn pulumi.BoolPtrInput
	// The ARN of the service-linked role that the ASG will use to call other AWS services
	ServiceLinkedRoleArn pulumi.StringPtrInput
	// A list of processes to suspend for the Auto Scaling Group. The allowed values are `Launch`, `Terminate`, `HealthCheck`, `ReplaceUnhealthy`, `AZRebalance`, `AlarmNotification`, `ScheduledActions`, `AddToLoadBalancer`.
	// Note that if you suspend either the `Launch` or `Terminate` process types, it can prevent your Auto Scaling Group from functioning properly.
	SuspendedProcesses pulumi.StringArrayInput
	// Configuration block(s) containing resource tags. Conflicts with `tags`. See Tag below for more details.
	Tags GroupTagArrayInput
	// Set of maps containing resource tags. Conflicts with `tag`. See Tags below for more details.
	//
	// Deprecated: Use tag instead
	TagsCollection pulumi.StringMapArrayInput
	// A set of `alb.TargetGroup` ARNs, for use with Application or Network Load Balancing.
	TargetGroupArns pulumi.StringArrayInput
	// A list of policies to decide how the instances in the Auto Scaling Group should be terminated. The allowed values are `OldestInstance`, `NewestInstance`, `OldestLaunchConfiguration`, `ClosestToNextInstanceHour`, `OldestLaunchTemplate`, `AllocationStrategy`, `Default`.
	TerminationPolicies pulumi.StringArrayInput
	// A list of subnet IDs to launch resources in. Subnets automatically determine which availability zones the group will reside. Conflicts with `availabilityZones`.
	VpcZoneIdentifiers pulumi.StringArrayInput
	// A maximum
	// [duration](https://golang.org/pkg/time/#ParseDuration) that this provider should
	// wait for ASG instances to be healthy before timing out.  (See also Waiting
	// for Capacity below.) Setting this to "0" causes
	// this provider to skip all Capacity Waiting behavior.
	WaitForCapacityTimeout pulumi.StringPtrInput
	// Setting this will cause the provider to wait
	// for exactly this number of healthy instances from this Auto Scaling Group in
	// all attached load balancers on both create and update operations. (Takes
	// precedence over `minElbCapacity` behavior.)
	// (See also Waiting for Capacity below.)
	WaitForElbCapacity pulumi.IntPtrInput
	// If this block is configured, add a [Warm Pool](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-warm-pools.html)
	// to the specified Auto Scaling group. Defined below
	WarmPool GroupWarmPoolPtrInput
}

The set of arguments for constructing a Group resource.

func (GroupArgs) ElementType

func (GroupArgs) ElementType() reflect.Type

type GroupArray

type GroupArray []GroupInput

func (GroupArray) ElementType

func (GroupArray) ElementType() reflect.Type

func (GroupArray) ToGroupArrayOutput

func (i GroupArray) ToGroupArrayOutput() GroupArrayOutput

func (GroupArray) ToGroupArrayOutputWithContext

func (i GroupArray) ToGroupArrayOutputWithContext(ctx context.Context) GroupArrayOutput

type GroupArrayInput

type GroupArrayInput interface {
	pulumi.Input

	ToGroupArrayOutput() GroupArrayOutput
	ToGroupArrayOutputWithContext(context.Context) GroupArrayOutput
}

GroupArrayInput is an input type that accepts GroupArray and GroupArrayOutput values. You can construct a concrete instance of `GroupArrayInput` via:

GroupArray{ GroupArgs{...} }

type GroupArrayOutput

type GroupArrayOutput struct{ *pulumi.OutputState }

func (GroupArrayOutput) ElementType

func (GroupArrayOutput) ElementType() reflect.Type

func (GroupArrayOutput) Index

func (GroupArrayOutput) ToGroupArrayOutput

func (o GroupArrayOutput) ToGroupArrayOutput() GroupArrayOutput

func (GroupArrayOutput) ToGroupArrayOutputWithContext

func (o GroupArrayOutput) ToGroupArrayOutputWithContext(ctx context.Context) GroupArrayOutput

type GroupInitialLifecycleHook

type GroupInitialLifecycleHook struct {
	DefaultResult       *string `pulumi:"defaultResult"`
	HeartbeatTimeout    *int    `pulumi:"heartbeatTimeout"`
	LifecycleTransition string  `pulumi:"lifecycleTransition"`
	// The name of the Auto Scaling Group. By default generated by this provider. Conflicts with `namePrefix`.
	Name                  string  `pulumi:"name"`
	NotificationMetadata  *string `pulumi:"notificationMetadata"`
	NotificationTargetArn *string `pulumi:"notificationTargetArn"`
	RoleArn               *string `pulumi:"roleArn"`
}

type GroupInitialLifecycleHookArgs

type GroupInitialLifecycleHookArgs struct {
	DefaultResult       pulumi.StringPtrInput `pulumi:"defaultResult"`
	HeartbeatTimeout    pulumi.IntPtrInput    `pulumi:"heartbeatTimeout"`
	LifecycleTransition pulumi.StringInput    `pulumi:"lifecycleTransition"`
	// The name of the Auto Scaling Group. By default generated by this provider. Conflicts with `namePrefix`.
	Name                  pulumi.StringInput    `pulumi:"name"`
	NotificationMetadata  pulumi.StringPtrInput `pulumi:"notificationMetadata"`
	NotificationTargetArn pulumi.StringPtrInput `pulumi:"notificationTargetArn"`
	RoleArn               pulumi.StringPtrInput `pulumi:"roleArn"`
}

func (GroupInitialLifecycleHookArgs) ElementType

func (GroupInitialLifecycleHookArgs) ToGroupInitialLifecycleHookOutput

func (i GroupInitialLifecycleHookArgs) ToGroupInitialLifecycleHookOutput() GroupInitialLifecycleHookOutput

func (GroupInitialLifecycleHookArgs) ToGroupInitialLifecycleHookOutputWithContext

func (i GroupInitialLifecycleHookArgs) ToGroupInitialLifecycleHookOutputWithContext(ctx context.Context) GroupInitialLifecycleHookOutput

type GroupInitialLifecycleHookArray

type GroupInitialLifecycleHookArray []GroupInitialLifecycleHookInput

func (GroupInitialLifecycleHookArray) ElementType

func (GroupInitialLifecycleHookArray) ToGroupInitialLifecycleHookArrayOutput

func (i GroupInitialLifecycleHookArray) ToGroupInitialLifecycleHookArrayOutput() GroupInitialLifecycleHookArrayOutput

func (GroupInitialLifecycleHookArray) ToGroupInitialLifecycleHookArrayOutputWithContext

func (i GroupInitialLifecycleHookArray) ToGroupInitialLifecycleHookArrayOutputWithContext(ctx context.Context) GroupInitialLifecycleHookArrayOutput

type GroupInitialLifecycleHookArrayInput

type GroupInitialLifecycleHookArrayInput interface {
	pulumi.Input

	ToGroupInitialLifecycleHookArrayOutput() GroupInitialLifecycleHookArrayOutput
	ToGroupInitialLifecycleHookArrayOutputWithContext(context.Context) GroupInitialLifecycleHookArrayOutput
}

GroupInitialLifecycleHookArrayInput is an input type that accepts GroupInitialLifecycleHookArray and GroupInitialLifecycleHookArrayOutput values. You can construct a concrete instance of `GroupInitialLifecycleHookArrayInput` via:

GroupInitialLifecycleHookArray{ GroupInitialLifecycleHookArgs{...} }

type GroupInitialLifecycleHookArrayOutput

type GroupInitialLifecycleHookArrayOutput struct{ *pulumi.OutputState }

func (GroupInitialLifecycleHookArrayOutput) ElementType

func (GroupInitialLifecycleHookArrayOutput) Index

func (GroupInitialLifecycleHookArrayOutput) ToGroupInitialLifecycleHookArrayOutput

func (o GroupInitialLifecycleHookArrayOutput) ToGroupInitialLifecycleHookArrayOutput() GroupInitialLifecycleHookArrayOutput

func (GroupInitialLifecycleHookArrayOutput) ToGroupInitialLifecycleHookArrayOutputWithContext

func (o GroupInitialLifecycleHookArrayOutput) ToGroupInitialLifecycleHookArrayOutputWithContext(ctx context.Context) GroupInitialLifecycleHookArrayOutput

type GroupInitialLifecycleHookInput

type GroupInitialLifecycleHookInput interface {
	pulumi.Input

	ToGroupInitialLifecycleHookOutput() GroupInitialLifecycleHookOutput
	ToGroupInitialLifecycleHookOutputWithContext(context.Context) GroupInitialLifecycleHookOutput
}

GroupInitialLifecycleHookInput is an input type that accepts GroupInitialLifecycleHookArgs and GroupInitialLifecycleHookOutput values. You can construct a concrete instance of `GroupInitialLifecycleHookInput` via:

GroupInitialLifecycleHookArgs{...}

type GroupInitialLifecycleHookOutput

type GroupInitialLifecycleHookOutput struct{ *pulumi.OutputState }

func (GroupInitialLifecycleHookOutput) DefaultResult

func (GroupInitialLifecycleHookOutput) ElementType

func (GroupInitialLifecycleHookOutput) HeartbeatTimeout

func (GroupInitialLifecycleHookOutput) LifecycleTransition

func (o GroupInitialLifecycleHookOutput) LifecycleTransition() pulumi.StringOutput

func (GroupInitialLifecycleHookOutput) Name

The name of the Auto Scaling Group. By default generated by this provider. Conflicts with `namePrefix`.

func (GroupInitialLifecycleHookOutput) NotificationMetadata

func (o GroupInitialLifecycleHookOutput) NotificationMetadata() pulumi.StringPtrOutput

func (GroupInitialLifecycleHookOutput) NotificationTargetArn

func (o GroupInitialLifecycleHookOutput) NotificationTargetArn() pulumi.StringPtrOutput

func (GroupInitialLifecycleHookOutput) RoleArn

func (GroupInitialLifecycleHookOutput) ToGroupInitialLifecycleHookOutput

func (o GroupInitialLifecycleHookOutput) ToGroupInitialLifecycleHookOutput() GroupInitialLifecycleHookOutput

func (GroupInitialLifecycleHookOutput) ToGroupInitialLifecycleHookOutputWithContext

func (o GroupInitialLifecycleHookOutput) ToGroupInitialLifecycleHookOutputWithContext(ctx context.Context) GroupInitialLifecycleHookOutput

type GroupInput

type GroupInput interface {
	pulumi.Input

	ToGroupOutput() GroupOutput
	ToGroupOutputWithContext(ctx context.Context) GroupOutput
}

type GroupInstanceRefresh

type GroupInstanceRefresh struct {
	// Override default parameters for Instance Refresh.
	Preferences *GroupInstanceRefreshPreferences `pulumi:"preferences"`
	// The strategy to use for instance refresh. The only allowed value is `Rolling`. See [StartInstanceRefresh Action](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_StartInstanceRefresh.html#API_StartInstanceRefresh_RequestParameters) for more information.
	Strategy string `pulumi:"strategy"`
	// Set of additional property names that will trigger an Instance Refresh. A refresh will always be triggered by a change in any of `launchConfiguration`, `launchTemplate`, or `mixedInstancesPolicy`.
	Triggers []string `pulumi:"triggers"`
}

type GroupInstanceRefreshArgs

type GroupInstanceRefreshArgs struct {
	// Override default parameters for Instance Refresh.
	Preferences GroupInstanceRefreshPreferencesPtrInput `pulumi:"preferences"`
	// The strategy to use for instance refresh. The only allowed value is `Rolling`. See [StartInstanceRefresh Action](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_StartInstanceRefresh.html#API_StartInstanceRefresh_RequestParameters) for more information.
	Strategy pulumi.StringInput `pulumi:"strategy"`
	// Set of additional property names that will trigger an Instance Refresh. A refresh will always be triggered by a change in any of `launchConfiguration`, `launchTemplate`, or `mixedInstancesPolicy`.
	Triggers pulumi.StringArrayInput `pulumi:"triggers"`
}

func (GroupInstanceRefreshArgs) ElementType

func (GroupInstanceRefreshArgs) ElementType() reflect.Type

func (GroupInstanceRefreshArgs) ToGroupInstanceRefreshOutput

func (i GroupInstanceRefreshArgs) ToGroupInstanceRefreshOutput() GroupInstanceRefreshOutput

func (GroupInstanceRefreshArgs) ToGroupInstanceRefreshOutputWithContext

func (i GroupInstanceRefreshArgs) ToGroupInstanceRefreshOutputWithContext(ctx context.Context) GroupInstanceRefreshOutput

func (GroupInstanceRefreshArgs) ToGroupInstanceRefreshPtrOutput

func (i GroupInstanceRefreshArgs) ToGroupInstanceRefreshPtrOutput() GroupInstanceRefreshPtrOutput

func (GroupInstanceRefreshArgs) ToGroupInstanceRefreshPtrOutputWithContext

func (i GroupInstanceRefreshArgs) ToGroupInstanceRefreshPtrOutputWithContext(ctx context.Context) GroupInstanceRefreshPtrOutput

type GroupInstanceRefreshInput

type GroupInstanceRefreshInput interface {
	pulumi.Input

	ToGroupInstanceRefreshOutput() GroupInstanceRefreshOutput
	ToGroupInstanceRefreshOutputWithContext(context.Context) GroupInstanceRefreshOutput
}

GroupInstanceRefreshInput is an input type that accepts GroupInstanceRefreshArgs and GroupInstanceRefreshOutput values. You can construct a concrete instance of `GroupInstanceRefreshInput` via:

GroupInstanceRefreshArgs{...}

type GroupInstanceRefreshOutput

type GroupInstanceRefreshOutput struct{ *pulumi.OutputState }

func (GroupInstanceRefreshOutput) ElementType

func (GroupInstanceRefreshOutput) ElementType() reflect.Type

func (GroupInstanceRefreshOutput) Preferences

Override default parameters for Instance Refresh.

func (GroupInstanceRefreshOutput) Strategy

The strategy to use for instance refresh. The only allowed value is `Rolling`. See [StartInstanceRefresh Action](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_StartInstanceRefresh.html#API_StartInstanceRefresh_RequestParameters) for more information.

func (GroupInstanceRefreshOutput) ToGroupInstanceRefreshOutput

func (o GroupInstanceRefreshOutput) ToGroupInstanceRefreshOutput() GroupInstanceRefreshOutput

func (GroupInstanceRefreshOutput) ToGroupInstanceRefreshOutputWithContext

func (o GroupInstanceRefreshOutput) ToGroupInstanceRefreshOutputWithContext(ctx context.Context) GroupInstanceRefreshOutput

func (GroupInstanceRefreshOutput) ToGroupInstanceRefreshPtrOutput

func (o GroupInstanceRefreshOutput) ToGroupInstanceRefreshPtrOutput() GroupInstanceRefreshPtrOutput

func (GroupInstanceRefreshOutput) ToGroupInstanceRefreshPtrOutputWithContext

func (o GroupInstanceRefreshOutput) ToGroupInstanceRefreshPtrOutputWithContext(ctx context.Context) GroupInstanceRefreshPtrOutput

func (GroupInstanceRefreshOutput) Triggers

Set of additional property names that will trigger an Instance Refresh. A refresh will always be triggered by a change in any of `launchConfiguration`, `launchTemplate`, or `mixedInstancesPolicy`.

type GroupInstanceRefreshPreferences

type GroupInstanceRefreshPreferences struct {
	// The number of seconds to wait after a checkpoint. Defaults to `3600`.
	CheckpointDelay *string `pulumi:"checkpointDelay"`
	// List of percentages for each checkpoint. Values must be unique and in ascending order. To replace all instances, the final number must be `100`.
	CheckpointPercentages []int `pulumi:"checkpointPercentages"`
	// The number of seconds until a newly launched instance is configured and ready to use. Default behavior is to use the Auto Scaling Group's health check grace period.
	InstanceWarmup *string `pulumi:"instanceWarmup"`
	// The amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to `90`.
	MinHealthyPercentage *int `pulumi:"minHealthyPercentage"`
}

type GroupInstanceRefreshPreferencesArgs

type GroupInstanceRefreshPreferencesArgs struct {
	// The number of seconds to wait after a checkpoint. Defaults to `3600`.
	CheckpointDelay pulumi.StringPtrInput `pulumi:"checkpointDelay"`
	// List of percentages for each checkpoint. Values must be unique and in ascending order. To replace all instances, the final number must be `100`.
	CheckpointPercentages pulumi.IntArrayInput `pulumi:"checkpointPercentages"`
	// The number of seconds until a newly launched instance is configured and ready to use. Default behavior is to use the Auto Scaling Group's health check grace period.
	InstanceWarmup pulumi.StringPtrInput `pulumi:"instanceWarmup"`
	// The amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to `90`.
	MinHealthyPercentage pulumi.IntPtrInput `pulumi:"minHealthyPercentage"`
}

func (GroupInstanceRefreshPreferencesArgs) ElementType

func (GroupInstanceRefreshPreferencesArgs) ToGroupInstanceRefreshPreferencesOutput

func (i GroupInstanceRefreshPreferencesArgs) ToGroupInstanceRefreshPreferencesOutput() GroupInstanceRefreshPreferencesOutput

func (GroupInstanceRefreshPreferencesArgs) ToGroupInstanceRefreshPreferencesOutputWithContext

func (i GroupInstanceRefreshPreferencesArgs) ToGroupInstanceRefreshPreferencesOutputWithContext(ctx context.Context) GroupInstanceRefreshPreferencesOutput

func (GroupInstanceRefreshPreferencesArgs) ToGroupInstanceRefreshPreferencesPtrOutput

func (i GroupInstanceRefreshPreferencesArgs) ToGroupInstanceRefreshPreferencesPtrOutput() GroupInstanceRefreshPreferencesPtrOutput

func (GroupInstanceRefreshPreferencesArgs) ToGroupInstanceRefreshPreferencesPtrOutputWithContext

func (i GroupInstanceRefreshPreferencesArgs) ToGroupInstanceRefreshPreferencesPtrOutputWithContext(ctx context.Context) GroupInstanceRefreshPreferencesPtrOutput

type GroupInstanceRefreshPreferencesInput

type GroupInstanceRefreshPreferencesInput interface {
	pulumi.Input

	ToGroupInstanceRefreshPreferencesOutput() GroupInstanceRefreshPreferencesOutput
	ToGroupInstanceRefreshPreferencesOutputWithContext(context.Context) GroupInstanceRefreshPreferencesOutput
}

GroupInstanceRefreshPreferencesInput is an input type that accepts GroupInstanceRefreshPreferencesArgs and GroupInstanceRefreshPreferencesOutput values. You can construct a concrete instance of `GroupInstanceRefreshPreferencesInput` via:

GroupInstanceRefreshPreferencesArgs{...}

type GroupInstanceRefreshPreferencesOutput

type GroupInstanceRefreshPreferencesOutput struct{ *pulumi.OutputState }

func (GroupInstanceRefreshPreferencesOutput) CheckpointDelay

The number of seconds to wait after a checkpoint. Defaults to `3600`.

func (GroupInstanceRefreshPreferencesOutput) CheckpointPercentages

List of percentages for each checkpoint. Values must be unique and in ascending order. To replace all instances, the final number must be `100`.

func (GroupInstanceRefreshPreferencesOutput) ElementType

func (GroupInstanceRefreshPreferencesOutput) InstanceWarmup

The number of seconds until a newly launched instance is configured and ready to use. Default behavior is to use the Auto Scaling Group's health check grace period.

func (GroupInstanceRefreshPreferencesOutput) MinHealthyPercentage

The amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to `90`.

func (GroupInstanceRefreshPreferencesOutput) ToGroupInstanceRefreshPreferencesOutput

func (o GroupInstanceRefreshPreferencesOutput) ToGroupInstanceRefreshPreferencesOutput() GroupInstanceRefreshPreferencesOutput

func (GroupInstanceRefreshPreferencesOutput) ToGroupInstanceRefreshPreferencesOutputWithContext

func (o GroupInstanceRefreshPreferencesOutput) ToGroupInstanceRefreshPreferencesOutputWithContext(ctx context.Context) GroupInstanceRefreshPreferencesOutput

func (GroupInstanceRefreshPreferencesOutput) ToGroupInstanceRefreshPreferencesPtrOutput

func (o GroupInstanceRefreshPreferencesOutput) ToGroupInstanceRefreshPreferencesPtrOutput() GroupInstanceRefreshPreferencesPtrOutput

func (GroupInstanceRefreshPreferencesOutput) ToGroupInstanceRefreshPreferencesPtrOutputWithContext

func (o GroupInstanceRefreshPreferencesOutput) ToGroupInstanceRefreshPreferencesPtrOutputWithContext(ctx context.Context) GroupInstanceRefreshPreferencesPtrOutput

type GroupInstanceRefreshPreferencesPtrInput

type GroupInstanceRefreshPreferencesPtrInput interface {
	pulumi.Input

	ToGroupInstanceRefreshPreferencesPtrOutput() GroupInstanceRefreshPreferencesPtrOutput
	ToGroupInstanceRefreshPreferencesPtrOutputWithContext(context.Context) GroupInstanceRefreshPreferencesPtrOutput
}

GroupInstanceRefreshPreferencesPtrInput is an input type that accepts GroupInstanceRefreshPreferencesArgs, GroupInstanceRefreshPreferencesPtr and GroupInstanceRefreshPreferencesPtrOutput values. You can construct a concrete instance of `GroupInstanceRefreshPreferencesPtrInput` via:

        GroupInstanceRefreshPreferencesArgs{...}

or:

        nil

type GroupInstanceRefreshPreferencesPtrOutput

type GroupInstanceRefreshPreferencesPtrOutput struct{ *pulumi.OutputState }

func (GroupInstanceRefreshPreferencesPtrOutput) CheckpointDelay

The number of seconds to wait after a checkpoint. Defaults to `3600`.

func (GroupInstanceRefreshPreferencesPtrOutput) CheckpointPercentages

List of percentages for each checkpoint. Values must be unique and in ascending order. To replace all instances, the final number must be `100`.

func (GroupInstanceRefreshPreferencesPtrOutput) Elem

func (GroupInstanceRefreshPreferencesPtrOutput) ElementType

func (GroupInstanceRefreshPreferencesPtrOutput) InstanceWarmup

The number of seconds until a newly launched instance is configured and ready to use. Default behavior is to use the Auto Scaling Group's health check grace period.

func (GroupInstanceRefreshPreferencesPtrOutput) MinHealthyPercentage

The amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, as a percentage of the desired capacity of the Auto Scaling group. Defaults to `90`.

func (GroupInstanceRefreshPreferencesPtrOutput) ToGroupInstanceRefreshPreferencesPtrOutput

func (o GroupInstanceRefreshPreferencesPtrOutput) ToGroupInstanceRefreshPreferencesPtrOutput() GroupInstanceRefreshPreferencesPtrOutput

func (GroupInstanceRefreshPreferencesPtrOutput) ToGroupInstanceRefreshPreferencesPtrOutputWithContext

func (o GroupInstanceRefreshPreferencesPtrOutput) ToGroupInstanceRefreshPreferencesPtrOutputWithContext(ctx context.Context) GroupInstanceRefreshPreferencesPtrOutput

type GroupInstanceRefreshPtrInput

type GroupInstanceRefreshPtrInput interface {
	pulumi.Input

	ToGroupInstanceRefreshPtrOutput() GroupInstanceRefreshPtrOutput
	ToGroupInstanceRefreshPtrOutputWithContext(context.Context) GroupInstanceRefreshPtrOutput
}

GroupInstanceRefreshPtrInput is an input type that accepts GroupInstanceRefreshArgs, GroupInstanceRefreshPtr and GroupInstanceRefreshPtrOutput values. You can construct a concrete instance of `GroupInstanceRefreshPtrInput` via:

        GroupInstanceRefreshArgs{...}

or:

        nil

type GroupInstanceRefreshPtrOutput

type GroupInstanceRefreshPtrOutput struct{ *pulumi.OutputState }

func (GroupInstanceRefreshPtrOutput) Elem

func (GroupInstanceRefreshPtrOutput) ElementType

func (GroupInstanceRefreshPtrOutput) Preferences

Override default parameters for Instance Refresh.

func (GroupInstanceRefreshPtrOutput) Strategy

The strategy to use for instance refresh. The only allowed value is `Rolling`. See [StartInstanceRefresh Action](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_StartInstanceRefresh.html#API_StartInstanceRefresh_RequestParameters) for more information.

func (GroupInstanceRefreshPtrOutput) ToGroupInstanceRefreshPtrOutput

func (o GroupInstanceRefreshPtrOutput) ToGroupInstanceRefreshPtrOutput() GroupInstanceRefreshPtrOutput

func (GroupInstanceRefreshPtrOutput) ToGroupInstanceRefreshPtrOutputWithContext

func (o GroupInstanceRefreshPtrOutput) ToGroupInstanceRefreshPtrOutputWithContext(ctx context.Context) GroupInstanceRefreshPtrOutput

func (GroupInstanceRefreshPtrOutput) Triggers

Set of additional property names that will trigger an Instance Refresh. A refresh will always be triggered by a change in any of `launchConfiguration`, `launchTemplate`, or `mixedInstancesPolicy`.

type GroupLaunchTemplate

type GroupLaunchTemplate struct {
	// The ID of the launch template. Conflicts with `name`.
	Id *string `pulumi:"id"`
	// The name of the Auto Scaling Group. By default generated by this provider. Conflicts with `namePrefix`.
	Name *string `pulumi:"name"`
	// Template version. Can be version number, `$Latest`, or `$Default`. (Default: `$Default`).
	Version *string `pulumi:"version"`
}

type GroupLaunchTemplateArgs

type GroupLaunchTemplateArgs struct {
	// The ID of the launch template. Conflicts with `name`.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// The name of the Auto Scaling Group. By default generated by this provider. Conflicts with `namePrefix`.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Template version. Can be version number, `$Latest`, or `$Default`. (Default: `$Default`).
	Version pulumi.StringPtrInput `pulumi:"version"`
}

func (GroupLaunchTemplateArgs) ElementType

func (GroupLaunchTemplateArgs) ElementType() reflect.Type

func (GroupLaunchTemplateArgs) ToGroupLaunchTemplateOutput

func (i GroupLaunchTemplateArgs) ToGroupLaunchTemplateOutput() GroupLaunchTemplateOutput

func (GroupLaunchTemplateArgs) ToGroupLaunchTemplateOutputWithContext

func (i GroupLaunchTemplateArgs) ToGroupLaunchTemplateOutputWithContext(ctx context.Context) GroupLaunchTemplateOutput

func (GroupLaunchTemplateArgs) ToGroupLaunchTemplatePtrOutput

func (i GroupLaunchTemplateArgs) ToGroupLaunchTemplatePtrOutput() GroupLaunchTemplatePtrOutput

func (GroupLaunchTemplateArgs) ToGroupLaunchTemplatePtrOutputWithContext

func (i GroupLaunchTemplateArgs) ToGroupLaunchTemplatePtrOutputWithContext(ctx context.Context) GroupLaunchTemplatePtrOutput

type GroupLaunchTemplateInput

type GroupLaunchTemplateInput interface {
	pulumi.Input

	ToGroupLaunchTemplateOutput() GroupLaunchTemplateOutput
	ToGroupLaunchTemplateOutputWithContext(context.Context) GroupLaunchTemplateOutput
}

GroupLaunchTemplateInput is an input type that accepts GroupLaunchTemplateArgs and GroupLaunchTemplateOutput values. You can construct a concrete instance of `GroupLaunchTemplateInput` via:

GroupLaunchTemplateArgs{...}

type GroupLaunchTemplateOutput

type GroupLaunchTemplateOutput struct{ *pulumi.OutputState }

func (GroupLaunchTemplateOutput) ElementType

func (GroupLaunchTemplateOutput) ElementType() reflect.Type

func (GroupLaunchTemplateOutput) Id

The ID of the launch template. Conflicts with `name`.

func (GroupLaunchTemplateOutput) Name

The name of the Auto Scaling Group. By default generated by this provider. Conflicts with `namePrefix`.

func (GroupLaunchTemplateOutput) ToGroupLaunchTemplateOutput

func (o GroupLaunchTemplateOutput) ToGroupLaunchTemplateOutput() GroupLaunchTemplateOutput

func (GroupLaunchTemplateOutput) ToGroupLaunchTemplateOutputWithContext

func (o GroupLaunchTemplateOutput) ToGroupLaunchTemplateOutputWithContext(ctx context.Context) GroupLaunchTemplateOutput

func (GroupLaunchTemplateOutput) ToGroupLaunchTemplatePtrOutput

func (o GroupLaunchTemplateOutput) ToGroupLaunchTemplatePtrOutput() GroupLaunchTemplatePtrOutput

func (GroupLaunchTemplateOutput) ToGroupLaunchTemplatePtrOutputWithContext

func (o GroupLaunchTemplateOutput) ToGroupLaunchTemplatePtrOutputWithContext(ctx context.Context) GroupLaunchTemplatePtrOutput

func (GroupLaunchTemplateOutput) Version

Template version. Can be version number, `$Latest`, or `$Default`. (Default: `$Default`).

type GroupLaunchTemplatePtrInput

type GroupLaunchTemplatePtrInput interface {
	pulumi.Input

	ToGroupLaunchTemplatePtrOutput() GroupLaunchTemplatePtrOutput
	ToGroupLaunchTemplatePtrOutputWithContext(context.Context) GroupLaunchTemplatePtrOutput
}

GroupLaunchTemplatePtrInput is an input type that accepts GroupLaunchTemplateArgs, GroupLaunchTemplatePtr and GroupLaunchTemplatePtrOutput values. You can construct a concrete instance of `GroupLaunchTemplatePtrInput` via:

        GroupLaunchTemplateArgs{...}

or:

        nil

type GroupLaunchTemplatePtrOutput

type GroupLaunchTemplatePtrOutput struct{ *pulumi.OutputState }

func (GroupLaunchTemplatePtrOutput) Elem

func (GroupLaunchTemplatePtrOutput) ElementType

func (GroupLaunchTemplatePtrOutput) Id

The ID of the launch template. Conflicts with `name`.

func (GroupLaunchTemplatePtrOutput) Name

The name of the Auto Scaling Group. By default generated by this provider. Conflicts with `namePrefix`.

func (GroupLaunchTemplatePtrOutput) ToGroupLaunchTemplatePtrOutput

func (o GroupLaunchTemplatePtrOutput) ToGroupLaunchTemplatePtrOutput() GroupLaunchTemplatePtrOutput

func (GroupLaunchTemplatePtrOutput) ToGroupLaunchTemplatePtrOutputWithContext

func (o GroupLaunchTemplatePtrOutput) ToGroupLaunchTemplatePtrOutputWithContext(ctx context.Context) GroupLaunchTemplatePtrOutput

func (GroupLaunchTemplatePtrOutput) Version

Template version. Can be version number, `$Latest`, or `$Default`. (Default: `$Default`).

type GroupMap

type GroupMap map[string]GroupInput

func (GroupMap) ElementType

func (GroupMap) ElementType() reflect.Type

func (GroupMap) ToGroupMapOutput

func (i GroupMap) ToGroupMapOutput() GroupMapOutput

func (GroupMap) ToGroupMapOutputWithContext

func (i GroupMap) ToGroupMapOutputWithContext(ctx context.Context) GroupMapOutput

type GroupMapInput

type GroupMapInput interface {
	pulumi.Input

	ToGroupMapOutput() GroupMapOutput
	ToGroupMapOutputWithContext(context.Context) GroupMapOutput
}

GroupMapInput is an input type that accepts GroupMap and GroupMapOutput values. You can construct a concrete instance of `GroupMapInput` via:

GroupMap{ "key": GroupArgs{...} }

type GroupMapOutput

type GroupMapOutput struct{ *pulumi.OutputState }

func (GroupMapOutput) ElementType

func (GroupMapOutput) ElementType() reflect.Type

func (GroupMapOutput) MapIndex

func (GroupMapOutput) ToGroupMapOutput

func (o GroupMapOutput) ToGroupMapOutput() GroupMapOutput

func (GroupMapOutput) ToGroupMapOutputWithContext

func (o GroupMapOutput) ToGroupMapOutputWithContext(ctx context.Context) GroupMapOutput

type GroupMixedInstancesPolicy

type GroupMixedInstancesPolicy struct {
	// Nested argument containing settings on how to mix on-demand and Spot instances in the Auto Scaling group. Defined below.
	InstancesDistribution *GroupMixedInstancesPolicyInstancesDistribution `pulumi:"instancesDistribution"`
	// Nested argument containing launch template settings along with the overrides to specify multiple instance types and weights. Defined below.
	LaunchTemplate GroupMixedInstancesPolicyLaunchTemplate `pulumi:"launchTemplate"`
}

type GroupMixedInstancesPolicyArgs

type GroupMixedInstancesPolicyArgs struct {
	// Nested argument containing settings on how to mix on-demand and Spot instances in the Auto Scaling group. Defined below.
	InstancesDistribution GroupMixedInstancesPolicyInstancesDistributionPtrInput `pulumi:"instancesDistribution"`
	// Nested argument containing launch template settings along with the overrides to specify multiple instance types and weights. Defined below.
	LaunchTemplate GroupMixedInstancesPolicyLaunchTemplateInput `pulumi:"launchTemplate"`
}

func (GroupMixedInstancesPolicyArgs) ElementType

func (GroupMixedInstancesPolicyArgs) ToGroupMixedInstancesPolicyOutput

func (i GroupMixedInstancesPolicyArgs) ToGroupMixedInstancesPolicyOutput() GroupMixedInstancesPolicyOutput

func (GroupMixedInstancesPolicyArgs) ToGroupMixedInstancesPolicyOutputWithContext

func (i GroupMixedInstancesPolicyArgs) ToGroupMixedInstancesPolicyOutputWithContext(ctx context.Context) GroupMixedInstancesPolicyOutput

func (GroupMixedInstancesPolicyArgs) ToGroupMixedInstancesPolicyPtrOutput

func (i GroupMixedInstancesPolicyArgs) ToGroupMixedInstancesPolicyPtrOutput() GroupMixedInstancesPolicyPtrOutput

func (GroupMixedInstancesPolicyArgs) ToGroupMixedInstancesPolicyPtrOutputWithContext

func (i GroupMixedInstancesPolicyArgs) ToGroupMixedInstancesPolicyPtrOutputWithContext(ctx context.Context) GroupMixedInstancesPolicyPtrOutput

type GroupMixedInstancesPolicyInput

type GroupMixedInstancesPolicyInput interface {
	pulumi.Input

	ToGroupMixedInstancesPolicyOutput() GroupMixedInstancesPolicyOutput
	ToGroupMixedInstancesPolicyOutputWithContext(context.Context) GroupMixedInstancesPolicyOutput
}

GroupMixedInstancesPolicyInput is an input type that accepts GroupMixedInstancesPolicyArgs and GroupMixedInstancesPolicyOutput values. You can construct a concrete instance of `GroupMixedInstancesPolicyInput` via:

GroupMixedInstancesPolicyArgs{...}

type GroupMixedInstancesPolicyInstancesDistribution

type GroupMixedInstancesPolicyInstancesDistribution struct {
	// Strategy to use when launching on-demand instances. Valid values: `prioritized`. Default: `prioritized`.
	OnDemandAllocationStrategy *string `pulumi:"onDemandAllocationStrategy"`
	// Absolute minimum amount of desired capacity that must be fulfilled by on-demand instances. Default: `0`.
	OnDemandBaseCapacity *int `pulumi:"onDemandBaseCapacity"`
	// Percentage split between on-demand and Spot instances above the base on-demand capacity. Default: `100`.
	OnDemandPercentageAboveBaseCapacity *int `pulumi:"onDemandPercentageAboveBaseCapacity"`
	// How to allocate capacity across the Spot pools. Valid values: `lowest-price`, `capacity-optimized`, `capacity-optimized-prioritized`. Default: `lowest-price`.
	SpotAllocationStrategy *string `pulumi:"spotAllocationStrategy"`
	// Number of Spot pools per availability zone to allocate capacity. EC2 Auto Scaling selects the cheapest Spot pools and evenly allocates Spot capacity across the number of Spot pools that you specify. Only available with `spotAllocationStrategy` set to `lowest-price`. Otherwise it must be set to `0`, if it has been defined before. Default: `2`.
	SpotInstancePools *int `pulumi:"spotInstancePools"`
	// Maximum price per unit hour that the user is willing to pay for the Spot instances. Default: an empty string which means the on-demand price.
	SpotMaxPrice *string `pulumi:"spotMaxPrice"`
}

type GroupMixedInstancesPolicyInstancesDistributionArgs

type GroupMixedInstancesPolicyInstancesDistributionArgs struct {
	// Strategy to use when launching on-demand instances. Valid values: `prioritized`. Default: `prioritized`.
	OnDemandAllocationStrategy pulumi.StringPtrInput `pulumi:"onDemandAllocationStrategy"`
	// Absolute minimum amount of desired capacity that must be fulfilled by on-demand instances. Default: `0`.
	OnDemandBaseCapacity pulumi.IntPtrInput `pulumi:"onDemandBaseCapacity"`
	// Percentage split between on-demand and Spot instances above the base on-demand capacity. Default: `100`.
	OnDemandPercentageAboveBaseCapacity pulumi.IntPtrInput `pulumi:"onDemandPercentageAboveBaseCapacity"`
	// How to allocate capacity across the Spot pools. Valid values: `lowest-price`, `capacity-optimized`, `capacity-optimized-prioritized`. Default: `lowest-price`.
	SpotAllocationStrategy pulumi.StringPtrInput `pulumi:"spotAllocationStrategy"`
	// Number of Spot pools per availability zone to allocate capacity. EC2 Auto Scaling selects the cheapest Spot pools and evenly allocates Spot capacity across the number of Spot pools that you specify. Only available with `spotAllocationStrategy` set to `lowest-price`. Otherwise it must be set to `0`, if it has been defined before. Default: `2`.
	SpotInstancePools pulumi.IntPtrInput `pulumi:"spotInstancePools"`
	// Maximum price per unit hour that the user is willing to pay for the Spot instances. Default: an empty string which means the on-demand price.
	SpotMaxPrice pulumi.StringPtrInput `pulumi:"spotMaxPrice"`
}

func (GroupMixedInstancesPolicyInstancesDistributionArgs) ElementType

func (GroupMixedInstancesPolicyInstancesDistributionArgs) ToGroupMixedInstancesPolicyInstancesDistributionOutput

func (i GroupMixedInstancesPolicyInstancesDistributionArgs) ToGroupMixedInstancesPolicyInstancesDistributionOutput() GroupMixedInstancesPolicyInstancesDistributionOutput

func (GroupMixedInstancesPolicyInstancesDistributionArgs) ToGroupMixedInstancesPolicyInstancesDistributionOutputWithContext

func (i GroupMixedInstancesPolicyInstancesDistributionArgs) ToGroupMixedInstancesPolicyInstancesDistributionOutputWithContext(ctx context.Context) GroupMixedInstancesPolicyInstancesDistributionOutput

func (GroupMixedInstancesPolicyInstancesDistributionArgs) ToGroupMixedInstancesPolicyInstancesDistributionPtrOutput

func (i GroupMixedInstancesPolicyInstancesDistributionArgs) ToGroupMixedInstancesPolicyInstancesDistributionPtrOutput() GroupMixedInstancesPolicyInstancesDistributionPtrOutput

func (GroupMixedInstancesPolicyInstancesDistributionArgs) ToGroupMixedInstancesPolicyInstancesDistributionPtrOutputWithContext

func (i GroupMixedInstancesPolicyInstancesDistributionArgs) ToGroupMixedInstancesPolicyInstancesDistributionPtrOutputWithContext(ctx context.Context) GroupMixedInstancesPolicyInstancesDistributionPtrOutput

type GroupMixedInstancesPolicyInstancesDistributionInput

type GroupMixedInstancesPolicyInstancesDistributionInput interface {
	pulumi.Input

	ToGroupMixedInstancesPolicyInstancesDistributionOutput() GroupMixedInstancesPolicyInstancesDistributionOutput
	ToGroupMixedInstancesPolicyInstancesDistributionOutputWithContext(context.Context) GroupMixedInstancesPolicyInstancesDistributionOutput
}

GroupMixedInstancesPolicyInstancesDistributionInput is an input type that accepts GroupMixedInstancesPolicyInstancesDistributionArgs and GroupMixedInstancesPolicyInstancesDistributionOutput values. You can construct a concrete instance of `GroupMixedInstancesPolicyInstancesDistributionInput` via:

GroupMixedInstancesPolicyInstancesDistributionArgs{...}

type GroupMixedInstancesPolicyInstancesDistributionOutput

type GroupMixedInstancesPolicyInstancesDistributionOutput struct{ *pulumi.OutputState }

func (GroupMixedInstancesPolicyInstancesDistributionOutput) ElementType

func (GroupMixedInstancesPolicyInstancesDistributionOutput) OnDemandAllocationStrategy

Strategy to use when launching on-demand instances. Valid values: `prioritized`. Default: `prioritized`.

func (GroupMixedInstancesPolicyInstancesDistributionOutput) OnDemandBaseCapacity

Absolute minimum amount of desired capacity that must be fulfilled by on-demand instances. Default: `0`.

func (GroupMixedInstancesPolicyInstancesDistributionOutput) OnDemandPercentageAboveBaseCapacity

func (o GroupMixedInstancesPolicyInstancesDistributionOutput) OnDemandPercentageAboveBaseCapacity() pulumi.IntPtrOutput

Percentage split between on-demand and Spot instances above the base on-demand capacity. Default: `100`.

func (GroupMixedInstancesPolicyInstancesDistributionOutput) SpotAllocationStrategy

How to allocate capacity across the Spot pools. Valid values: `lowest-price`, `capacity-optimized`, `capacity-optimized-prioritized`. Default: `lowest-price`.

func (GroupMixedInstancesPolicyInstancesDistributionOutput) SpotInstancePools

Number of Spot pools per availability zone to allocate capacity. EC2 Auto Scaling selects the cheapest Spot pools and evenly allocates Spot capacity across the number of Spot pools that you specify. Only available with `spotAllocationStrategy` set to `lowest-price`. Otherwise it must be set to `0`, if it has been defined before. Default: `2`.

func (GroupMixedInstancesPolicyInstancesDistributionOutput) SpotMaxPrice

Maximum price per unit hour that the user is willing to pay for the Spot instances. Default: an empty string which means the on-demand price.

func (GroupMixedInstancesPolicyInstancesDistributionOutput) ToGroupMixedInstancesPolicyInstancesDistributionOutput

func (GroupMixedInstancesPolicyInstancesDistributionOutput) ToGroupMixedInstancesPolicyInstancesDistributionOutputWithContext

func (o GroupMixedInstancesPolicyInstancesDistributionOutput) ToGroupMixedInstancesPolicyInstancesDistributionOutputWithContext(ctx context.Context) GroupMixedInstancesPolicyInstancesDistributionOutput

func (GroupMixedInstancesPolicyInstancesDistributionOutput) ToGroupMixedInstancesPolicyInstancesDistributionPtrOutput

func (o GroupMixedInstancesPolicyInstancesDistributionOutput) ToGroupMixedInstancesPolicyInstancesDistributionPtrOutput() GroupMixedInstancesPolicyInstancesDistributionPtrOutput

func (GroupMixedInstancesPolicyInstancesDistributionOutput) ToGroupMixedInstancesPolicyInstancesDistributionPtrOutputWithContext

func (o GroupMixedInstancesPolicyInstancesDistributionOutput) ToGroupMixedInstancesPolicyInstancesDistributionPtrOutputWithContext(ctx context.Context) GroupMixedInstancesPolicyInstancesDistributionPtrOutput

type GroupMixedInstancesPolicyInstancesDistributionPtrInput

type GroupMixedInstancesPolicyInstancesDistributionPtrInput interface {
	pulumi.Input

	ToGroupMixedInstancesPolicyInstancesDistributionPtrOutput() GroupMixedInstancesPolicyInstancesDistributionPtrOutput
	ToGroupMixedInstancesPolicyInstancesDistributionPtrOutputWithContext(context.Context) GroupMixedInstancesPolicyInstancesDistributionPtrOutput
}

GroupMixedInstancesPolicyInstancesDistributionPtrInput is an input type that accepts GroupMixedInstancesPolicyInstancesDistributionArgs, GroupMixedInstancesPolicyInstancesDistributionPtr and GroupMixedInstancesPolicyInstancesDistributionPtrOutput values. You can construct a concrete instance of `GroupMixedInstancesPolicyInstancesDistributionPtrInput` via:

        GroupMixedInstancesPolicyInstancesDistributionArgs{...}

or:

        nil

type GroupMixedInstancesPolicyInstancesDistributionPtrOutput

type GroupMixedInstancesPolicyInstancesDistributionPtrOutput struct{ *pulumi.OutputState }

func (GroupMixedInstancesPolicyInstancesDistributionPtrOutput) Elem

func (GroupMixedInstancesPolicyInstancesDistributionPtrOutput) ElementType

func (GroupMixedInstancesPolicyInstancesDistributionPtrOutput) OnDemandAllocationStrategy

Strategy to use when launching on-demand instances. Valid values: `prioritized`. Default: `prioritized`.

func (GroupMixedInstancesPolicyInstancesDistributionPtrOutput) OnDemandBaseCapacity

Absolute minimum amount of desired capacity that must be fulfilled by on-demand instances. Default: `0`.

func (GroupMixedInstancesPolicyInstancesDistributionPtrOutput) OnDemandPercentageAboveBaseCapacity

func (o GroupMixedInstancesPolicyInstancesDistributionPtrOutput) OnDemandPercentageAboveBaseCapacity() pulumi.IntPtrOutput

Percentage split between on-demand and Spot instances above the base on-demand capacity. Default: `100`.

func (GroupMixedInstancesPolicyInstancesDistributionPtrOutput) SpotAllocationStrategy

How to allocate capacity across the Spot pools. Valid values: `lowest-price`, `capacity-optimized`, `capacity-optimized-prioritized`. Default: `lowest-price`.

func (GroupMixedInstancesPolicyInstancesDistributionPtrOutput) SpotInstancePools

Number of Spot pools per availability zone to allocate capacity. EC2 Auto Scaling selects the cheapest Spot pools and evenly allocates Spot capacity across the number of Spot pools that you specify. Only available with `spotAllocationStrategy` set to `lowest-price`. Otherwise it must be set to `0`, if it has been defined before. Default: `2`.

func (GroupMixedInstancesPolicyInstancesDistributionPtrOutput) SpotMaxPrice

Maximum price per unit hour that the user is willing to pay for the Spot instances. Default: an empty string which means the on-demand price.

func (GroupMixedInstancesPolicyInstancesDistributionPtrOutput) ToGroupMixedInstancesPolicyInstancesDistributionPtrOutput

func (GroupMixedInstancesPolicyInstancesDistributionPtrOutput) ToGroupMixedInstancesPolicyInstancesDistributionPtrOutputWithContext

func (o GroupMixedInstancesPolicyInstancesDistributionPtrOutput) ToGroupMixedInstancesPolicyInstancesDistributionPtrOutputWithContext(ctx context.Context) GroupMixedInstancesPolicyInstancesDistributionPtrOutput

type GroupMixedInstancesPolicyLaunchTemplate

type GroupMixedInstancesPolicyLaunchTemplate struct {
	// Override the instance launch template specification in the Launch Template.
	LaunchTemplateSpecification GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecification `pulumi:"launchTemplateSpecification"`
	// List of nested arguments provides the ability to specify multiple instance types. This will override the same parameter in the launch template. For on-demand instances, Auto Scaling considers the order of preference of instance types to launch based on the order specified in the overrides list. Defined below.
	Overrides []GroupMixedInstancesPolicyLaunchTemplateOverride `pulumi:"overrides"`
}

type GroupMixedInstancesPolicyLaunchTemplateArgs

type GroupMixedInstancesPolicyLaunchTemplateArgs struct {
	// Override the instance launch template specification in the Launch Template.
	LaunchTemplateSpecification GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationInput `pulumi:"launchTemplateSpecification"`
	// List of nested arguments provides the ability to specify multiple instance types. This will override the same parameter in the launch template. For on-demand instances, Auto Scaling considers the order of preference of instance types to launch based on the order specified in the overrides list. Defined below.
	Overrides GroupMixedInstancesPolicyLaunchTemplateOverrideArrayInput `pulumi:"overrides"`
}

func (GroupMixedInstancesPolicyLaunchTemplateArgs) ElementType

func (GroupMixedInstancesPolicyLaunchTemplateArgs) ToGroupMixedInstancesPolicyLaunchTemplateOutput

func (i GroupMixedInstancesPolicyLaunchTemplateArgs) ToGroupMixedInstancesPolicyLaunchTemplateOutput() GroupMixedInstancesPolicyLaunchTemplateOutput

func (GroupMixedInstancesPolicyLaunchTemplateArgs) ToGroupMixedInstancesPolicyLaunchTemplateOutputWithContext

func (i GroupMixedInstancesPolicyLaunchTemplateArgs) ToGroupMixedInstancesPolicyLaunchTemplateOutputWithContext(ctx context.Context) GroupMixedInstancesPolicyLaunchTemplateOutput

func (GroupMixedInstancesPolicyLaunchTemplateArgs) ToGroupMixedInstancesPolicyLaunchTemplatePtrOutput

func (i GroupMixedInstancesPolicyLaunchTemplateArgs) ToGroupMixedInstancesPolicyLaunchTemplatePtrOutput() GroupMixedInstancesPolicyLaunchTemplatePtrOutput

func (GroupMixedInstancesPolicyLaunchTemplateArgs) ToGroupMixedInstancesPolicyLaunchTemplatePtrOutputWithContext

func (i GroupMixedInstancesPolicyLaunchTemplateArgs) ToGroupMixedInstancesPolicyLaunchTemplatePtrOutputWithContext(ctx context.Context) GroupMixedInstancesPolicyLaunchTemplatePtrOutput

type GroupMixedInstancesPolicyLaunchTemplateInput

type GroupMixedInstancesPolicyLaunchTemplateInput interface {
	pulumi.Input

	ToGroupMixedInstancesPolicyLaunchTemplateOutput() GroupMixedInstancesPolicyLaunchTemplateOutput
	ToGroupMixedInstancesPolicyLaunchTemplateOutputWithContext(context.Context) GroupMixedInstancesPolicyLaunchTemplateOutput
}

GroupMixedInstancesPolicyLaunchTemplateInput is an input type that accepts GroupMixedInstancesPolicyLaunchTemplateArgs and GroupMixedInstancesPolicyLaunchTemplateOutput values. You can construct a concrete instance of `GroupMixedInstancesPolicyLaunchTemplateInput` via:

GroupMixedInstancesPolicyLaunchTemplateArgs{...}

type GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecification

type GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecification struct {
	// The ID of the launch template. Conflicts with `launchTemplateName`.
	LaunchTemplateId *string `pulumi:"launchTemplateId"`
	// The name of the launch template. Conflicts with `launchTemplateId`.
	LaunchTemplateName *string `pulumi:"launchTemplateName"`
	// Template version. Can be version number, `$Latest`, or `$Default`. (Default: `$Default`).
	Version *string `pulumi:"version"`
}

type GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs

type GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs struct {
	// The ID of the launch template. Conflicts with `launchTemplateName`.
	LaunchTemplateId pulumi.StringPtrInput `pulumi:"launchTemplateId"`
	// The name of the launch template. Conflicts with `launchTemplateId`.
	LaunchTemplateName pulumi.StringPtrInput `pulumi:"launchTemplateName"`
	// Template version. Can be version number, `$Latest`, or `$Default`. (Default: `$Default`).
	Version pulumi.StringPtrInput `pulumi:"version"`
}

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs) ElementType

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs) ToGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutput

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs) ToGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutputWithContext

func (i GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs) ToGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutputWithContext(ctx context.Context) GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutput

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs) ToGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs) ToGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutputWithContext

func (i GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs) ToGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutputWithContext(ctx context.Context) GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput

type GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationInput

type GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationInput interface {
	pulumi.Input

	ToGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutput() GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutput
	ToGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutputWithContext(context.Context) GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutput
}

GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationInput is an input type that accepts GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs and GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutput values. You can construct a concrete instance of `GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationInput` via:

GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{...}

type GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutput

type GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutput struct{ *pulumi.OutputState }

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutput) ElementType

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutput) LaunchTemplateId

The ID of the launch template. Conflicts with `launchTemplateName`.

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutput) LaunchTemplateName

The name of the launch template. Conflicts with `launchTemplateId`.

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutput) ToGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutput

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutput) ToGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutputWithContext

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutput) ToGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutput) ToGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutputWithContext

func (o GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutput) ToGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutputWithContext(ctx context.Context) GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutput) Version

Template version. Can be version number, `$Latest`, or `$Default`. (Default: `$Default`).

type GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrInput

type GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrInput interface {
	pulumi.Input

	ToGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput() GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput
	ToGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutputWithContext(context.Context) GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput
}

GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrInput is an input type that accepts GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs, GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtr and GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput values. You can construct a concrete instance of `GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrInput` via:

        GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs{...}

or:

        nil

type GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput

type GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput struct{ *pulumi.OutputState }

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput) Elem

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput) ElementType

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput) LaunchTemplateId

The ID of the launch template. Conflicts with `launchTemplateName`.

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput) LaunchTemplateName

The name of the launch template. Conflicts with `launchTemplateId`.

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput) ToGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput) ToGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutputWithContext

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput) Version

Template version. Can be version number, `$Latest`, or `$Default`. (Default: `$Default`).

type GroupMixedInstancesPolicyLaunchTemplateOutput

type GroupMixedInstancesPolicyLaunchTemplateOutput struct{ *pulumi.OutputState }

func (GroupMixedInstancesPolicyLaunchTemplateOutput) ElementType

func (GroupMixedInstancesPolicyLaunchTemplateOutput) LaunchTemplateSpecification

Override the instance launch template specification in the Launch Template.

func (GroupMixedInstancesPolicyLaunchTemplateOutput) Overrides

List of nested arguments provides the ability to specify multiple instance types. This will override the same parameter in the launch template. For on-demand instances, Auto Scaling considers the order of preference of instance types to launch based on the order specified in the overrides list. Defined below.

func (GroupMixedInstancesPolicyLaunchTemplateOutput) ToGroupMixedInstancesPolicyLaunchTemplateOutput

func (o GroupMixedInstancesPolicyLaunchTemplateOutput) ToGroupMixedInstancesPolicyLaunchTemplateOutput() GroupMixedInstancesPolicyLaunchTemplateOutput

func (GroupMixedInstancesPolicyLaunchTemplateOutput) ToGroupMixedInstancesPolicyLaunchTemplateOutputWithContext

func (o GroupMixedInstancesPolicyLaunchTemplateOutput) ToGroupMixedInstancesPolicyLaunchTemplateOutputWithContext(ctx context.Context) GroupMixedInstancesPolicyLaunchTemplateOutput

func (GroupMixedInstancesPolicyLaunchTemplateOutput) ToGroupMixedInstancesPolicyLaunchTemplatePtrOutput

func (o GroupMixedInstancesPolicyLaunchTemplateOutput) ToGroupMixedInstancesPolicyLaunchTemplatePtrOutput() GroupMixedInstancesPolicyLaunchTemplatePtrOutput

func (GroupMixedInstancesPolicyLaunchTemplateOutput) ToGroupMixedInstancesPolicyLaunchTemplatePtrOutputWithContext

func (o GroupMixedInstancesPolicyLaunchTemplateOutput) ToGroupMixedInstancesPolicyLaunchTemplatePtrOutputWithContext(ctx context.Context) GroupMixedInstancesPolicyLaunchTemplatePtrOutput

type GroupMixedInstancesPolicyLaunchTemplateOverride

type GroupMixedInstancesPolicyLaunchTemplateOverride struct {
	// Override the instance type in the Launch Template.
	InstanceType *string `pulumi:"instanceType"`
	// Override the instance launch template specification in the Launch Template.
	LaunchTemplateSpecification *GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecification `pulumi:"launchTemplateSpecification"`
	// The number of capacity units, which gives the instance type a proportional weight to other instance types.
	WeightedCapacity *string `pulumi:"weightedCapacity"`
}

type GroupMixedInstancesPolicyLaunchTemplateOverrideArgs

type GroupMixedInstancesPolicyLaunchTemplateOverrideArgs struct {
	// Override the instance type in the Launch Template.
	InstanceType pulumi.StringPtrInput `pulumi:"instanceType"`
	// Override the instance launch template specification in the Launch Template.
	LaunchTemplateSpecification GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrInput `pulumi:"launchTemplateSpecification"`
	// The number of capacity units, which gives the instance type a proportional weight to other instance types.
	WeightedCapacity pulumi.StringPtrInput `pulumi:"weightedCapacity"`
}

func (GroupMixedInstancesPolicyLaunchTemplateOverrideArgs) ElementType

func (GroupMixedInstancesPolicyLaunchTemplateOverrideArgs) ToGroupMixedInstancesPolicyLaunchTemplateOverrideOutput

func (i GroupMixedInstancesPolicyLaunchTemplateOverrideArgs) ToGroupMixedInstancesPolicyLaunchTemplateOverrideOutput() GroupMixedInstancesPolicyLaunchTemplateOverrideOutput

func (GroupMixedInstancesPolicyLaunchTemplateOverrideArgs) ToGroupMixedInstancesPolicyLaunchTemplateOverrideOutputWithContext

func (i GroupMixedInstancesPolicyLaunchTemplateOverrideArgs) ToGroupMixedInstancesPolicyLaunchTemplateOverrideOutputWithContext(ctx context.Context) GroupMixedInstancesPolicyLaunchTemplateOverrideOutput

type GroupMixedInstancesPolicyLaunchTemplateOverrideArray

type GroupMixedInstancesPolicyLaunchTemplateOverrideArray []GroupMixedInstancesPolicyLaunchTemplateOverrideInput

func (GroupMixedInstancesPolicyLaunchTemplateOverrideArray) ElementType

func (GroupMixedInstancesPolicyLaunchTemplateOverrideArray) ToGroupMixedInstancesPolicyLaunchTemplateOverrideArrayOutput

func (i GroupMixedInstancesPolicyLaunchTemplateOverrideArray) ToGroupMixedInstancesPolicyLaunchTemplateOverrideArrayOutput() GroupMixedInstancesPolicyLaunchTemplateOverrideArrayOutput

func (GroupMixedInstancesPolicyLaunchTemplateOverrideArray) ToGroupMixedInstancesPolicyLaunchTemplateOverrideArrayOutputWithContext

func (i GroupMixedInstancesPolicyLaunchTemplateOverrideArray) ToGroupMixedInstancesPolicyLaunchTemplateOverrideArrayOutputWithContext(ctx context.Context) GroupMixedInstancesPolicyLaunchTemplateOverrideArrayOutput

type GroupMixedInstancesPolicyLaunchTemplateOverrideArrayInput

type GroupMixedInstancesPolicyLaunchTemplateOverrideArrayInput interface {
	pulumi.Input

	ToGroupMixedInstancesPolicyLaunchTemplateOverrideArrayOutput() GroupMixedInstancesPolicyLaunchTemplateOverrideArrayOutput
	ToGroupMixedInstancesPolicyLaunchTemplateOverrideArrayOutputWithContext(context.Context) GroupMixedInstancesPolicyLaunchTemplateOverrideArrayOutput
}

GroupMixedInstancesPolicyLaunchTemplateOverrideArrayInput is an input type that accepts GroupMixedInstancesPolicyLaunchTemplateOverrideArray and GroupMixedInstancesPolicyLaunchTemplateOverrideArrayOutput values. You can construct a concrete instance of `GroupMixedInstancesPolicyLaunchTemplateOverrideArrayInput` via:

GroupMixedInstancesPolicyLaunchTemplateOverrideArray{ GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{...} }

type GroupMixedInstancesPolicyLaunchTemplateOverrideArrayOutput

type GroupMixedInstancesPolicyLaunchTemplateOverrideArrayOutput struct{ *pulumi.OutputState }

func (GroupMixedInstancesPolicyLaunchTemplateOverrideArrayOutput) ElementType

func (GroupMixedInstancesPolicyLaunchTemplateOverrideArrayOutput) Index

func (GroupMixedInstancesPolicyLaunchTemplateOverrideArrayOutput) ToGroupMixedInstancesPolicyLaunchTemplateOverrideArrayOutput

func (GroupMixedInstancesPolicyLaunchTemplateOverrideArrayOutput) ToGroupMixedInstancesPolicyLaunchTemplateOverrideArrayOutputWithContext

func (o GroupMixedInstancesPolicyLaunchTemplateOverrideArrayOutput) ToGroupMixedInstancesPolicyLaunchTemplateOverrideArrayOutputWithContext(ctx context.Context) GroupMixedInstancesPolicyLaunchTemplateOverrideArrayOutput

type GroupMixedInstancesPolicyLaunchTemplateOverrideInput

type GroupMixedInstancesPolicyLaunchTemplateOverrideInput interface {
	pulumi.Input

	ToGroupMixedInstancesPolicyLaunchTemplateOverrideOutput() GroupMixedInstancesPolicyLaunchTemplateOverrideOutput
	ToGroupMixedInstancesPolicyLaunchTemplateOverrideOutputWithContext(context.Context) GroupMixedInstancesPolicyLaunchTemplateOverrideOutput
}

GroupMixedInstancesPolicyLaunchTemplateOverrideInput is an input type that accepts GroupMixedInstancesPolicyLaunchTemplateOverrideArgs and GroupMixedInstancesPolicyLaunchTemplateOverrideOutput values. You can construct a concrete instance of `GroupMixedInstancesPolicyLaunchTemplateOverrideInput` via:

GroupMixedInstancesPolicyLaunchTemplateOverrideArgs{...}

type GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecification

type GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecification struct {
	// The ID of the launch template. Conflicts with `launchTemplateName`.
	LaunchTemplateId *string `pulumi:"launchTemplateId"`
	// The name of the launch template. Conflicts with `launchTemplateId`.
	LaunchTemplateName *string `pulumi:"launchTemplateName"`
	// Template version. Can be version number, `$Latest`, or `$Default`. (Default: `$Default`).
	Version *string `pulumi:"version"`
}

type GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs

type GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs struct {
	// The ID of the launch template. Conflicts with `launchTemplateName`.
	LaunchTemplateId pulumi.StringPtrInput `pulumi:"launchTemplateId"`
	// The name of the launch template. Conflicts with `launchTemplateId`.
	LaunchTemplateName pulumi.StringPtrInput `pulumi:"launchTemplateName"`
	// Template version. Can be version number, `$Latest`, or `$Default`. (Default: `$Default`).
	Version pulumi.StringPtrInput `pulumi:"version"`
}

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs) ElementType

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs) ToGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs) ToGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutputWithContext

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs) ToGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutput

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs) ToGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutputWithContext

type GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationInput

type GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationInput interface {
	pulumi.Input

	ToGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput() GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput
	ToGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutputWithContext(context.Context) GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput
}

GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationInput is an input type that accepts GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs and GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput values. You can construct a concrete instance of `GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationInput` via:

GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs{...}

type GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput

type GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput struct{ *pulumi.OutputState }

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput) ElementType

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput) LaunchTemplateId

The ID of the launch template. Conflicts with `launchTemplateName`.

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput) LaunchTemplateName

The name of the launch template. Conflicts with `launchTemplateId`.

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput) ToGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput) ToGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutputWithContext

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput) ToGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutput

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput) ToGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutputWithContext

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput) Version

Template version. Can be version number, `$Latest`, or `$Default`. (Default: `$Default`).

type GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrInput

type GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrInput interface {
	pulumi.Input

	ToGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutput() GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutput
	ToGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutputWithContext(context.Context) GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutput
}

GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrInput is an input type that accepts GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs, GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtr and GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutput values. You can construct a concrete instance of `GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrInput` via:

        GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs{...}

or:

        nil

type GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutput

type GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutput struct{ *pulumi.OutputState }

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutput) ElementType

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutput) LaunchTemplateId

The ID of the launch template. Conflicts with `launchTemplateName`.

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutput) LaunchTemplateName

The name of the launch template. Conflicts with `launchTemplateId`.

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutput) ToGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutput

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutput) ToGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutputWithContext

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutput) Version

Template version. Can be version number, `$Latest`, or `$Default`. (Default: `$Default`).

type GroupMixedInstancesPolicyLaunchTemplateOverrideOutput

type GroupMixedInstancesPolicyLaunchTemplateOverrideOutput struct{ *pulumi.OutputState }

func (GroupMixedInstancesPolicyLaunchTemplateOverrideOutput) ElementType

func (GroupMixedInstancesPolicyLaunchTemplateOverrideOutput) InstanceType

Override the instance type in the Launch Template.

func (GroupMixedInstancesPolicyLaunchTemplateOverrideOutput) LaunchTemplateSpecification

Override the instance launch template specification in the Launch Template.

func (GroupMixedInstancesPolicyLaunchTemplateOverrideOutput) ToGroupMixedInstancesPolicyLaunchTemplateOverrideOutput

func (GroupMixedInstancesPolicyLaunchTemplateOverrideOutput) ToGroupMixedInstancesPolicyLaunchTemplateOverrideOutputWithContext

func (o GroupMixedInstancesPolicyLaunchTemplateOverrideOutput) ToGroupMixedInstancesPolicyLaunchTemplateOverrideOutputWithContext(ctx context.Context) GroupMixedInstancesPolicyLaunchTemplateOverrideOutput

func (GroupMixedInstancesPolicyLaunchTemplateOverrideOutput) WeightedCapacity

The number of capacity units, which gives the instance type a proportional weight to other instance types.

type GroupMixedInstancesPolicyLaunchTemplatePtrInput

type GroupMixedInstancesPolicyLaunchTemplatePtrInput interface {
	pulumi.Input

	ToGroupMixedInstancesPolicyLaunchTemplatePtrOutput() GroupMixedInstancesPolicyLaunchTemplatePtrOutput
	ToGroupMixedInstancesPolicyLaunchTemplatePtrOutputWithContext(context.Context) GroupMixedInstancesPolicyLaunchTemplatePtrOutput
}

GroupMixedInstancesPolicyLaunchTemplatePtrInput is an input type that accepts GroupMixedInstancesPolicyLaunchTemplateArgs, GroupMixedInstancesPolicyLaunchTemplatePtr and GroupMixedInstancesPolicyLaunchTemplatePtrOutput values. You can construct a concrete instance of `GroupMixedInstancesPolicyLaunchTemplatePtrInput` via:

        GroupMixedInstancesPolicyLaunchTemplateArgs{...}

or:

        nil

type GroupMixedInstancesPolicyLaunchTemplatePtrOutput

type GroupMixedInstancesPolicyLaunchTemplatePtrOutput struct{ *pulumi.OutputState }

func (GroupMixedInstancesPolicyLaunchTemplatePtrOutput) Elem

func (GroupMixedInstancesPolicyLaunchTemplatePtrOutput) ElementType

func (GroupMixedInstancesPolicyLaunchTemplatePtrOutput) LaunchTemplateSpecification

Override the instance launch template specification in the Launch Template.

func (GroupMixedInstancesPolicyLaunchTemplatePtrOutput) Overrides

List of nested arguments provides the ability to specify multiple instance types. This will override the same parameter in the launch template. For on-demand instances, Auto Scaling considers the order of preference of instance types to launch based on the order specified in the overrides list. Defined below.

func (GroupMixedInstancesPolicyLaunchTemplatePtrOutput) ToGroupMixedInstancesPolicyLaunchTemplatePtrOutput

func (o GroupMixedInstancesPolicyLaunchTemplatePtrOutput) ToGroupMixedInstancesPolicyLaunchTemplatePtrOutput() GroupMixedInstancesPolicyLaunchTemplatePtrOutput

func (GroupMixedInstancesPolicyLaunchTemplatePtrOutput) ToGroupMixedInstancesPolicyLaunchTemplatePtrOutputWithContext

func (o GroupMixedInstancesPolicyLaunchTemplatePtrOutput) ToGroupMixedInstancesPolicyLaunchTemplatePtrOutputWithContext(ctx context.Context) GroupMixedInstancesPolicyLaunchTemplatePtrOutput

type GroupMixedInstancesPolicyOutput

type GroupMixedInstancesPolicyOutput struct{ *pulumi.OutputState }

func (GroupMixedInstancesPolicyOutput) ElementType

func (GroupMixedInstancesPolicyOutput) InstancesDistribution

Nested argument containing settings on how to mix on-demand and Spot instances in the Auto Scaling group. Defined below.

func (GroupMixedInstancesPolicyOutput) LaunchTemplate

Nested argument containing launch template settings along with the overrides to specify multiple instance types and weights. Defined below.

func (GroupMixedInstancesPolicyOutput) ToGroupMixedInstancesPolicyOutput

func (o GroupMixedInstancesPolicyOutput) ToGroupMixedInstancesPolicyOutput() GroupMixedInstancesPolicyOutput

func (GroupMixedInstancesPolicyOutput) ToGroupMixedInstancesPolicyOutputWithContext

func (o GroupMixedInstancesPolicyOutput) ToGroupMixedInstancesPolicyOutputWithContext(ctx context.Context) GroupMixedInstancesPolicyOutput

func (GroupMixedInstancesPolicyOutput) ToGroupMixedInstancesPolicyPtrOutput

func (o GroupMixedInstancesPolicyOutput) ToGroupMixedInstancesPolicyPtrOutput() GroupMixedInstancesPolicyPtrOutput

func (GroupMixedInstancesPolicyOutput) ToGroupMixedInstancesPolicyPtrOutputWithContext

func (o GroupMixedInstancesPolicyOutput) ToGroupMixedInstancesPolicyPtrOutputWithContext(ctx context.Context) GroupMixedInstancesPolicyPtrOutput

type GroupMixedInstancesPolicyPtrInput

type GroupMixedInstancesPolicyPtrInput interface {
	pulumi.Input

	ToGroupMixedInstancesPolicyPtrOutput() GroupMixedInstancesPolicyPtrOutput
	ToGroupMixedInstancesPolicyPtrOutputWithContext(context.Context) GroupMixedInstancesPolicyPtrOutput
}

GroupMixedInstancesPolicyPtrInput is an input type that accepts GroupMixedInstancesPolicyArgs, GroupMixedInstancesPolicyPtr and GroupMixedInstancesPolicyPtrOutput values. You can construct a concrete instance of `GroupMixedInstancesPolicyPtrInput` via:

        GroupMixedInstancesPolicyArgs{...}

or:

        nil

type GroupMixedInstancesPolicyPtrOutput

type GroupMixedInstancesPolicyPtrOutput struct{ *pulumi.OutputState }

func (GroupMixedInstancesPolicyPtrOutput) Elem

func (GroupMixedInstancesPolicyPtrOutput) ElementType

func (GroupMixedInstancesPolicyPtrOutput) InstancesDistribution

Nested argument containing settings on how to mix on-demand and Spot instances in the Auto Scaling group. Defined below.

func (GroupMixedInstancesPolicyPtrOutput) LaunchTemplate

Nested argument containing launch template settings along with the overrides to specify multiple instance types and weights. Defined below.

func (GroupMixedInstancesPolicyPtrOutput) ToGroupMixedInstancesPolicyPtrOutput

func (o GroupMixedInstancesPolicyPtrOutput) ToGroupMixedInstancesPolicyPtrOutput() GroupMixedInstancesPolicyPtrOutput

func (GroupMixedInstancesPolicyPtrOutput) ToGroupMixedInstancesPolicyPtrOutputWithContext

func (o GroupMixedInstancesPolicyPtrOutput) ToGroupMixedInstancesPolicyPtrOutputWithContext(ctx context.Context) GroupMixedInstancesPolicyPtrOutput

type GroupOutput

type GroupOutput struct{ *pulumi.OutputState }

func (GroupOutput) ElementType

func (GroupOutput) ElementType() reflect.Type

func (GroupOutput) ToGroupOutput

func (o GroupOutput) ToGroupOutput() GroupOutput

func (GroupOutput) ToGroupOutputWithContext

func (o GroupOutput) ToGroupOutputWithContext(ctx context.Context) GroupOutput

type GroupState

type GroupState struct {
	// The ARN for this Auto Scaling Group
	Arn pulumi.StringPtrInput
	// A list of one or more availability zones for the group. Used for EC2-Classic, attaching a network interface via id from a launch template and default subnets when not specified with `vpcZoneIdentifier` argument. Conflicts with `vpcZoneIdentifier`.
	AvailabilityZones pulumi.StringArrayInput
	// Indicates whether capacity rebalance is enabled. Otherwise, capacity rebalance is disabled.
	CapacityRebalance pulumi.BoolPtrInput
	// The amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
	DefaultCooldown pulumi.IntPtrInput
	// The number of Amazon EC2 instances that
	// should be running in the group. (See also Waiting for
	// Capacity below.)
	DesiredCapacity pulumi.IntPtrInput
	// A list of metrics to collect. The allowed values are defined by the [underlying AWS API](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_EnableMetricsCollection.html).
	EnabledMetrics pulumi.StringArrayInput
	// Allows deleting the Auto Scaling Group without waiting
	// for all instances in the pool to terminate.  You can force an Auto Scaling Group to delete
	// even if it's in the process of scaling a resource. Normally, this provider
	// drains all the instances before deleting the group.  This bypasses that
	// behavior and potentially leaves resources dangling.
	ForceDelete         pulumi.BoolPtrInput
	ForceDeleteWarmPool pulumi.BoolPtrInput
	// Time (in seconds) after instance comes into service before checking health.
	HealthCheckGracePeriod pulumi.IntPtrInput
	// "EC2" or "ELB". Controls how health checking is done.
	HealthCheckType pulumi.StringPtrInput
	// One or more
	// [Lifecycle Hooks](http://docs.aws.amazon.com/autoscaling/latest/userguide/lifecycle-hooks.html)
	// to attach to the Auto Scaling Group **before** instances are launched. The
	// syntax is exactly the same as the separate
	// `autoscaling.LifecycleHook`
	// resource, without the `autoscalingGroupName` attribute. Please note that this will only work when creating
	// a new Auto Scaling Group. For all other use-cases, please use `autoscaling.LifecycleHook` resource.
	InitialLifecycleHooks GroupInitialLifecycleHookArrayInput
	// If this block is configured, start an
	// [Instance Refresh](https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-refresh.html)
	// when this Auto Scaling Group is updated. Defined below.
	InstanceRefresh GroupInstanceRefreshPtrInput
	// The name of the launch configuration to use.
	LaunchConfiguration pulumi.Input
	// Nested argument containing launch template settings along with the overrides to specify multiple instance types and weights. Defined below.
	LaunchTemplate GroupLaunchTemplatePtrInput
	// A list of elastic load balancer names to add to the autoscaling
	// group names. Only valid for classic load balancers. For ALBs, use `targetGroupArns` instead.
	LoadBalancers pulumi.StringArrayInput
	// The maximum amount of time, in seconds, that an instance can be in service, values must be either equal to 0 or between 86400 and 31536000 seconds.
	MaxInstanceLifetime pulumi.IntPtrInput
	// The maximum size of the Auto Scaling Group.
	MaxSize pulumi.IntPtrInput
	// The granularity to associate with the metrics to collect. The only valid value is `1Minute`. Default is `1Minute`.
	MetricsGranularity pulumi.StringPtrInput
	// Setting this causes the provider to wait for
	// this number of instances from this Auto Scaling Group to show up healthy in the
	// ELB only on creation. Updates will not wait on ELB instance number changes.
	// (See also Waiting for Capacity below.)
	MinElbCapacity pulumi.IntPtrInput
	// Specifies the minimum number of instances to maintain in the warm pool. This helps you to ensure that there is always a certain number of warmed instances available to handle traffic spikes. Defaults to 0 if not specified.
	MinSize pulumi.IntPtrInput
	// Configuration block containing settings to define launch targets for Auto Scaling groups. See Mixed Instances Policy below for more details.
	MixedInstancesPolicy GroupMixedInstancesPolicyPtrInput
	// The name of the Auto Scaling Group. By default generated by this provider. Conflicts with `namePrefix`.
	Name pulumi.StringPtrInput
	// Creates a unique name beginning with the specified
	// prefix. Conflicts with `name`.
	NamePrefix pulumi.StringPtrInput
	// The name of the placement group into which you'll launch your instances, if any.
	PlacementGroup pulumi.Input
	// Allows setting instance protection. The
	// Auto Scaling Group will not select instances with this setting for termination
	// during scale in events.
	ProtectFromScaleIn pulumi.BoolPtrInput
	// The ARN of the service-linked role that the ASG will use to call other AWS services
	ServiceLinkedRoleArn pulumi.StringPtrInput
	// A list of processes to suspend for the Auto Scaling Group. The allowed values are `Launch`, `Terminate`, `HealthCheck`, `ReplaceUnhealthy`, `AZRebalance`, `AlarmNotification`, `ScheduledActions`, `AddToLoadBalancer`.
	// Note that if you suspend either the `Launch` or `Terminate` process types, it can prevent your Auto Scaling Group from functioning properly.
	SuspendedProcesses pulumi.StringArrayInput
	// Configuration block(s) containing resource tags. Conflicts with `tags`. See Tag below for more details.
	Tags GroupTagArrayInput
	// Set of maps containing resource tags. Conflicts with `tag`. See Tags below for more details.
	//
	// Deprecated: Use tag instead
	TagsCollection pulumi.StringMapArrayInput
	// A set of `alb.TargetGroup` ARNs, for use with Application or Network Load Balancing.
	TargetGroupArns pulumi.StringArrayInput
	// A list of policies to decide how the instances in the Auto Scaling Group should be terminated. The allowed values are `OldestInstance`, `NewestInstance`, `OldestLaunchConfiguration`, `ClosestToNextInstanceHour`, `OldestLaunchTemplate`, `AllocationStrategy`, `Default`.
	TerminationPolicies pulumi.StringArrayInput
	// A list of subnet IDs to launch resources in. Subnets automatically determine which availability zones the group will reside. Conflicts with `availabilityZones`.
	VpcZoneIdentifiers pulumi.StringArrayInput
	// A maximum
	// [duration](https://golang.org/pkg/time/#ParseDuration) that this provider should
	// wait for ASG instances to be healthy before timing out.  (See also Waiting
	// for Capacity below.) Setting this to "0" causes
	// this provider to skip all Capacity Waiting behavior.
	WaitForCapacityTimeout pulumi.StringPtrInput
	// Setting this will cause the provider to wait
	// for exactly this number of healthy instances from this Auto Scaling Group in
	// all attached load balancers on both create and update operations. (Takes
	// precedence over `minElbCapacity` behavior.)
	// (See also Waiting for Capacity below.)
	WaitForElbCapacity pulumi.IntPtrInput
	// If this block is configured, add a [Warm Pool](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-warm-pools.html)
	// to the specified Auto Scaling group. Defined below
	WarmPool GroupWarmPoolPtrInput
}

func (GroupState) ElementType

func (GroupState) ElementType() reflect.Type

type GroupTag

type GroupTag struct {
	// Key
	Key string `pulumi:"key"`
	// Enables propagation of the tag to
	// Amazon EC2 instances launched via this ASG
	PropagateAtLaunch bool `pulumi:"propagateAtLaunch"`
	// Value
	Value string `pulumi:"value"`
}

type GroupTagArgs

type GroupTagArgs struct {
	// Key
	Key pulumi.StringInput `pulumi:"key"`
	// Enables propagation of the tag to
	// Amazon EC2 instances launched via this ASG
	PropagateAtLaunch pulumi.BoolInput `pulumi:"propagateAtLaunch"`
	// Value
	Value pulumi.StringInput `pulumi:"value"`
}

func (GroupTagArgs) ElementType

func (GroupTagArgs) ElementType() reflect.Type

func (GroupTagArgs) ToGroupTagOutput

func (i GroupTagArgs) ToGroupTagOutput() GroupTagOutput

func (GroupTagArgs) ToGroupTagOutputWithContext

func (i GroupTagArgs) ToGroupTagOutputWithContext(ctx context.Context) GroupTagOutput

type GroupTagArray

type GroupTagArray []GroupTagInput

func (GroupTagArray) ElementType

func (GroupTagArray) ElementType() reflect.Type

func (GroupTagArray) ToGroupTagArrayOutput

func (i GroupTagArray) ToGroupTagArrayOutput() GroupTagArrayOutput

func (GroupTagArray) ToGroupTagArrayOutputWithContext

func (i GroupTagArray) ToGroupTagArrayOutputWithContext(ctx context.Context) GroupTagArrayOutput

type GroupTagArrayInput

type GroupTagArrayInput interface {
	pulumi.Input

	ToGroupTagArrayOutput() GroupTagArrayOutput
	ToGroupTagArrayOutputWithContext(context.Context) GroupTagArrayOutput
}

GroupTagArrayInput is an input type that accepts GroupTagArray and GroupTagArrayOutput values. You can construct a concrete instance of `GroupTagArrayInput` via:

GroupTagArray{ GroupTagArgs{...} }

type GroupTagArrayOutput

type GroupTagArrayOutput struct{ *pulumi.OutputState }

func (GroupTagArrayOutput) ElementType

func (GroupTagArrayOutput) ElementType() reflect.Type

func (GroupTagArrayOutput) Index

func (GroupTagArrayOutput) ToGroupTagArrayOutput

func (o GroupTagArrayOutput) ToGroupTagArrayOutput() GroupTagArrayOutput

func (GroupTagArrayOutput) ToGroupTagArrayOutputWithContext

func (o GroupTagArrayOutput) ToGroupTagArrayOutputWithContext(ctx context.Context) GroupTagArrayOutput

type GroupTagInput

type GroupTagInput interface {
	pulumi.Input

	ToGroupTagOutput() GroupTagOutput
	ToGroupTagOutputWithContext(context.Context) GroupTagOutput
}

GroupTagInput is an input type that accepts GroupTagArgs and GroupTagOutput values. You can construct a concrete instance of `GroupTagInput` via:

GroupTagArgs{...}

type GroupTagOutput

type GroupTagOutput struct{ *pulumi.OutputState }

func (GroupTagOutput) ElementType

func (GroupTagOutput) ElementType() reflect.Type

func (GroupTagOutput) Key

Key

func (GroupTagOutput) PropagateAtLaunch

func (o GroupTagOutput) PropagateAtLaunch() pulumi.BoolOutput

Enables propagation of the tag to Amazon EC2 instances launched via this ASG

func (GroupTagOutput) ToGroupTagOutput

func (o GroupTagOutput) ToGroupTagOutput() GroupTagOutput

func (GroupTagOutput) ToGroupTagOutputWithContext

func (o GroupTagOutput) ToGroupTagOutputWithContext(ctx context.Context) GroupTagOutput

func (GroupTagOutput) Value

Value

type GroupWarmPool

type GroupWarmPool struct {
	// Specifies the total maximum number of instances that are allowed to be in the warm pool or in any state except Terminated for the Auto Scaling group.
	MaxGroupPreparedCapacity *int `pulumi:"maxGroupPreparedCapacity"`
	// Specifies the minimum number of instances to maintain in the warm pool. This helps you to ensure that there is always a certain number of warmed instances available to handle traffic spikes. Defaults to 0 if not specified.
	MinSize *int `pulumi:"minSize"`
	// Sets the instance state to transition to after the lifecycle hooks finish. Valid values are: Stopped (default) or Running.
	PoolState *string `pulumi:"poolState"`
}

type GroupWarmPoolArgs

type GroupWarmPoolArgs struct {
	// Specifies the total maximum number of instances that are allowed to be in the warm pool or in any state except Terminated for the Auto Scaling group.
	MaxGroupPreparedCapacity pulumi.IntPtrInput `pulumi:"maxGroupPreparedCapacity"`
	// Specifies the minimum number of instances to maintain in the warm pool. This helps you to ensure that there is always a certain number of warmed instances available to handle traffic spikes. Defaults to 0 if not specified.
	MinSize pulumi.IntPtrInput `pulumi:"minSize"`
	// Sets the instance state to transition to after the lifecycle hooks finish. Valid values are: Stopped (default) or Running.
	PoolState pulumi.StringPtrInput `pulumi:"poolState"`
}

func (GroupWarmPoolArgs) ElementType

func (GroupWarmPoolArgs) ElementType() reflect.Type

func (GroupWarmPoolArgs) ToGroupWarmPoolOutput

func (i GroupWarmPoolArgs) ToGroupWarmPoolOutput() GroupWarmPoolOutput

func (GroupWarmPoolArgs) ToGroupWarmPoolOutputWithContext

func (i GroupWarmPoolArgs) ToGroupWarmPoolOutputWithContext(ctx context.Context) GroupWarmPoolOutput

func (GroupWarmPoolArgs) ToGroupWarmPoolPtrOutput

func (i GroupWarmPoolArgs) ToGroupWarmPoolPtrOutput() GroupWarmPoolPtrOutput

func (GroupWarmPoolArgs) ToGroupWarmPoolPtrOutputWithContext

func (i GroupWarmPoolArgs) ToGroupWarmPoolPtrOutputWithContext(ctx context.Context) GroupWarmPoolPtrOutput

type GroupWarmPoolInput

type GroupWarmPoolInput interface {
	pulumi.Input

	ToGroupWarmPoolOutput() GroupWarmPoolOutput
	ToGroupWarmPoolOutputWithContext(context.Context) GroupWarmPoolOutput
}

GroupWarmPoolInput is an input type that accepts GroupWarmPoolArgs and GroupWarmPoolOutput values. You can construct a concrete instance of `GroupWarmPoolInput` via:

GroupWarmPoolArgs{...}

type GroupWarmPoolOutput

type GroupWarmPoolOutput struct{ *pulumi.OutputState }

func (GroupWarmPoolOutput) ElementType

func (GroupWarmPoolOutput) ElementType() reflect.Type

func (GroupWarmPoolOutput) MaxGroupPreparedCapacity

func (o GroupWarmPoolOutput) MaxGroupPreparedCapacity() pulumi.IntPtrOutput

Specifies the total maximum number of instances that are allowed to be in the warm pool or in any state except Terminated for the Auto Scaling group.

func (GroupWarmPoolOutput) MinSize

Specifies the minimum number of instances to maintain in the warm pool. This helps you to ensure that there is always a certain number of warmed instances available to handle traffic spikes. Defaults to 0 if not specified.

func (GroupWarmPoolOutput) PoolState

Sets the instance state to transition to after the lifecycle hooks finish. Valid values are: Stopped (default) or Running.

func (GroupWarmPoolOutput) ToGroupWarmPoolOutput

func (o GroupWarmPoolOutput) ToGroupWarmPoolOutput() GroupWarmPoolOutput

func (GroupWarmPoolOutput) ToGroupWarmPoolOutputWithContext

func (o GroupWarmPoolOutput) ToGroupWarmPoolOutputWithContext(ctx context.Context) GroupWarmPoolOutput

func (GroupWarmPoolOutput) ToGroupWarmPoolPtrOutput

func (o GroupWarmPoolOutput) ToGroupWarmPoolPtrOutput() GroupWarmPoolPtrOutput

func (GroupWarmPoolOutput) ToGroupWarmPoolPtrOutputWithContext

func (o GroupWarmPoolOutput) ToGroupWarmPoolPtrOutputWithContext(ctx context.Context) GroupWarmPoolPtrOutput

type GroupWarmPoolPtrInput

type GroupWarmPoolPtrInput interface {
	pulumi.Input

	ToGroupWarmPoolPtrOutput() GroupWarmPoolPtrOutput
	ToGroupWarmPoolPtrOutputWithContext(context.Context) GroupWarmPoolPtrOutput
}

GroupWarmPoolPtrInput is an input type that accepts GroupWarmPoolArgs, GroupWarmPoolPtr and GroupWarmPoolPtrOutput values. You can construct a concrete instance of `GroupWarmPoolPtrInput` via:

        GroupWarmPoolArgs{...}

or:

        nil

type GroupWarmPoolPtrOutput

type GroupWarmPoolPtrOutput struct{ *pulumi.OutputState }

func (GroupWarmPoolPtrOutput) Elem

func (GroupWarmPoolPtrOutput) ElementType

func (GroupWarmPoolPtrOutput) ElementType() reflect.Type

func (GroupWarmPoolPtrOutput) MaxGroupPreparedCapacity

func (o GroupWarmPoolPtrOutput) MaxGroupPreparedCapacity() pulumi.IntPtrOutput

Specifies the total maximum number of instances that are allowed to be in the warm pool or in any state except Terminated for the Auto Scaling group.

func (GroupWarmPoolPtrOutput) MinSize

Specifies the minimum number of instances to maintain in the warm pool. This helps you to ensure that there is always a certain number of warmed instances available to handle traffic spikes. Defaults to 0 if not specified.

func (GroupWarmPoolPtrOutput) PoolState

Sets the instance state to transition to after the lifecycle hooks finish. Valid values are: Stopped (default) or Running.

func (GroupWarmPoolPtrOutput) ToGroupWarmPoolPtrOutput

func (o GroupWarmPoolPtrOutput) ToGroupWarmPoolPtrOutput() GroupWarmPoolPtrOutput

func (GroupWarmPoolPtrOutput) ToGroupWarmPoolPtrOutputWithContext

func (o GroupWarmPoolPtrOutput) ToGroupWarmPoolPtrOutputWithContext(ctx context.Context) GroupWarmPoolPtrOutput

type LifecycleHook

type LifecycleHook struct {
	pulumi.CustomResourceState

	// The name of the Auto Scaling group to which you want to assign the lifecycle hook
	AutoscalingGroupName pulumi.StringOutput `pulumi:"autoscalingGroupName"`
	// Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. The value for this parameter can be either CONTINUE or ABANDON. The default value for this parameter is ABANDON.
	DefaultResult pulumi.StringOutput `pulumi:"defaultResult"`
	// Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the action defined in the DefaultResult parameter
	HeartbeatTimeout pulumi.IntPtrOutput `pulumi:"heartbeatTimeout"`
	// The instance state to which you want to attach the lifecycle hook. For a list of lifecycle hook types, see [describe-lifecycle-hook-types](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/describe-lifecycle-hook-types.html#examples)
	LifecycleTransition pulumi.StringOutput `pulumi:"lifecycleTransition"`
	// The name of the lifecycle hook.
	Name pulumi.StringOutput `pulumi:"name"`
	// Contains additional information that you want to include any time Auto Scaling sends a message to the notification target.
	NotificationMetadata pulumi.StringPtrOutput `pulumi:"notificationMetadata"`
	// The ARN of the notification target that Auto Scaling will use to notify you when an instance is in the transition state for the lifecycle hook. This ARN target can be either an SQS queue or an SNS topic.
	NotificationTargetArn pulumi.StringPtrOutput `pulumi:"notificationTargetArn"`
	// The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target.
	RoleArn pulumi.StringPtrOutput `pulumi:"roleArn"`
}

Provides an AutoScaling Lifecycle Hook resource.

> **NOTE:** This provider has two types of ways you can add lifecycle hooks - via the `initialLifecycleHook` attribute from the `autoscaling.Group` resource, or via this one. Hooks added via this resource will not be added until the autoscaling group has been created, and depending on your `capacity` settings, after the initial instances have been launched, creating unintended behavior. If you need hooks to run on all instances, add them with `initialLifecycleHook` in `autoscaling.Group`, but take care to not duplicate those hooks with this resource.

## Example Usage

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		foobarGroup, err := autoscaling.NewGroup(ctx, "foobarGroup", &autoscaling.GroupArgs{
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-west-2a"),
			},
			HealthCheckType: pulumi.String("EC2"),
			TerminationPolicies: pulumi.StringArray{
				pulumi.String("OldestInstance"),
			},
			Tags: autoscaling.GroupTagArray{
				&autoscaling.GroupTagArgs{
					Key:               pulumi.String("Foo"),
					Value:             pulumi.String("foo-bar"),
					PropagateAtLaunch: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = autoscaling.NewLifecycleHook(ctx, "foobarLifecycleHook", &autoscaling.LifecycleHookArgs{
			AutoscalingGroupName:  foobarGroup.Name,
			DefaultResult:         pulumi.String("CONTINUE"),
			HeartbeatTimeout:      pulumi.Int(2000),
			LifecycleTransition:   pulumi.String("autoscaling:EC2_INSTANCE_LAUNCHING"),
			NotificationMetadata:  pulumi.String(fmt.Sprintf("%v%v%v", "{\n", "  \"foo\": \"bar\"\n", "}\n")),
			NotificationTargetArn: pulumi.String("arn:aws:sqs:us-east-1:444455556666:queue1*"),
			RoleArn:               pulumi.String("arn:aws:iam::123456789012:role/S3Access"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

AutoScaling Lifecycle Hooks can be imported using the role autoscaling_group_name and name separated by `/`.

```sh

$ pulumi import aws:autoscaling/lifecycleHook:LifecycleHook test-lifecycle-hook asg-name/lifecycle-hook-name

```

func GetLifecycleHook

func GetLifecycleHook(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LifecycleHookState, opts ...pulumi.ResourceOption) (*LifecycleHook, error)

GetLifecycleHook gets an existing LifecycleHook 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 NewLifecycleHook

func NewLifecycleHook(ctx *pulumi.Context,
	name string, args *LifecycleHookArgs, opts ...pulumi.ResourceOption) (*LifecycleHook, error)

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

func (*LifecycleHook) ElementType

func (*LifecycleHook) ElementType() reflect.Type

func (*LifecycleHook) ToLifecycleHookOutput

func (i *LifecycleHook) ToLifecycleHookOutput() LifecycleHookOutput

func (*LifecycleHook) ToLifecycleHookOutputWithContext

func (i *LifecycleHook) ToLifecycleHookOutputWithContext(ctx context.Context) LifecycleHookOutput

type LifecycleHookArgs

type LifecycleHookArgs struct {
	// The name of the Auto Scaling group to which you want to assign the lifecycle hook
	AutoscalingGroupName pulumi.StringInput
	// Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. The value for this parameter can be either CONTINUE or ABANDON. The default value for this parameter is ABANDON.
	DefaultResult pulumi.StringPtrInput
	// Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the action defined in the DefaultResult parameter
	HeartbeatTimeout pulumi.IntPtrInput
	// The instance state to which you want to attach the lifecycle hook. For a list of lifecycle hook types, see [describe-lifecycle-hook-types](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/describe-lifecycle-hook-types.html#examples)
	LifecycleTransition pulumi.StringInput
	// The name of the lifecycle hook.
	Name pulumi.StringPtrInput
	// Contains additional information that you want to include any time Auto Scaling sends a message to the notification target.
	NotificationMetadata pulumi.StringPtrInput
	// The ARN of the notification target that Auto Scaling will use to notify you when an instance is in the transition state for the lifecycle hook. This ARN target can be either an SQS queue or an SNS topic.
	NotificationTargetArn pulumi.StringPtrInput
	// The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target.
	RoleArn pulumi.StringPtrInput
}

The set of arguments for constructing a LifecycleHook resource.

func (LifecycleHookArgs) ElementType

func (LifecycleHookArgs) ElementType() reflect.Type

type LifecycleHookArray

type LifecycleHookArray []LifecycleHookInput

func (LifecycleHookArray) ElementType

func (LifecycleHookArray) ElementType() reflect.Type

func (LifecycleHookArray) ToLifecycleHookArrayOutput

func (i LifecycleHookArray) ToLifecycleHookArrayOutput() LifecycleHookArrayOutput

func (LifecycleHookArray) ToLifecycleHookArrayOutputWithContext

func (i LifecycleHookArray) ToLifecycleHookArrayOutputWithContext(ctx context.Context) LifecycleHookArrayOutput

type LifecycleHookArrayInput

type LifecycleHookArrayInput interface {
	pulumi.Input

	ToLifecycleHookArrayOutput() LifecycleHookArrayOutput
	ToLifecycleHookArrayOutputWithContext(context.Context) LifecycleHookArrayOutput
}

LifecycleHookArrayInput is an input type that accepts LifecycleHookArray and LifecycleHookArrayOutput values. You can construct a concrete instance of `LifecycleHookArrayInput` via:

LifecycleHookArray{ LifecycleHookArgs{...} }

type LifecycleHookArrayOutput

type LifecycleHookArrayOutput struct{ *pulumi.OutputState }

func (LifecycleHookArrayOutput) ElementType

func (LifecycleHookArrayOutput) ElementType() reflect.Type

func (LifecycleHookArrayOutput) Index

func (LifecycleHookArrayOutput) ToLifecycleHookArrayOutput

func (o LifecycleHookArrayOutput) ToLifecycleHookArrayOutput() LifecycleHookArrayOutput

func (LifecycleHookArrayOutput) ToLifecycleHookArrayOutputWithContext

func (o LifecycleHookArrayOutput) ToLifecycleHookArrayOutputWithContext(ctx context.Context) LifecycleHookArrayOutput

type LifecycleHookInput

type LifecycleHookInput interface {
	pulumi.Input

	ToLifecycleHookOutput() LifecycleHookOutput
	ToLifecycleHookOutputWithContext(ctx context.Context) LifecycleHookOutput
}

type LifecycleHookMap

type LifecycleHookMap map[string]LifecycleHookInput

func (LifecycleHookMap) ElementType

func (LifecycleHookMap) ElementType() reflect.Type

func (LifecycleHookMap) ToLifecycleHookMapOutput

func (i LifecycleHookMap) ToLifecycleHookMapOutput() LifecycleHookMapOutput

func (LifecycleHookMap) ToLifecycleHookMapOutputWithContext

func (i LifecycleHookMap) ToLifecycleHookMapOutputWithContext(ctx context.Context) LifecycleHookMapOutput

type LifecycleHookMapInput

type LifecycleHookMapInput interface {
	pulumi.Input

	ToLifecycleHookMapOutput() LifecycleHookMapOutput
	ToLifecycleHookMapOutputWithContext(context.Context) LifecycleHookMapOutput
}

LifecycleHookMapInput is an input type that accepts LifecycleHookMap and LifecycleHookMapOutput values. You can construct a concrete instance of `LifecycleHookMapInput` via:

LifecycleHookMap{ "key": LifecycleHookArgs{...} }

type LifecycleHookMapOutput

type LifecycleHookMapOutput struct{ *pulumi.OutputState }

func (LifecycleHookMapOutput) ElementType

func (LifecycleHookMapOutput) ElementType() reflect.Type

func (LifecycleHookMapOutput) MapIndex

func (LifecycleHookMapOutput) ToLifecycleHookMapOutput

func (o LifecycleHookMapOutput) ToLifecycleHookMapOutput() LifecycleHookMapOutput

func (LifecycleHookMapOutput) ToLifecycleHookMapOutputWithContext

func (o LifecycleHookMapOutput) ToLifecycleHookMapOutputWithContext(ctx context.Context) LifecycleHookMapOutput

type LifecycleHookOutput

type LifecycleHookOutput struct{ *pulumi.OutputState }

func (LifecycleHookOutput) ElementType

func (LifecycleHookOutput) ElementType() reflect.Type

func (LifecycleHookOutput) ToLifecycleHookOutput

func (o LifecycleHookOutput) ToLifecycleHookOutput() LifecycleHookOutput

func (LifecycleHookOutput) ToLifecycleHookOutputWithContext

func (o LifecycleHookOutput) ToLifecycleHookOutputWithContext(ctx context.Context) LifecycleHookOutput

type LifecycleHookState

type LifecycleHookState struct {
	// The name of the Auto Scaling group to which you want to assign the lifecycle hook
	AutoscalingGroupName pulumi.StringPtrInput
	// Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. The value for this parameter can be either CONTINUE or ABANDON. The default value for this parameter is ABANDON.
	DefaultResult pulumi.StringPtrInput
	// Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the action defined in the DefaultResult parameter
	HeartbeatTimeout pulumi.IntPtrInput
	// The instance state to which you want to attach the lifecycle hook. For a list of lifecycle hook types, see [describe-lifecycle-hook-types](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/describe-lifecycle-hook-types.html#examples)
	LifecycleTransition pulumi.StringPtrInput
	// The name of the lifecycle hook.
	Name pulumi.StringPtrInput
	// Contains additional information that you want to include any time Auto Scaling sends a message to the notification target.
	NotificationMetadata pulumi.StringPtrInput
	// The ARN of the notification target that Auto Scaling will use to notify you when an instance is in the transition state for the lifecycle hook. This ARN target can be either an SQS queue or an SNS topic.
	NotificationTargetArn pulumi.StringPtrInput
	// The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target.
	RoleArn pulumi.StringPtrInput
}

func (LifecycleHookState) ElementType

func (LifecycleHookState) ElementType() reflect.Type

type LookupGroupArgs

type LookupGroupArgs struct {
	// Specify the exact name of the desired autoscaling group.
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getGroup.

type LookupGroupOutputArgs

type LookupGroupOutputArgs struct {
	// Specify the exact name of the desired autoscaling group.
	Name pulumi.StringInput `pulumi:"name"`
}

A collection of arguments for invoking getGroup.

func (LookupGroupOutputArgs) ElementType

func (LookupGroupOutputArgs) ElementType() reflect.Type

type LookupGroupResult

type LookupGroupResult struct {
	// The Amazon Resource Name (ARN) of the Auto Scaling group.
	Arn string `pulumi:"arn"`
	// One or more Availability Zones for the group.
	AvailabilityZones []string `pulumi:"availabilityZones"`
	DefaultCooldown   int      `pulumi:"defaultCooldown"`
	// The desired size of the group.
	DesiredCapacity int `pulumi:"desiredCapacity"`
	// The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status of an EC2 instance that has come into service.
	HealthCheckGracePeriod int `pulumi:"healthCheckGracePeriod"`
	// The service to use for the health checks. The valid values are EC2 and ELB.
	HealthCheckType string `pulumi:"healthCheckType"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The name of the associated launch configuration.
	LaunchConfiguration string                   `pulumi:"launchConfiguration"`
	LaunchTemplates     []GetGroupLaunchTemplate `pulumi:"launchTemplates"`
	// One or more load balancers associated with the group.
	LoadBalancers []string `pulumi:"loadBalancers"`
	// The maximum size of the group.
	MaxSize int `pulumi:"maxSize"`
	// The minimum size of the group.
	MinSize int `pulumi:"minSize"`
	// Name of the Auto Scaling Group.
	Name                             string `pulumi:"name"`
	NewInstancesProtectedFromScaleIn bool   `pulumi:"newInstancesProtectedFromScaleIn"`
	// The name of the placement group into which to launch your instances, if any. For more information, see Placement Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) in the Amazon Elastic Compute Cloud User Guide.
	PlacementGroup string `pulumi:"placementGroup"`
	// The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf.
	ServiceLinkedRoleArn string `pulumi:"serviceLinkedRoleArn"`
	// The current state of the group when DeleteAutoScalingGroup is in progress.
	Status string `pulumi:"status"`
	// The Amazon Resource Names (ARN) of the target groups for your load balancer.
	TargetGroupArns []string `pulumi:"targetGroupArns"`
	// The termination policies for the group.
	TerminationPolicies []string `pulumi:"terminationPolicies"`
	// VPC ID for the group.
	VpcZoneIdentifier string `pulumi:"vpcZoneIdentifier"`
}

A collection of values returned by getGroup.

func LookupGroup

func LookupGroup(ctx *pulumi.Context, args *LookupGroupArgs, opts ...pulumi.InvokeOption) (*LookupGroupResult, error)

Use this data source to get information on an existing autoscaling group.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := autoscaling.LookupGroup(ctx, &autoscaling.LookupGroupArgs{
			Name: "foo",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupGroupResultOutput

type LookupGroupResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getGroup.

func (LookupGroupResultOutput) Arn

The Amazon Resource Name (ARN) of the Auto Scaling group.

func (LookupGroupResultOutput) AvailabilityZones

func (o LookupGroupResultOutput) AvailabilityZones() pulumi.StringArrayOutput

One or more Availability Zones for the group.

func (LookupGroupResultOutput) DefaultCooldown

func (o LookupGroupResultOutput) DefaultCooldown() pulumi.IntOutput

func (LookupGroupResultOutput) DesiredCapacity

func (o LookupGroupResultOutput) DesiredCapacity() pulumi.IntOutput

The desired size of the group.

func (LookupGroupResultOutput) ElementType

func (LookupGroupResultOutput) ElementType() reflect.Type

func (LookupGroupResultOutput) HealthCheckGracePeriod

func (o LookupGroupResultOutput) HealthCheckGracePeriod() pulumi.IntOutput

The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status of an EC2 instance that has come into service.

func (LookupGroupResultOutput) HealthCheckType

func (o LookupGroupResultOutput) HealthCheckType() pulumi.StringOutput

The service to use for the health checks. The valid values are EC2 and ELB.

func (LookupGroupResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupGroupResultOutput) LaunchConfiguration

func (o LookupGroupResultOutput) LaunchConfiguration() pulumi.StringOutput

The name of the associated launch configuration.

func (LookupGroupResultOutput) LaunchTemplates

func (LookupGroupResultOutput) LoadBalancers

One or more load balancers associated with the group.

func (LookupGroupResultOutput) MaxSize

The maximum size of the group.

func (LookupGroupResultOutput) MinSize

The minimum size of the group.

func (LookupGroupResultOutput) Name

Name of the Auto Scaling Group.

func (LookupGroupResultOutput) NewInstancesProtectedFromScaleIn

func (o LookupGroupResultOutput) NewInstancesProtectedFromScaleIn() pulumi.BoolOutput

func (LookupGroupResultOutput) PlacementGroup

func (o LookupGroupResultOutput) PlacementGroup() pulumi.StringOutput

The name of the placement group into which to launch your instances, if any. For more information, see Placement Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) in the Amazon Elastic Compute Cloud User Guide.

func (LookupGroupResultOutput) ServiceLinkedRoleArn

func (o LookupGroupResultOutput) ServiceLinkedRoleArn() pulumi.StringOutput

The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf.

func (LookupGroupResultOutput) Status

The current state of the group when DeleteAutoScalingGroup is in progress.

func (LookupGroupResultOutput) TargetGroupArns

func (o LookupGroupResultOutput) TargetGroupArns() pulumi.StringArrayOutput

The Amazon Resource Names (ARN) of the target groups for your load balancer.

func (LookupGroupResultOutput) TerminationPolicies

func (o LookupGroupResultOutput) TerminationPolicies() pulumi.StringArrayOutput

The termination policies for the group.

func (LookupGroupResultOutput) ToLookupGroupResultOutput

func (o LookupGroupResultOutput) ToLookupGroupResultOutput() LookupGroupResultOutput

func (LookupGroupResultOutput) ToLookupGroupResultOutputWithContext

func (o LookupGroupResultOutput) ToLookupGroupResultOutputWithContext(ctx context.Context) LookupGroupResultOutput

func (LookupGroupResultOutput) VpcZoneIdentifier

func (o LookupGroupResultOutput) VpcZoneIdentifier() pulumi.StringOutput

VPC ID for the group.

type Metric

type Metric string

See https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_EnableMetricsCollection.html

func (Metric) ElementType

func (Metric) ElementType() reflect.Type

func (Metric) ToMetricOutput

func (e Metric) ToMetricOutput() MetricOutput

func (Metric) ToMetricOutputWithContext

func (e Metric) ToMetricOutputWithContext(ctx context.Context) MetricOutput

func (Metric) ToMetricPtrOutput

func (e Metric) ToMetricPtrOutput() MetricPtrOutput

func (Metric) ToMetricPtrOutputWithContext

func (e Metric) ToMetricPtrOutputWithContext(ctx context.Context) MetricPtrOutput

func (Metric) ToStringOutput

func (e Metric) ToStringOutput() pulumi.StringOutput

func (Metric) ToStringOutputWithContext

func (e Metric) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (Metric) ToStringPtrOutput

func (e Metric) ToStringPtrOutput() pulumi.StringPtrOutput

func (Metric) ToStringPtrOutputWithContext

func (e Metric) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type MetricInput

type MetricInput interface {
	pulumi.Input

	ToMetricOutput() MetricOutput
	ToMetricOutputWithContext(context.Context) MetricOutput
}

MetricInput is an input type that accepts MetricArgs and MetricOutput values. You can construct a concrete instance of `MetricInput` via:

MetricArgs{...}

type MetricOutput

type MetricOutput struct{ *pulumi.OutputState }

func (MetricOutput) ElementType

func (MetricOutput) ElementType() reflect.Type

func (MetricOutput) ToMetricOutput

func (o MetricOutput) ToMetricOutput() MetricOutput

func (MetricOutput) ToMetricOutputWithContext

func (o MetricOutput) ToMetricOutputWithContext(ctx context.Context) MetricOutput

func (MetricOutput) ToMetricPtrOutput

func (o MetricOutput) ToMetricPtrOutput() MetricPtrOutput

func (MetricOutput) ToMetricPtrOutputWithContext

func (o MetricOutput) ToMetricPtrOutputWithContext(ctx context.Context) MetricPtrOutput

func (MetricOutput) ToStringOutput

func (o MetricOutput) ToStringOutput() pulumi.StringOutput

func (MetricOutput) ToStringOutputWithContext

func (o MetricOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (MetricOutput) ToStringPtrOutput

func (o MetricOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (MetricOutput) ToStringPtrOutputWithContext

func (o MetricOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type MetricPtrInput

type MetricPtrInput interface {
	pulumi.Input

	ToMetricPtrOutput() MetricPtrOutput
	ToMetricPtrOutputWithContext(context.Context) MetricPtrOutput
}

func MetricPtr

func MetricPtr(v string) MetricPtrInput

type MetricPtrOutput

type MetricPtrOutput struct{ *pulumi.OutputState }

func (MetricPtrOutput) Elem

func (o MetricPtrOutput) Elem() MetricOutput

func (MetricPtrOutput) ElementType

func (MetricPtrOutput) ElementType() reflect.Type

func (MetricPtrOutput) ToMetricPtrOutput

func (o MetricPtrOutput) ToMetricPtrOutput() MetricPtrOutput

func (MetricPtrOutput) ToMetricPtrOutputWithContext

func (o MetricPtrOutput) ToMetricPtrOutputWithContext(ctx context.Context) MetricPtrOutput

func (MetricPtrOutput) ToStringPtrOutput

func (o MetricPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (MetricPtrOutput) ToStringPtrOutputWithContext

func (o MetricPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type MetricsGranularity

type MetricsGranularity string

See https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_EnableMetricsCollection.html

func (MetricsGranularity) ElementType

func (MetricsGranularity) ElementType() reflect.Type

func (MetricsGranularity) ToMetricsGranularityOutput

func (e MetricsGranularity) ToMetricsGranularityOutput() MetricsGranularityOutput

func (MetricsGranularity) ToMetricsGranularityOutputWithContext

func (e MetricsGranularity) ToMetricsGranularityOutputWithContext(ctx context.Context) MetricsGranularityOutput

func (MetricsGranularity) ToMetricsGranularityPtrOutput

func (e MetricsGranularity) ToMetricsGranularityPtrOutput() MetricsGranularityPtrOutput

func (MetricsGranularity) ToMetricsGranularityPtrOutputWithContext

func (e MetricsGranularity) ToMetricsGranularityPtrOutputWithContext(ctx context.Context) MetricsGranularityPtrOutput

func (MetricsGranularity) ToStringOutput

func (e MetricsGranularity) ToStringOutput() pulumi.StringOutput

func (MetricsGranularity) ToStringOutputWithContext

func (e MetricsGranularity) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (MetricsGranularity) ToStringPtrOutput

func (e MetricsGranularity) ToStringPtrOutput() pulumi.StringPtrOutput

func (MetricsGranularity) ToStringPtrOutputWithContext

func (e MetricsGranularity) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type MetricsGranularityInput

type MetricsGranularityInput interface {
	pulumi.Input

	ToMetricsGranularityOutput() MetricsGranularityOutput
	ToMetricsGranularityOutputWithContext(context.Context) MetricsGranularityOutput
}

MetricsGranularityInput is an input type that accepts MetricsGranularityArgs and MetricsGranularityOutput values. You can construct a concrete instance of `MetricsGranularityInput` via:

MetricsGranularityArgs{...}

type MetricsGranularityOutput

type MetricsGranularityOutput struct{ *pulumi.OutputState }

func (MetricsGranularityOutput) ElementType

func (MetricsGranularityOutput) ElementType() reflect.Type

func (MetricsGranularityOutput) ToMetricsGranularityOutput

func (o MetricsGranularityOutput) ToMetricsGranularityOutput() MetricsGranularityOutput

func (MetricsGranularityOutput) ToMetricsGranularityOutputWithContext

func (o MetricsGranularityOutput) ToMetricsGranularityOutputWithContext(ctx context.Context) MetricsGranularityOutput

func (MetricsGranularityOutput) ToMetricsGranularityPtrOutput

func (o MetricsGranularityOutput) ToMetricsGranularityPtrOutput() MetricsGranularityPtrOutput

func (MetricsGranularityOutput) ToMetricsGranularityPtrOutputWithContext

func (o MetricsGranularityOutput) ToMetricsGranularityPtrOutputWithContext(ctx context.Context) MetricsGranularityPtrOutput

func (MetricsGranularityOutput) ToStringOutput

func (o MetricsGranularityOutput) ToStringOutput() pulumi.StringOutput

func (MetricsGranularityOutput) ToStringOutputWithContext

func (o MetricsGranularityOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (MetricsGranularityOutput) ToStringPtrOutput

func (o MetricsGranularityOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (MetricsGranularityOutput) ToStringPtrOutputWithContext

func (o MetricsGranularityOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type MetricsGranularityPtrInput

type MetricsGranularityPtrInput interface {
	pulumi.Input

	ToMetricsGranularityPtrOutput() MetricsGranularityPtrOutput
	ToMetricsGranularityPtrOutputWithContext(context.Context) MetricsGranularityPtrOutput
}

func MetricsGranularityPtr

func MetricsGranularityPtr(v string) MetricsGranularityPtrInput

type MetricsGranularityPtrOutput

type MetricsGranularityPtrOutput struct{ *pulumi.OutputState }

func (MetricsGranularityPtrOutput) Elem

func (MetricsGranularityPtrOutput) ElementType

func (MetricsGranularityPtrOutput) ToMetricsGranularityPtrOutput

func (o MetricsGranularityPtrOutput) ToMetricsGranularityPtrOutput() MetricsGranularityPtrOutput

func (MetricsGranularityPtrOutput) ToMetricsGranularityPtrOutputWithContext

func (o MetricsGranularityPtrOutput) ToMetricsGranularityPtrOutputWithContext(ctx context.Context) MetricsGranularityPtrOutput

func (MetricsGranularityPtrOutput) ToStringPtrOutput

func (o MetricsGranularityPtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (MetricsGranularityPtrOutput) ToStringPtrOutputWithContext

func (o MetricsGranularityPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type Notification

type Notification struct {
	pulumi.CustomResourceState

	// A list of AutoScaling Group Names
	GroupNames pulumi.StringArrayOutput `pulumi:"groupNames"`
	// A list of Notification Types that trigger
	// notifications. Acceptable values are documented [in the AWS documentation here](https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_NotificationConfiguration.html)
	Notifications pulumi.StringArrayOutput `pulumi:"notifications"`
	// The Topic ARN for notifications to be sent through
	TopicArn pulumi.StringOutput `pulumi:"topicArn"`
}

Provides an AutoScaling Group with Notification support, via SNS Topics. Each of the `notifications` map to a [Notification Configuration](https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_DescribeNotificationConfigurations.html) inside Amazon Web Services, and are applied to each AutoScaling Group you supply.

## Example Usage

Basic usage:

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := sns.NewTopic(ctx, "example", nil)
		if err != nil {
			return err
		}
		bar, err := autoscaling.NewGroup(ctx, "bar", nil)
		if err != nil {
			return err
		}
		foo, err := autoscaling.NewGroup(ctx, "foo", nil)
		if err != nil {
			return err
		}
		_, err = autoscaling.NewNotification(ctx, "exampleNotifications", &autoscaling.NotificationArgs{
			GroupNames: pulumi.StringArray{
				bar.Name,
				foo.Name,
			},
			Notifications: pulumi.StringArray{
				pulumi.String("autoscaling:EC2_INSTANCE_LAUNCH"),
				pulumi.String("autoscaling:EC2_INSTANCE_TERMINATE"),
				pulumi.String("autoscaling:EC2_INSTANCE_LAUNCH_ERROR"),
				pulumi.String("autoscaling:EC2_INSTANCE_TERMINATE_ERROR"),
			},
			TopicArn: example.Arn,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetNotification

func GetNotification(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *NotificationState, opts ...pulumi.ResourceOption) (*Notification, error)

GetNotification gets an existing Notification 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 NewNotification

func NewNotification(ctx *pulumi.Context,
	name string, args *NotificationArgs, opts ...pulumi.ResourceOption) (*Notification, error)

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

func (*Notification) ElementType

func (*Notification) ElementType() reflect.Type

func (*Notification) ToNotificationOutput

func (i *Notification) ToNotificationOutput() NotificationOutput

func (*Notification) ToNotificationOutputWithContext

func (i *Notification) ToNotificationOutputWithContext(ctx context.Context) NotificationOutput

type NotificationArgs

type NotificationArgs struct {
	// A list of AutoScaling Group Names
	GroupNames pulumi.StringArrayInput
	// A list of Notification Types that trigger
	// notifications. Acceptable values are documented [in the AWS documentation here](https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_NotificationConfiguration.html)
	Notifications pulumi.StringArrayInput
	// The Topic ARN for notifications to be sent through
	TopicArn pulumi.StringInput
}

The set of arguments for constructing a Notification resource.

func (NotificationArgs) ElementType

func (NotificationArgs) ElementType() reflect.Type

type NotificationArray

type NotificationArray []NotificationInput

func (NotificationArray) ElementType

func (NotificationArray) ElementType() reflect.Type

func (NotificationArray) ToNotificationArrayOutput

func (i NotificationArray) ToNotificationArrayOutput() NotificationArrayOutput

func (NotificationArray) ToNotificationArrayOutputWithContext

func (i NotificationArray) ToNotificationArrayOutputWithContext(ctx context.Context) NotificationArrayOutput

type NotificationArrayInput

type NotificationArrayInput interface {
	pulumi.Input

	ToNotificationArrayOutput() NotificationArrayOutput
	ToNotificationArrayOutputWithContext(context.Context) NotificationArrayOutput
}

NotificationArrayInput is an input type that accepts NotificationArray and NotificationArrayOutput values. You can construct a concrete instance of `NotificationArrayInput` via:

NotificationArray{ NotificationArgs{...} }

type NotificationArrayOutput

type NotificationArrayOutput struct{ *pulumi.OutputState }

func (NotificationArrayOutput) ElementType

func (NotificationArrayOutput) ElementType() reflect.Type

func (NotificationArrayOutput) Index

func (NotificationArrayOutput) ToNotificationArrayOutput

func (o NotificationArrayOutput) ToNotificationArrayOutput() NotificationArrayOutput

func (NotificationArrayOutput) ToNotificationArrayOutputWithContext

func (o NotificationArrayOutput) ToNotificationArrayOutputWithContext(ctx context.Context) NotificationArrayOutput

type NotificationInput

type NotificationInput interface {
	pulumi.Input

	ToNotificationOutput() NotificationOutput
	ToNotificationOutputWithContext(ctx context.Context) NotificationOutput
}

type NotificationMap

type NotificationMap map[string]NotificationInput

func (NotificationMap) ElementType

func (NotificationMap) ElementType() reflect.Type

func (NotificationMap) ToNotificationMapOutput

func (i NotificationMap) ToNotificationMapOutput() NotificationMapOutput

func (NotificationMap) ToNotificationMapOutputWithContext

func (i NotificationMap) ToNotificationMapOutputWithContext(ctx context.Context) NotificationMapOutput

type NotificationMapInput

type NotificationMapInput interface {
	pulumi.Input

	ToNotificationMapOutput() NotificationMapOutput
	ToNotificationMapOutputWithContext(context.Context) NotificationMapOutput
}

NotificationMapInput is an input type that accepts NotificationMap and NotificationMapOutput values. You can construct a concrete instance of `NotificationMapInput` via:

NotificationMap{ "key": NotificationArgs{...} }

type NotificationMapOutput

type NotificationMapOutput struct{ *pulumi.OutputState }

func (NotificationMapOutput) ElementType

func (NotificationMapOutput) ElementType() reflect.Type

func (NotificationMapOutput) MapIndex

func (NotificationMapOutput) ToNotificationMapOutput

func (o NotificationMapOutput) ToNotificationMapOutput() NotificationMapOutput

func (NotificationMapOutput) ToNotificationMapOutputWithContext

func (o NotificationMapOutput) ToNotificationMapOutputWithContext(ctx context.Context) NotificationMapOutput

type NotificationOutput

type NotificationOutput struct{ *pulumi.OutputState }

func (NotificationOutput) ElementType

func (NotificationOutput) ElementType() reflect.Type

func (NotificationOutput) ToNotificationOutput

func (o NotificationOutput) ToNotificationOutput() NotificationOutput

func (NotificationOutput) ToNotificationOutputWithContext

func (o NotificationOutput) ToNotificationOutputWithContext(ctx context.Context) NotificationOutput

type NotificationState

type NotificationState struct {
	// A list of AutoScaling Group Names
	GroupNames pulumi.StringArrayInput
	// A list of Notification Types that trigger
	// notifications. Acceptable values are documented [in the AWS documentation here](https://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_NotificationConfiguration.html)
	Notifications pulumi.StringArrayInput
	// The Topic ARN for notifications to be sent through
	TopicArn pulumi.StringPtrInput
}

func (NotificationState) ElementType

func (NotificationState) ElementType() reflect.Type

type NotificationType

type NotificationType string

See https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_NotificationConfiguration.html

func (NotificationType) ElementType

func (NotificationType) ElementType() reflect.Type

func (NotificationType) ToNotificationTypeOutput

func (e NotificationType) ToNotificationTypeOutput() NotificationTypeOutput

func (NotificationType) ToNotificationTypeOutputWithContext

func (e NotificationType) ToNotificationTypeOutputWithContext(ctx context.Context) NotificationTypeOutput

func (NotificationType) ToNotificationTypePtrOutput

func (e NotificationType) ToNotificationTypePtrOutput() NotificationTypePtrOutput

func (NotificationType) ToNotificationTypePtrOutputWithContext

func (e NotificationType) ToNotificationTypePtrOutputWithContext(ctx context.Context) NotificationTypePtrOutput

func (NotificationType) ToStringOutput

func (e NotificationType) ToStringOutput() pulumi.StringOutput

func (NotificationType) ToStringOutputWithContext

func (e NotificationType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (NotificationType) ToStringPtrOutput

func (e NotificationType) ToStringPtrOutput() pulumi.StringPtrOutput

func (NotificationType) ToStringPtrOutputWithContext

func (e NotificationType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type NotificationTypeInput

type NotificationTypeInput interface {
	pulumi.Input

	ToNotificationTypeOutput() NotificationTypeOutput
	ToNotificationTypeOutputWithContext(context.Context) NotificationTypeOutput
}

NotificationTypeInput is an input type that accepts NotificationTypeArgs and NotificationTypeOutput values. You can construct a concrete instance of `NotificationTypeInput` via:

NotificationTypeArgs{...}

type NotificationTypeOutput

type NotificationTypeOutput struct{ *pulumi.OutputState }

func (NotificationTypeOutput) ElementType

func (NotificationTypeOutput) ElementType() reflect.Type

func (NotificationTypeOutput) ToNotificationTypeOutput

func (o NotificationTypeOutput) ToNotificationTypeOutput() NotificationTypeOutput

func (NotificationTypeOutput) ToNotificationTypeOutputWithContext

func (o NotificationTypeOutput) ToNotificationTypeOutputWithContext(ctx context.Context) NotificationTypeOutput

func (NotificationTypeOutput) ToNotificationTypePtrOutput

func (o NotificationTypeOutput) ToNotificationTypePtrOutput() NotificationTypePtrOutput

func (NotificationTypeOutput) ToNotificationTypePtrOutputWithContext

func (o NotificationTypeOutput) ToNotificationTypePtrOutputWithContext(ctx context.Context) NotificationTypePtrOutput

func (NotificationTypeOutput) ToStringOutput

func (o NotificationTypeOutput) ToStringOutput() pulumi.StringOutput

func (NotificationTypeOutput) ToStringOutputWithContext

func (o NotificationTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (NotificationTypeOutput) ToStringPtrOutput

func (o NotificationTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (NotificationTypeOutput) ToStringPtrOutputWithContext

func (o NotificationTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type NotificationTypePtrInput

type NotificationTypePtrInput interface {
	pulumi.Input

	ToNotificationTypePtrOutput() NotificationTypePtrOutput
	ToNotificationTypePtrOutputWithContext(context.Context) NotificationTypePtrOutput
}

func NotificationTypePtr

func NotificationTypePtr(v string) NotificationTypePtrInput

type NotificationTypePtrOutput

type NotificationTypePtrOutput struct{ *pulumi.OutputState }

func (NotificationTypePtrOutput) Elem

func (NotificationTypePtrOutput) ElementType

func (NotificationTypePtrOutput) ElementType() reflect.Type

func (NotificationTypePtrOutput) ToNotificationTypePtrOutput

func (o NotificationTypePtrOutput) ToNotificationTypePtrOutput() NotificationTypePtrOutput

func (NotificationTypePtrOutput) ToNotificationTypePtrOutputWithContext

func (o NotificationTypePtrOutput) ToNotificationTypePtrOutputWithContext(ctx context.Context) NotificationTypePtrOutput

func (NotificationTypePtrOutput) ToStringPtrOutput

func (o NotificationTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (NotificationTypePtrOutput) ToStringPtrOutputWithContext

func (o NotificationTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type Policy

type Policy struct {
	pulumi.CustomResourceState

	// Specifies whether the adjustment is an absolute number or a percentage of the current capacity. Valid values are `ChangeInCapacity`, `ExactCapacity`, and `PercentChangeInCapacity`.
	AdjustmentType pulumi.StringPtrOutput `pulumi:"adjustmentType"`
	// The ARN assigned by AWS to the scaling policy.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The name of the autoscaling group.
	AutoscalingGroupName pulumi.StringOutput `pulumi:"autoscalingGroupName"`
	// The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
	Cooldown pulumi.IntPtrOutput `pulumi:"cooldown"`
	// The estimated time, in seconds, until a newly launched instance will contribute CloudWatch metrics. Without a value, AWS will default to the group's specified cooldown period.
	EstimatedInstanceWarmup pulumi.IntPtrOutput `pulumi:"estimatedInstanceWarmup"`
	// 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.StringOutput `pulumi:"metricAggregationType"`
	// Minimum value to scale by when `adjustmentType` is set to `PercentChangeInCapacity`.
	MinAdjustmentMagnitude pulumi.IntPtrOutput `pulumi:"minAdjustmentMagnitude"`
	// The name of the dimension.
	Name pulumi.StringOutput `pulumi:"name"`
	// The policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
	PolicyType pulumi.StringPtrOutput `pulumi:"policyType"`
	// The predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
	PredictiveScalingConfiguration PolicyPredictiveScalingConfigurationPtrOutput `pulumi:"predictiveScalingConfiguration"`
	// 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.IntPtrOutput `pulumi:"scalingAdjustment"`
	// A set of adjustments that manage
	// group scaling. These have the following structure:
	StepAdjustments PolicyStepAdjustmentArrayOutput `pulumi:"stepAdjustments"`
	// A target tracking policy. These have the following structure:
	TargetTrackingConfiguration PolicyTargetTrackingConfigurationPtrOutput `pulumi:"targetTrackingConfiguration"`
}

Provides an AutoScaling Scaling Policy resource.

> **NOTE:** You may want to omit `desiredCapacity` attribute from attached `autoscaling.Group` when using autoscaling policies. It's good practice to pick either [manual](https://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-manual-scaling.html) or [dynamic](https://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-scale-based-on-demand.html) (policy-based) scaling.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		bar, err := autoscaling.NewGroup(ctx, "bar", &autoscaling.GroupArgs{
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-east-1a"),
			},
			MaxSize:                pulumi.Int(5),
			MinSize:                pulumi.Int(2),
			HealthCheckGracePeriod: pulumi.Int(300),
			HealthCheckType:        pulumi.String("ELB"),
			ForceDelete:            pulumi.Bool(true),
			LaunchConfiguration:    pulumi.Any(aws_launch_configuration.Foo.Name),
		})
		if err != nil {
			return err
		}
		_, err = autoscaling.NewPolicy(ctx, "bat", &autoscaling.PolicyArgs{
			ScalingAdjustment:    pulumi.Int(4),
			AdjustmentType:       pulumi.String("ChangeInCapacity"),
			Cooldown:             pulumi.Int(300),
			AutoscalingGroupName: bar.Name,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

AutoScaling scaling policy can be imported using the role autoscaling_group_name and name separated by `/`.

```sh

$ pulumi import aws:autoscaling/policy:Policy test-policy asg-name/policy-name

```

func GetPolicy

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

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

func NewPolicy

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

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

func (*Policy) ElementType

func (*Policy) ElementType() reflect.Type

func (*Policy) ToPolicyOutput

func (i *Policy) ToPolicyOutput() PolicyOutput

func (*Policy) ToPolicyOutputWithContext

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

type PolicyArgs

type PolicyArgs struct {
	// 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
	// The name of the autoscaling group.
	AutoscalingGroupName pulumi.StringInput
	// The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
	Cooldown pulumi.IntPtrInput
	// The estimated time, in seconds, until a newly launched instance will contribute CloudWatch metrics. Without a value, AWS will default to the group's specified cooldown period.
	EstimatedInstanceWarmup pulumi.IntPtrInput
	// 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
	// Minimum value to scale by when `adjustmentType` is set to `PercentChangeInCapacity`.
	MinAdjustmentMagnitude pulumi.IntPtrInput
	// The name of the dimension.
	Name pulumi.StringPtrInput
	// The policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
	PolicyType pulumi.StringPtrInput
	// The predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
	PredictiveScalingConfiguration PolicyPredictiveScalingConfigurationPtrInput
	// 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.IntPtrInput
	// A set of adjustments that manage
	// group scaling. These have the following structure:
	StepAdjustments PolicyStepAdjustmentArrayInput
	// A target tracking policy. These have the following structure:
	TargetTrackingConfiguration PolicyTargetTrackingConfigurationPtrInput
}

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

type PolicyPredictiveScalingConfiguration

type PolicyPredictiveScalingConfiguration struct {
	// Defines the behavior that should be applied if the forecast capacity approaches or exceeds the maximum capacity of the Auto Scaling group. Valid values are `HonorMaxCapacity` or `IncreaseMaxCapacity`. Default is `HonorMaxCapacity`.
	MaxCapacityBreachBehavior *string `pulumi:"maxCapacityBreachBehavior"`
	// The size of the capacity buffer to use when the forecast capacity is close to or exceeds the maximum capacity. Valid range is `0` to `100`. If set to `0`, Amazon EC2 Auto Scaling may scale capacity higher than the maximum capacity to equal but not exceed forecast capacity.
	MaxCapacityBuffer *string `pulumi:"maxCapacityBuffer"`
	// This structure includes the metrics and target utilization to use for predictive scaling.
	MetricSpecification PolicyPredictiveScalingConfigurationMetricSpecification `pulumi:"metricSpecification"`
	// The predictive scaling mode. Valid values are `ForecastAndScale` and `ForecastOnly`. Default is `ForecastOnly`.
	Mode *string `pulumi:"mode"`
	// The amount of time, in seconds, by which the instance launch time can be advanced. Minimum is `0`.
	SchedulingBufferTime *string `pulumi:"schedulingBufferTime"`
}

type PolicyPredictiveScalingConfigurationArgs

type PolicyPredictiveScalingConfigurationArgs struct {
	// Defines the behavior that should be applied if the forecast capacity approaches or exceeds the maximum capacity of the Auto Scaling group. Valid values are `HonorMaxCapacity` or `IncreaseMaxCapacity`. Default is `HonorMaxCapacity`.
	MaxCapacityBreachBehavior pulumi.StringPtrInput `pulumi:"maxCapacityBreachBehavior"`
	// The size of the capacity buffer to use when the forecast capacity is close to or exceeds the maximum capacity. Valid range is `0` to `100`. If set to `0`, Amazon EC2 Auto Scaling may scale capacity higher than the maximum capacity to equal but not exceed forecast capacity.
	MaxCapacityBuffer pulumi.StringPtrInput `pulumi:"maxCapacityBuffer"`
	// This structure includes the metrics and target utilization to use for predictive scaling.
	MetricSpecification PolicyPredictiveScalingConfigurationMetricSpecificationInput `pulumi:"metricSpecification"`
	// The predictive scaling mode. Valid values are `ForecastAndScale` and `ForecastOnly`. Default is `ForecastOnly`.
	Mode pulumi.StringPtrInput `pulumi:"mode"`
	// The amount of time, in seconds, by which the instance launch time can be advanced. Minimum is `0`.
	SchedulingBufferTime pulumi.StringPtrInput `pulumi:"schedulingBufferTime"`
}

func (PolicyPredictiveScalingConfigurationArgs) ElementType

func (PolicyPredictiveScalingConfigurationArgs) ToPolicyPredictiveScalingConfigurationOutput

func (i PolicyPredictiveScalingConfigurationArgs) ToPolicyPredictiveScalingConfigurationOutput() PolicyPredictiveScalingConfigurationOutput

func (PolicyPredictiveScalingConfigurationArgs) ToPolicyPredictiveScalingConfigurationOutputWithContext

func (i PolicyPredictiveScalingConfigurationArgs) ToPolicyPredictiveScalingConfigurationOutputWithContext(ctx context.Context) PolicyPredictiveScalingConfigurationOutput

func (PolicyPredictiveScalingConfigurationArgs) ToPolicyPredictiveScalingConfigurationPtrOutput

func (i PolicyPredictiveScalingConfigurationArgs) ToPolicyPredictiveScalingConfigurationPtrOutput() PolicyPredictiveScalingConfigurationPtrOutput

func (PolicyPredictiveScalingConfigurationArgs) ToPolicyPredictiveScalingConfigurationPtrOutputWithContext

func (i PolicyPredictiveScalingConfigurationArgs) ToPolicyPredictiveScalingConfigurationPtrOutputWithContext(ctx context.Context) PolicyPredictiveScalingConfigurationPtrOutput

type PolicyPredictiveScalingConfigurationInput

type PolicyPredictiveScalingConfigurationInput interface {
	pulumi.Input

	ToPolicyPredictiveScalingConfigurationOutput() PolicyPredictiveScalingConfigurationOutput
	ToPolicyPredictiveScalingConfigurationOutputWithContext(context.Context) PolicyPredictiveScalingConfigurationOutput
}

PolicyPredictiveScalingConfigurationInput is an input type that accepts PolicyPredictiveScalingConfigurationArgs and PolicyPredictiveScalingConfigurationOutput values. You can construct a concrete instance of `PolicyPredictiveScalingConfigurationInput` via:

PolicyPredictiveScalingConfigurationArgs{...}

type PolicyPredictiveScalingConfigurationMetricSpecification

type PolicyPredictiveScalingConfigurationMetricSpecification struct {
	// The load metric specification.
	PredefinedLoadMetricSpecification *PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecification `pulumi:"predefinedLoadMetricSpecification"`
	// The metric pair specification from which Amazon EC2 Auto Scaling determines the appropriate scaling metric and load metric to use.
	PredefinedMetricPairSpecification *PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecification `pulumi:"predefinedMetricPairSpecification"`
	// The scaling metric specification.
	PredefinedScalingMetricSpecification *PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecification `pulumi:"predefinedScalingMetricSpecification"`
	// The target value for the metric.
	TargetValue int `pulumi:"targetValue"`
}

type PolicyPredictiveScalingConfigurationMetricSpecificationArgs

type PolicyPredictiveScalingConfigurationMetricSpecificationArgs struct {
	// The load metric specification.
	PredefinedLoadMetricSpecification PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationPtrInput `pulumi:"predefinedLoadMetricSpecification"`
	// The metric pair specification from which Amazon EC2 Auto Scaling determines the appropriate scaling metric and load metric to use.
	PredefinedMetricPairSpecification PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationPtrInput `pulumi:"predefinedMetricPairSpecification"`
	// The scaling metric specification.
	PredefinedScalingMetricSpecification PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationPtrInput `pulumi:"predefinedScalingMetricSpecification"`
	// The target value for the metric.
	TargetValue pulumi.IntInput `pulumi:"targetValue"`
}

func (PolicyPredictiveScalingConfigurationMetricSpecificationArgs) ElementType

func (PolicyPredictiveScalingConfigurationMetricSpecificationArgs) ToPolicyPredictiveScalingConfigurationMetricSpecificationOutput

func (PolicyPredictiveScalingConfigurationMetricSpecificationArgs) ToPolicyPredictiveScalingConfigurationMetricSpecificationOutputWithContext

func (i PolicyPredictiveScalingConfigurationMetricSpecificationArgs) ToPolicyPredictiveScalingConfigurationMetricSpecificationOutputWithContext(ctx context.Context) PolicyPredictiveScalingConfigurationMetricSpecificationOutput

func (PolicyPredictiveScalingConfigurationMetricSpecificationArgs) ToPolicyPredictiveScalingConfigurationMetricSpecificationPtrOutput

func (PolicyPredictiveScalingConfigurationMetricSpecificationArgs) ToPolicyPredictiveScalingConfigurationMetricSpecificationPtrOutputWithContext

func (i PolicyPredictiveScalingConfigurationMetricSpecificationArgs) ToPolicyPredictiveScalingConfigurationMetricSpecificationPtrOutputWithContext(ctx context.Context) PolicyPredictiveScalingConfigurationMetricSpecificationPtrOutput

type PolicyPredictiveScalingConfigurationMetricSpecificationInput

type PolicyPredictiveScalingConfigurationMetricSpecificationInput interface {
	pulumi.Input

	ToPolicyPredictiveScalingConfigurationMetricSpecificationOutput() PolicyPredictiveScalingConfigurationMetricSpecificationOutput
	ToPolicyPredictiveScalingConfigurationMetricSpecificationOutputWithContext(context.Context) PolicyPredictiveScalingConfigurationMetricSpecificationOutput
}

PolicyPredictiveScalingConfigurationMetricSpecificationInput is an input type that accepts PolicyPredictiveScalingConfigurationMetricSpecificationArgs and PolicyPredictiveScalingConfigurationMetricSpecificationOutput values. You can construct a concrete instance of `PolicyPredictiveScalingConfigurationMetricSpecificationInput` via:

PolicyPredictiveScalingConfigurationMetricSpecificationArgs{...}

type PolicyPredictiveScalingConfigurationMetricSpecificationOutput

type PolicyPredictiveScalingConfigurationMetricSpecificationOutput struct{ *pulumi.OutputState }

func (PolicyPredictiveScalingConfigurationMetricSpecificationOutput) ElementType

func (PolicyPredictiveScalingConfigurationMetricSpecificationOutput) PredefinedLoadMetricSpecification

The load metric specification.

func (PolicyPredictiveScalingConfigurationMetricSpecificationOutput) PredefinedMetricPairSpecification

The metric pair specification from which Amazon EC2 Auto Scaling determines the appropriate scaling metric and load metric to use.

func (PolicyPredictiveScalingConfigurationMetricSpecificationOutput) PredefinedScalingMetricSpecification

The scaling metric specification.

func (PolicyPredictiveScalingConfigurationMetricSpecificationOutput) TargetValue

The target value for the metric.

func (PolicyPredictiveScalingConfigurationMetricSpecificationOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationOutput

func (PolicyPredictiveScalingConfigurationMetricSpecificationOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationOutputWithContext

func (o PolicyPredictiveScalingConfigurationMetricSpecificationOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationOutputWithContext(ctx context.Context) PolicyPredictiveScalingConfigurationMetricSpecificationOutput

func (PolicyPredictiveScalingConfigurationMetricSpecificationOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationPtrOutput

func (PolicyPredictiveScalingConfigurationMetricSpecificationOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationPtrOutputWithContext

func (o PolicyPredictiveScalingConfigurationMetricSpecificationOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationPtrOutputWithContext(ctx context.Context) PolicyPredictiveScalingConfigurationMetricSpecificationPtrOutput

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecification

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecification struct {
	// Describes a scaling metric for a predictive scaling policy. Valid values are `ASGAverageCPUUtilization`, `ASGAverageNetworkIn`, `ASGAverageNetworkOut`, or `ALBRequestCountPerTarget`.
	PredefinedMetricType string `pulumi:"predefinedMetricType"`
	// A label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group.
	ResourceLabel string `pulumi:"resourceLabel"`
}

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs struct {
	// Describes a scaling metric for a predictive scaling policy. Valid values are `ASGAverageCPUUtilization`, `ASGAverageNetworkIn`, `ASGAverageNetworkOut`, or `ALBRequestCountPerTarget`.
	PredefinedMetricType pulumi.StringInput `pulumi:"predefinedMetricType"`
	// A label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group.
	ResourceLabel pulumi.StringInput `pulumi:"resourceLabel"`
}

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs) ElementType

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationOutput

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationOutputWithContext

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationPtrOutput

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationPtrOutputWithContext

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationInput

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationInput interface {
	pulumi.Input

	ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationOutput() PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationOutput
	ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationOutputWithContext(context.Context) PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationOutput
}

PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationInput is an input type that accepts PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs and PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationOutput values. You can construct a concrete instance of `PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationInput` via:

PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs{...}

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationOutput

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationOutput struct{ *pulumi.OutputState }

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationOutput) ElementType

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationOutput) PredefinedMetricType

Describes a scaling metric for a predictive scaling policy. Valid values are `ASGAverageCPUUtilization`, `ASGAverageNetworkIn`, `ASGAverageNetworkOut`, or `ALBRequestCountPerTarget`.

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationOutput) ResourceLabel

A label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group.

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationOutput

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationOutputWithContext

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationPtrOutput

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationPtrOutputWithContext

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationPtrInput

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationPtrInput interface {
	pulumi.Input

	ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationPtrOutput() PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationPtrOutput
	ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationPtrOutputWithContext(context.Context) PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationPtrOutput
}

PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationPtrInput is an input type that accepts PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs, PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationPtr and PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationPtrOutput values. You can construct a concrete instance of `PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationPtrInput` via:

        PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationArgs{...}

or:

        nil

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationPtrOutput

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationPtrOutput struct{ *pulumi.OutputState }

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationPtrOutput) ElementType

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationPtrOutput) PredefinedMetricType

Describes a scaling metric for a predictive scaling policy. Valid values are `ASGAverageCPUUtilization`, `ASGAverageNetworkIn`, `ASGAverageNetworkOut`, or `ALBRequestCountPerTarget`.

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationPtrOutput) ResourceLabel

A label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group.

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationPtrOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationPtrOutput

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationPtrOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedLoadMetricSpecificationPtrOutputWithContext

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecification

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecification struct {
	// Describes a scaling metric for a predictive scaling policy. Valid values are `ASGAverageCPUUtilization`, `ASGAverageNetworkIn`, `ASGAverageNetworkOut`, or `ALBRequestCountPerTarget`.
	PredefinedMetricType string `pulumi:"predefinedMetricType"`
	// A label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group.
	ResourceLabel string `pulumi:"resourceLabel"`
}

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationArgs

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationArgs struct {
	// Describes a scaling metric for a predictive scaling policy. Valid values are `ASGAverageCPUUtilization`, `ASGAverageNetworkIn`, `ASGAverageNetworkOut`, or `ALBRequestCountPerTarget`.
	PredefinedMetricType pulumi.StringInput `pulumi:"predefinedMetricType"`
	// A label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group.
	ResourceLabel pulumi.StringInput `pulumi:"resourceLabel"`
}

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationArgs) ElementType

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationArgs) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationOutput

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationArgs) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationOutputWithContext

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationArgs) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationPtrOutput

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationArgs) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationPtrOutputWithContext

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationInput

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationInput interface {
	pulumi.Input

	ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationOutput() PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationOutput
	ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationOutputWithContext(context.Context) PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationOutput
}

PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationInput is an input type that accepts PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationArgs and PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationOutput values. You can construct a concrete instance of `PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationInput` via:

PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationArgs{...}

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationOutput

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationOutput struct{ *pulumi.OutputState }

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationOutput) ElementType

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationOutput) PredefinedMetricType

Describes a scaling metric for a predictive scaling policy. Valid values are `ASGAverageCPUUtilization`, `ASGAverageNetworkIn`, `ASGAverageNetworkOut`, or `ALBRequestCountPerTarget`.

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationOutput) ResourceLabel

A label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group.

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationOutput

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationOutputWithContext

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationPtrOutput

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationPtrOutputWithContext

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationPtrInput

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationPtrInput interface {
	pulumi.Input

	ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationPtrOutput() PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationPtrOutput
	ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationPtrOutputWithContext(context.Context) PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationPtrOutput
}

PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationPtrInput is an input type that accepts PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationArgs, PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationPtr and PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationPtrOutput values. You can construct a concrete instance of `PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationPtrInput` via:

        PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationArgs{...}

or:

        nil

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationPtrOutput

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationPtrOutput struct{ *pulumi.OutputState }

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationPtrOutput) ElementType

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationPtrOutput) PredefinedMetricType

Describes a scaling metric for a predictive scaling policy. Valid values are `ASGAverageCPUUtilization`, `ASGAverageNetworkIn`, `ASGAverageNetworkOut`, or `ALBRequestCountPerTarget`.

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationPtrOutput) ResourceLabel

A label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group.

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationPtrOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationPtrOutput

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationPtrOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedMetricPairSpecificationPtrOutputWithContext

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecification

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecification struct {
	// Describes a scaling metric for a predictive scaling policy. Valid values are `ASGAverageCPUUtilization`, `ASGAverageNetworkIn`, `ASGAverageNetworkOut`, or `ALBRequestCountPerTarget`.
	PredefinedMetricType string `pulumi:"predefinedMetricType"`
	// A label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group.
	ResourceLabel string `pulumi:"resourceLabel"`
}

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationArgs

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationArgs struct {
	// Describes a scaling metric for a predictive scaling policy. Valid values are `ASGAverageCPUUtilization`, `ASGAverageNetworkIn`, `ASGAverageNetworkOut`, or `ALBRequestCountPerTarget`.
	PredefinedMetricType pulumi.StringInput `pulumi:"predefinedMetricType"`
	// A label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group.
	ResourceLabel pulumi.StringInput `pulumi:"resourceLabel"`
}

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationArgs) ElementType

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationArgs) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationOutput

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationArgs) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationOutputWithContext

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationArgs) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationPtrOutput

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationArgs) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationPtrOutputWithContext

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationInput

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationInput interface {
	pulumi.Input

	ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationOutput() PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationOutput
	ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationOutputWithContext(context.Context) PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationOutput
}

PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationInput is an input type that accepts PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationArgs and PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationOutput values. You can construct a concrete instance of `PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationInput` via:

PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationArgs{...}

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationOutput

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationOutput struct{ *pulumi.OutputState }

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationOutput) ElementType

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationOutput) PredefinedMetricType

Describes a scaling metric for a predictive scaling policy. Valid values are `ASGAverageCPUUtilization`, `ASGAverageNetworkIn`, `ASGAverageNetworkOut`, or `ALBRequestCountPerTarget`.

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationOutput) ResourceLabel

A label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group.

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationOutput

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationOutputWithContext

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationPtrOutput

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationPtrOutputWithContext

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationPtrInput

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationPtrInput interface {
	pulumi.Input

	ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationPtrOutput() PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationPtrOutput
	ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationPtrOutputWithContext(context.Context) PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationPtrOutput
}

PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationPtrInput is an input type that accepts PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationArgs, PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationPtr and PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationPtrOutput values. You can construct a concrete instance of `PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationPtrInput` via:

        PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationArgs{...}

or:

        nil

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationPtrOutput

type PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationPtrOutput struct{ *pulumi.OutputState }

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationPtrOutput) ElementType

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationPtrOutput) PredefinedMetricType

Describes a scaling metric for a predictive scaling policy. Valid values are `ASGAverageCPUUtilization`, `ASGAverageNetworkIn`, `ASGAverageNetworkOut`, or `ALBRequestCountPerTarget`.

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationPtrOutput) ResourceLabel

A label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group.

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationPtrOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationPtrOutput

func (PolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationPtrOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationPredefinedScalingMetricSpecificationPtrOutputWithContext

type PolicyPredictiveScalingConfigurationMetricSpecificationPtrInput

type PolicyPredictiveScalingConfigurationMetricSpecificationPtrInput interface {
	pulumi.Input

	ToPolicyPredictiveScalingConfigurationMetricSpecificationPtrOutput() PolicyPredictiveScalingConfigurationMetricSpecificationPtrOutput
	ToPolicyPredictiveScalingConfigurationMetricSpecificationPtrOutputWithContext(context.Context) PolicyPredictiveScalingConfigurationMetricSpecificationPtrOutput
}

PolicyPredictiveScalingConfigurationMetricSpecificationPtrInput is an input type that accepts PolicyPredictiveScalingConfigurationMetricSpecificationArgs, PolicyPredictiveScalingConfigurationMetricSpecificationPtr and PolicyPredictiveScalingConfigurationMetricSpecificationPtrOutput values. You can construct a concrete instance of `PolicyPredictiveScalingConfigurationMetricSpecificationPtrInput` via:

        PolicyPredictiveScalingConfigurationMetricSpecificationArgs{...}

or:

        nil

type PolicyPredictiveScalingConfigurationMetricSpecificationPtrOutput

type PolicyPredictiveScalingConfigurationMetricSpecificationPtrOutput struct{ *pulumi.OutputState }

func (PolicyPredictiveScalingConfigurationMetricSpecificationPtrOutput) Elem

func (PolicyPredictiveScalingConfigurationMetricSpecificationPtrOutput) ElementType

func (PolicyPredictiveScalingConfigurationMetricSpecificationPtrOutput) PredefinedLoadMetricSpecification

The load metric specification.

func (PolicyPredictiveScalingConfigurationMetricSpecificationPtrOutput) PredefinedMetricPairSpecification

The metric pair specification from which Amazon EC2 Auto Scaling determines the appropriate scaling metric and load metric to use.

func (PolicyPredictiveScalingConfigurationMetricSpecificationPtrOutput) PredefinedScalingMetricSpecification

The scaling metric specification.

func (PolicyPredictiveScalingConfigurationMetricSpecificationPtrOutput) TargetValue

The target value for the metric.

func (PolicyPredictiveScalingConfigurationMetricSpecificationPtrOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationPtrOutput

func (PolicyPredictiveScalingConfigurationMetricSpecificationPtrOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationPtrOutputWithContext

func (o PolicyPredictiveScalingConfigurationMetricSpecificationPtrOutput) ToPolicyPredictiveScalingConfigurationMetricSpecificationPtrOutputWithContext(ctx context.Context) PolicyPredictiveScalingConfigurationMetricSpecificationPtrOutput

type PolicyPredictiveScalingConfigurationOutput

type PolicyPredictiveScalingConfigurationOutput struct{ *pulumi.OutputState }

func (PolicyPredictiveScalingConfigurationOutput) ElementType

func (PolicyPredictiveScalingConfigurationOutput) MaxCapacityBreachBehavior

Defines the behavior that should be applied if the forecast capacity approaches or exceeds the maximum capacity of the Auto Scaling group. Valid values are `HonorMaxCapacity` or `IncreaseMaxCapacity`. Default is `HonorMaxCapacity`.

func (PolicyPredictiveScalingConfigurationOutput) MaxCapacityBuffer

The size of the capacity buffer to use when the forecast capacity is close to or exceeds the maximum capacity. Valid range is `0` to `100`. If set to `0`, Amazon EC2 Auto Scaling may scale capacity higher than the maximum capacity to equal but not exceed forecast capacity.

func (PolicyPredictiveScalingConfigurationOutput) MetricSpecification

This structure includes the metrics and target utilization to use for predictive scaling.

func (PolicyPredictiveScalingConfigurationOutput) Mode

The predictive scaling mode. Valid values are `ForecastAndScale` and `ForecastOnly`. Default is `ForecastOnly`.

func (PolicyPredictiveScalingConfigurationOutput) SchedulingBufferTime

The amount of time, in seconds, by which the instance launch time can be advanced. Minimum is `0`.

func (PolicyPredictiveScalingConfigurationOutput) ToPolicyPredictiveScalingConfigurationOutput

func (o PolicyPredictiveScalingConfigurationOutput) ToPolicyPredictiveScalingConfigurationOutput() PolicyPredictiveScalingConfigurationOutput

func (PolicyPredictiveScalingConfigurationOutput) ToPolicyPredictiveScalingConfigurationOutputWithContext

func (o PolicyPredictiveScalingConfigurationOutput) ToPolicyPredictiveScalingConfigurationOutputWithContext(ctx context.Context) PolicyPredictiveScalingConfigurationOutput

func (PolicyPredictiveScalingConfigurationOutput) ToPolicyPredictiveScalingConfigurationPtrOutput

func (o PolicyPredictiveScalingConfigurationOutput) ToPolicyPredictiveScalingConfigurationPtrOutput() PolicyPredictiveScalingConfigurationPtrOutput

func (PolicyPredictiveScalingConfigurationOutput) ToPolicyPredictiveScalingConfigurationPtrOutputWithContext

func (o PolicyPredictiveScalingConfigurationOutput) ToPolicyPredictiveScalingConfigurationPtrOutputWithContext(ctx context.Context) PolicyPredictiveScalingConfigurationPtrOutput

type PolicyPredictiveScalingConfigurationPtrInput

type PolicyPredictiveScalingConfigurationPtrInput interface {
	pulumi.Input

	ToPolicyPredictiveScalingConfigurationPtrOutput() PolicyPredictiveScalingConfigurationPtrOutput
	ToPolicyPredictiveScalingConfigurationPtrOutputWithContext(context.Context) PolicyPredictiveScalingConfigurationPtrOutput
}

PolicyPredictiveScalingConfigurationPtrInput is an input type that accepts PolicyPredictiveScalingConfigurationArgs, PolicyPredictiveScalingConfigurationPtr and PolicyPredictiveScalingConfigurationPtrOutput values. You can construct a concrete instance of `PolicyPredictiveScalingConfigurationPtrInput` via:

        PolicyPredictiveScalingConfigurationArgs{...}

or:

        nil

type PolicyPredictiveScalingConfigurationPtrOutput

type PolicyPredictiveScalingConfigurationPtrOutput struct{ *pulumi.OutputState }

func (PolicyPredictiveScalingConfigurationPtrOutput) Elem

func (PolicyPredictiveScalingConfigurationPtrOutput) ElementType

func (PolicyPredictiveScalingConfigurationPtrOutput) MaxCapacityBreachBehavior

Defines the behavior that should be applied if the forecast capacity approaches or exceeds the maximum capacity of the Auto Scaling group. Valid values are `HonorMaxCapacity` or `IncreaseMaxCapacity`. Default is `HonorMaxCapacity`.

func (PolicyPredictiveScalingConfigurationPtrOutput) MaxCapacityBuffer

The size of the capacity buffer to use when the forecast capacity is close to or exceeds the maximum capacity. Valid range is `0` to `100`. If set to `0`, Amazon EC2 Auto Scaling may scale capacity higher than the maximum capacity to equal but not exceed forecast capacity.

func (PolicyPredictiveScalingConfigurationPtrOutput) MetricSpecification

This structure includes the metrics and target utilization to use for predictive scaling.

func (PolicyPredictiveScalingConfigurationPtrOutput) Mode

The predictive scaling mode. Valid values are `ForecastAndScale` and `ForecastOnly`. Default is `ForecastOnly`.

func (PolicyPredictiveScalingConfigurationPtrOutput) SchedulingBufferTime

The amount of time, in seconds, by which the instance launch time can be advanced. Minimum is `0`.

func (PolicyPredictiveScalingConfigurationPtrOutput) ToPolicyPredictiveScalingConfigurationPtrOutput

func (o PolicyPredictiveScalingConfigurationPtrOutput) ToPolicyPredictiveScalingConfigurationPtrOutput() PolicyPredictiveScalingConfigurationPtrOutput

func (PolicyPredictiveScalingConfigurationPtrOutput) ToPolicyPredictiveScalingConfigurationPtrOutputWithContext

func (o PolicyPredictiveScalingConfigurationPtrOutput) ToPolicyPredictiveScalingConfigurationPtrOutputWithContext(ctx context.Context) PolicyPredictiveScalingConfigurationPtrOutput

type PolicyState

type PolicyState 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
	// The ARN assigned by AWS to the scaling policy.
	Arn pulumi.StringPtrInput
	// The name of the autoscaling group.
	AutoscalingGroupName pulumi.StringPtrInput
	// The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
	Cooldown pulumi.IntPtrInput
	// The estimated time, in seconds, until a newly launched instance will contribute CloudWatch metrics. Without a value, AWS will default to the group's specified cooldown period.
	EstimatedInstanceWarmup pulumi.IntPtrInput
	// 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
	// Minimum value to scale by when `adjustmentType` is set to `PercentChangeInCapacity`.
	MinAdjustmentMagnitude pulumi.IntPtrInput
	// The name of the dimension.
	Name pulumi.StringPtrInput
	// The policy type, either "SimpleScaling", "StepScaling", "TargetTrackingScaling", or "PredictiveScaling". If this value isn't provided, AWS will default to "SimpleScaling."
	PolicyType pulumi.StringPtrInput
	// The predictive scaling policy configuration to use with Amazon EC2 Auto Scaling.
	PredictiveScalingConfiguration PolicyPredictiveScalingConfigurationPtrInput
	// 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.IntPtrInput
	// A set of adjustments that manage
	// group scaling. These have the following structure:
	StepAdjustments PolicyStepAdjustmentArrayInput
	// A target tracking policy. These have the following structure:
	TargetTrackingConfiguration PolicyTargetTrackingConfigurationPtrInput
}

func (PolicyState) ElementType

func (PolicyState) ElementType() reflect.Type

type PolicyStepAdjustment

type PolicyStepAdjustment 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 positive 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 PolicyStepAdjustmentArgs

type PolicyStepAdjustmentArgs 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 positive 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 (PolicyStepAdjustmentArgs) ElementType

func (PolicyStepAdjustmentArgs) ElementType() reflect.Type

func (PolicyStepAdjustmentArgs) ToPolicyStepAdjustmentOutput

func (i PolicyStepAdjustmentArgs) ToPolicyStepAdjustmentOutput() PolicyStepAdjustmentOutput

func (PolicyStepAdjustmentArgs) ToPolicyStepAdjustmentOutputWithContext

func (i PolicyStepAdjustmentArgs) ToPolicyStepAdjustmentOutputWithContext(ctx context.Context) PolicyStepAdjustmentOutput

type PolicyStepAdjustmentArray

type PolicyStepAdjustmentArray []PolicyStepAdjustmentInput

func (PolicyStepAdjustmentArray) ElementType

func (PolicyStepAdjustmentArray) ElementType() reflect.Type

func (PolicyStepAdjustmentArray) ToPolicyStepAdjustmentArrayOutput

func (i PolicyStepAdjustmentArray) ToPolicyStepAdjustmentArrayOutput() PolicyStepAdjustmentArrayOutput

func (PolicyStepAdjustmentArray) ToPolicyStepAdjustmentArrayOutputWithContext

func (i PolicyStepAdjustmentArray) ToPolicyStepAdjustmentArrayOutputWithContext(ctx context.Context) PolicyStepAdjustmentArrayOutput

type PolicyStepAdjustmentArrayInput

type PolicyStepAdjustmentArrayInput interface {
	pulumi.Input

	ToPolicyStepAdjustmentArrayOutput() PolicyStepAdjustmentArrayOutput
	ToPolicyStepAdjustmentArrayOutputWithContext(context.Context) PolicyStepAdjustmentArrayOutput
}

PolicyStepAdjustmentArrayInput is an input type that accepts PolicyStepAdjustmentArray and PolicyStepAdjustmentArrayOutput values. You can construct a concrete instance of `PolicyStepAdjustmentArrayInput` via:

PolicyStepAdjustmentArray{ PolicyStepAdjustmentArgs{...} }

type PolicyStepAdjustmentArrayOutput

type PolicyStepAdjustmentArrayOutput struct{ *pulumi.OutputState }

func (PolicyStepAdjustmentArrayOutput) ElementType

func (PolicyStepAdjustmentArrayOutput) Index

func (PolicyStepAdjustmentArrayOutput) ToPolicyStepAdjustmentArrayOutput

func (o PolicyStepAdjustmentArrayOutput) ToPolicyStepAdjustmentArrayOutput() PolicyStepAdjustmentArrayOutput

func (PolicyStepAdjustmentArrayOutput) ToPolicyStepAdjustmentArrayOutputWithContext

func (o PolicyStepAdjustmentArrayOutput) ToPolicyStepAdjustmentArrayOutputWithContext(ctx context.Context) PolicyStepAdjustmentArrayOutput

type PolicyStepAdjustmentInput

type PolicyStepAdjustmentInput interface {
	pulumi.Input

	ToPolicyStepAdjustmentOutput() PolicyStepAdjustmentOutput
	ToPolicyStepAdjustmentOutputWithContext(context.Context) PolicyStepAdjustmentOutput
}

PolicyStepAdjustmentInput is an input type that accepts PolicyStepAdjustmentArgs and PolicyStepAdjustmentOutput values. You can construct a concrete instance of `PolicyStepAdjustmentInput` via:

PolicyStepAdjustmentArgs{...}

type PolicyStepAdjustmentOutput

type PolicyStepAdjustmentOutput struct{ *pulumi.OutputState }

func (PolicyStepAdjustmentOutput) ElementType

func (PolicyStepAdjustmentOutput) ElementType() reflect.Type

func (PolicyStepAdjustmentOutput) MetricIntervalLowerBound

func (o PolicyStepAdjustmentOutput) MetricIntervalLowerBound() pulumi.StringPtrOutput

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 (PolicyStepAdjustmentOutput) MetricIntervalUpperBound

func (o PolicyStepAdjustmentOutput) MetricIntervalUpperBound() pulumi.StringPtrOutput

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

func (PolicyStepAdjustmentOutput) ScalingAdjustment

func (o PolicyStepAdjustmentOutput) ScalingAdjustment() pulumi.IntOutput

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 (PolicyStepAdjustmentOutput) ToPolicyStepAdjustmentOutput

func (o PolicyStepAdjustmentOutput) ToPolicyStepAdjustmentOutput() PolicyStepAdjustmentOutput

func (PolicyStepAdjustmentOutput) ToPolicyStepAdjustmentOutputWithContext

func (o PolicyStepAdjustmentOutput) ToPolicyStepAdjustmentOutputWithContext(ctx context.Context) PolicyStepAdjustmentOutput

type PolicyTargetTrackingConfiguration

type PolicyTargetTrackingConfiguration struct {
	// A customized metric. Conflicts with `predefinedMetricSpecification`.
	CustomizedMetricSpecification *PolicyTargetTrackingConfigurationCustomizedMetricSpecification `pulumi:"customizedMetricSpecification"`
	// Indicates whether scale in by the target tracking policy is disabled.
	DisableScaleIn *bool `pulumi:"disableScaleIn"`
	// A predefined metric. Conflicts with `customizedMetricSpecification`.
	PredefinedMetricSpecification *PolicyTargetTrackingConfigurationPredefinedMetricSpecification `pulumi:"predefinedMetricSpecification"`
	// The target value for the metric.
	TargetValue float64 `pulumi:"targetValue"`
}

type PolicyTargetTrackingConfigurationArgs

type PolicyTargetTrackingConfigurationArgs struct {
	// A customized metric. Conflicts with `predefinedMetricSpecification`.
	CustomizedMetricSpecification PolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrInput `pulumi:"customizedMetricSpecification"`
	// Indicates whether scale in by the target tracking policy is disabled.
	DisableScaleIn pulumi.BoolPtrInput `pulumi:"disableScaleIn"`
	// A predefined metric. Conflicts with `customizedMetricSpecification`.
	PredefinedMetricSpecification PolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrInput `pulumi:"predefinedMetricSpecification"`
	// The target value for the metric.
	TargetValue pulumi.Float64Input `pulumi:"targetValue"`
}

func (PolicyTargetTrackingConfigurationArgs) ElementType

func (PolicyTargetTrackingConfigurationArgs) ToPolicyTargetTrackingConfigurationOutput

func (i PolicyTargetTrackingConfigurationArgs) ToPolicyTargetTrackingConfigurationOutput() PolicyTargetTrackingConfigurationOutput

func (PolicyTargetTrackingConfigurationArgs) ToPolicyTargetTrackingConfigurationOutputWithContext

func (i PolicyTargetTrackingConfigurationArgs) ToPolicyTargetTrackingConfigurationOutputWithContext(ctx context.Context) PolicyTargetTrackingConfigurationOutput

func (PolicyTargetTrackingConfigurationArgs) ToPolicyTargetTrackingConfigurationPtrOutput

func (i PolicyTargetTrackingConfigurationArgs) ToPolicyTargetTrackingConfigurationPtrOutput() PolicyTargetTrackingConfigurationPtrOutput

func (PolicyTargetTrackingConfigurationArgs) ToPolicyTargetTrackingConfigurationPtrOutputWithContext

func (i PolicyTargetTrackingConfigurationArgs) ToPolicyTargetTrackingConfigurationPtrOutputWithContext(ctx context.Context) PolicyTargetTrackingConfigurationPtrOutput

type PolicyTargetTrackingConfigurationCustomizedMetricSpecification

type PolicyTargetTrackingConfigurationCustomizedMetricSpecification struct {
	// The dimensions of the metric.
	MetricDimensions []PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimension `pulumi:"metricDimensions"`
	// The name of the metric.
	MetricName string `pulumi:"metricName"`
	// The namespace of the metric.
	Namespace string `pulumi:"namespace"`
	// The statistic of the metric.
	Statistic string `pulumi:"statistic"`
	// The unit of the metric.
	Unit *string `pulumi:"unit"`
}

type PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs

type PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs struct {
	// The dimensions of the metric.
	MetricDimensions PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArrayInput `pulumi:"metricDimensions"`
	// 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.
	Statistic pulumi.StringInput `pulumi:"statistic"`
	// The unit of the metric.
	Unit pulumi.StringPtrInput `pulumi:"unit"`
}

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs) ElementType

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs) ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutput

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs) ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutputWithContext

func (i PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs) ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutputWithContext(ctx context.Context) PolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutput

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs) ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutput

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs) ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutputWithContext

func (i PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs) ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutputWithContext(ctx context.Context) PolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutput

type PolicyTargetTrackingConfigurationCustomizedMetricSpecificationInput

type PolicyTargetTrackingConfigurationCustomizedMetricSpecificationInput interface {
	pulumi.Input

	ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutput() PolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutput
	ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutputWithContext(context.Context) PolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutput
}

PolicyTargetTrackingConfigurationCustomizedMetricSpecificationInput is an input type that accepts PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs and PolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutput values. You can construct a concrete instance of `PolicyTargetTrackingConfigurationCustomizedMetricSpecificationInput` via:

PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs{...}

type PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimension

type PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimension struct {
	// The name of the dimension.
	Name string `pulumi:"name"`
	// The value of the dimension.
	Value string `pulumi:"value"`
}

type PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArgs

type PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArgs struct {
	// The name of the dimension.
	Name pulumi.StringInput `pulumi:"name"`
	// The value of the dimension.
	Value pulumi.StringInput `pulumi:"value"`
}

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArgs) ElementType

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArgs) ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionOutput

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArgs) ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionOutputWithContext

type PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArray

type PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArray []PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionInput

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArray) ElementType

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArray) ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArrayOutput

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArray) ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArrayOutputWithContext

type PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArrayInput

type PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArrayInput interface {
	pulumi.Input

	ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArrayOutput() PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArrayOutput
	ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArrayOutputWithContext(context.Context) PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArrayOutput
}

PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArrayInput is an input type that accepts PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArray and PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArrayOutput values. You can construct a concrete instance of `PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArrayInput` via:

PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArray{ PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArgs{...} }

type PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArrayOutput

type PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArrayOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArrayOutput) ElementType

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArrayOutput) ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArrayOutput

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArrayOutput) ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArrayOutputWithContext

type PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionInput

type PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionInput interface {
	pulumi.Input

	ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionOutput() PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionOutput
	ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionOutputWithContext(context.Context) PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionOutput
}

PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionInput is an input type that accepts PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArgs and PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionOutput values. You can construct a concrete instance of `PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionInput` via:

PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionArgs{...}

type PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionOutput

type PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionOutput) ElementType

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionOutput) Name

The name of the dimension.

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionOutput) ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionOutput

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionOutput) ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionOutputWithContext

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationMetricDimensionOutput) Value

The value of the dimension.

type PolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutput

type PolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutput) ElementType

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutput) MetricDimensions

The dimensions of the metric.

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutput) MetricName

The name of the metric.

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutput) Namespace

The namespace of the metric.

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutput) Statistic

The statistic of the metric.

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutput) ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutput

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutput) ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutputWithContext

func (o PolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutput) ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutputWithContext(ctx context.Context) PolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutput

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutput) ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutput

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutput) ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutputWithContext

func (o PolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutput) ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutputWithContext(ctx context.Context) PolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutput

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationOutput) Unit

The unit of the metric.

type PolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrInput

type PolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrInput interface {
	pulumi.Input

	ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutput() PolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutput
	ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutputWithContext(context.Context) PolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutput
}

PolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrInput is an input type that accepts PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs, PolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtr and PolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutput values. You can construct a concrete instance of `PolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrInput` via:

        PolicyTargetTrackingConfigurationCustomizedMetricSpecificationArgs{...}

or:

        nil

type PolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutput

type PolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutput) Elem

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutput) ElementType

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutput) MetricDimensions

The dimensions of the metric.

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutput) MetricName

The name of the metric.

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutput) Namespace

The namespace of the metric.

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutput) Statistic

The statistic of the metric.

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutput) ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutput

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutput) ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutputWithContext

func (o PolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutput) ToPolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutputWithContext(ctx context.Context) PolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutput

func (PolicyTargetTrackingConfigurationCustomizedMetricSpecificationPtrOutput) Unit

The unit of the metric.

type PolicyTargetTrackingConfigurationInput

type PolicyTargetTrackingConfigurationInput interface {
	pulumi.Input

	ToPolicyTargetTrackingConfigurationOutput() PolicyTargetTrackingConfigurationOutput
	ToPolicyTargetTrackingConfigurationOutputWithContext(context.Context) PolicyTargetTrackingConfigurationOutput
}

PolicyTargetTrackingConfigurationInput is an input type that accepts PolicyTargetTrackingConfigurationArgs and PolicyTargetTrackingConfigurationOutput values. You can construct a concrete instance of `PolicyTargetTrackingConfigurationInput` via:

PolicyTargetTrackingConfigurationArgs{...}

type PolicyTargetTrackingConfigurationOutput

type PolicyTargetTrackingConfigurationOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingConfigurationOutput) CustomizedMetricSpecification

A customized metric. Conflicts with `predefinedMetricSpecification`.

func (PolicyTargetTrackingConfigurationOutput) DisableScaleIn

Indicates whether scale in by the target tracking policy is disabled.

func (PolicyTargetTrackingConfigurationOutput) ElementType

func (PolicyTargetTrackingConfigurationOutput) PredefinedMetricSpecification

A predefined metric. Conflicts with `customizedMetricSpecification`.

func (PolicyTargetTrackingConfigurationOutput) TargetValue

The target value for the metric.

func (PolicyTargetTrackingConfigurationOutput) ToPolicyTargetTrackingConfigurationOutput

func (o PolicyTargetTrackingConfigurationOutput) ToPolicyTargetTrackingConfigurationOutput() PolicyTargetTrackingConfigurationOutput

func (PolicyTargetTrackingConfigurationOutput) ToPolicyTargetTrackingConfigurationOutputWithContext

func (o PolicyTargetTrackingConfigurationOutput) ToPolicyTargetTrackingConfigurationOutputWithContext(ctx context.Context) PolicyTargetTrackingConfigurationOutput

func (PolicyTargetTrackingConfigurationOutput) ToPolicyTargetTrackingConfigurationPtrOutput

func (o PolicyTargetTrackingConfigurationOutput) ToPolicyTargetTrackingConfigurationPtrOutput() PolicyTargetTrackingConfigurationPtrOutput

func (PolicyTargetTrackingConfigurationOutput) ToPolicyTargetTrackingConfigurationPtrOutputWithContext

func (o PolicyTargetTrackingConfigurationOutput) ToPolicyTargetTrackingConfigurationPtrOutputWithContext(ctx context.Context) PolicyTargetTrackingConfigurationPtrOutput

type PolicyTargetTrackingConfigurationPredefinedMetricSpecification

type PolicyTargetTrackingConfigurationPredefinedMetricSpecification struct {
	// Describes a scaling metric for a predictive scaling policy. Valid values are `ASGAverageCPUUtilization`, `ASGAverageNetworkIn`, `ASGAverageNetworkOut`, or `ALBRequestCountPerTarget`.
	PredefinedMetricType string `pulumi:"predefinedMetricType"`
	// A label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group.
	ResourceLabel *string `pulumi:"resourceLabel"`
}

type PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs

type PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs struct {
	// Describes a scaling metric for a predictive scaling policy. Valid values are `ASGAverageCPUUtilization`, `ASGAverageNetworkIn`, `ASGAverageNetworkOut`, or `ALBRequestCountPerTarget`.
	PredefinedMetricType pulumi.StringInput `pulumi:"predefinedMetricType"`
	// A label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group.
	ResourceLabel pulumi.StringPtrInput `pulumi:"resourceLabel"`
}

func (PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs) ElementType

func (PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs) ToPolicyTargetTrackingConfigurationPredefinedMetricSpecificationOutput

func (PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs) ToPolicyTargetTrackingConfigurationPredefinedMetricSpecificationOutputWithContext

func (i PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs) ToPolicyTargetTrackingConfigurationPredefinedMetricSpecificationOutputWithContext(ctx context.Context) PolicyTargetTrackingConfigurationPredefinedMetricSpecificationOutput

func (PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs) ToPolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutput

func (PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs) ToPolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutputWithContext

func (i PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs) ToPolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutputWithContext(ctx context.Context) PolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutput

type PolicyTargetTrackingConfigurationPredefinedMetricSpecificationInput

type PolicyTargetTrackingConfigurationPredefinedMetricSpecificationInput interface {
	pulumi.Input

	ToPolicyTargetTrackingConfigurationPredefinedMetricSpecificationOutput() PolicyTargetTrackingConfigurationPredefinedMetricSpecificationOutput
	ToPolicyTargetTrackingConfigurationPredefinedMetricSpecificationOutputWithContext(context.Context) PolicyTargetTrackingConfigurationPredefinedMetricSpecificationOutput
}

PolicyTargetTrackingConfigurationPredefinedMetricSpecificationInput is an input type that accepts PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs and PolicyTargetTrackingConfigurationPredefinedMetricSpecificationOutput values. You can construct a concrete instance of `PolicyTargetTrackingConfigurationPredefinedMetricSpecificationInput` via:

PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs{...}

type PolicyTargetTrackingConfigurationPredefinedMetricSpecificationOutput

type PolicyTargetTrackingConfigurationPredefinedMetricSpecificationOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingConfigurationPredefinedMetricSpecificationOutput) ElementType

func (PolicyTargetTrackingConfigurationPredefinedMetricSpecificationOutput) PredefinedMetricType

Describes a scaling metric for a predictive scaling policy. Valid values are `ASGAverageCPUUtilization`, `ASGAverageNetworkIn`, `ASGAverageNetworkOut`, or `ALBRequestCountPerTarget`.

func (PolicyTargetTrackingConfigurationPredefinedMetricSpecificationOutput) ResourceLabel

A label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group.

func (PolicyTargetTrackingConfigurationPredefinedMetricSpecificationOutput) ToPolicyTargetTrackingConfigurationPredefinedMetricSpecificationOutput

func (PolicyTargetTrackingConfigurationPredefinedMetricSpecificationOutput) ToPolicyTargetTrackingConfigurationPredefinedMetricSpecificationOutputWithContext

func (o PolicyTargetTrackingConfigurationPredefinedMetricSpecificationOutput) ToPolicyTargetTrackingConfigurationPredefinedMetricSpecificationOutputWithContext(ctx context.Context) PolicyTargetTrackingConfigurationPredefinedMetricSpecificationOutput

func (PolicyTargetTrackingConfigurationPredefinedMetricSpecificationOutput) ToPolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutput

func (PolicyTargetTrackingConfigurationPredefinedMetricSpecificationOutput) ToPolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutputWithContext

func (o PolicyTargetTrackingConfigurationPredefinedMetricSpecificationOutput) ToPolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutputWithContext(ctx context.Context) PolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutput

type PolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrInput

type PolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrInput interface {
	pulumi.Input

	ToPolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutput() PolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutput
	ToPolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutputWithContext(context.Context) PolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutput
}

PolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrInput is an input type that accepts PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs, PolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtr and PolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutput values. You can construct a concrete instance of `PolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrInput` via:

        PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs{...}

or:

        nil

type PolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutput

type PolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutput) Elem

func (PolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutput) ElementType

func (PolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutput) PredefinedMetricType

Describes a scaling metric for a predictive scaling policy. Valid values are `ASGAverageCPUUtilization`, `ASGAverageNetworkIn`, `ASGAverageNetworkOut`, or `ALBRequestCountPerTarget`.

func (PolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutput) ResourceLabel

A label that uniquely identifies a specific Application Load Balancer target group from which to determine the request count served by your Auto Scaling group.

func (PolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutput) ToPolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutput

func (PolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutput) ToPolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutputWithContext

func (o PolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutput) ToPolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutputWithContext(ctx context.Context) PolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutput

type PolicyTargetTrackingConfigurationPtrInput

type PolicyTargetTrackingConfigurationPtrInput interface {
	pulumi.Input

	ToPolicyTargetTrackingConfigurationPtrOutput() PolicyTargetTrackingConfigurationPtrOutput
	ToPolicyTargetTrackingConfigurationPtrOutputWithContext(context.Context) PolicyTargetTrackingConfigurationPtrOutput
}

PolicyTargetTrackingConfigurationPtrInput is an input type that accepts PolicyTargetTrackingConfigurationArgs, PolicyTargetTrackingConfigurationPtr and PolicyTargetTrackingConfigurationPtrOutput values. You can construct a concrete instance of `PolicyTargetTrackingConfigurationPtrInput` via:

        PolicyTargetTrackingConfigurationArgs{...}

or:

        nil

type PolicyTargetTrackingConfigurationPtrOutput

type PolicyTargetTrackingConfigurationPtrOutput struct{ *pulumi.OutputState }

func (PolicyTargetTrackingConfigurationPtrOutput) CustomizedMetricSpecification

A customized metric. Conflicts with `predefinedMetricSpecification`.

func (PolicyTargetTrackingConfigurationPtrOutput) DisableScaleIn

Indicates whether scale in by the target tracking policy is disabled.

func (PolicyTargetTrackingConfigurationPtrOutput) Elem

func (PolicyTargetTrackingConfigurationPtrOutput) ElementType

func (PolicyTargetTrackingConfigurationPtrOutput) PredefinedMetricSpecification

A predefined metric. Conflicts with `customizedMetricSpecification`.

func (PolicyTargetTrackingConfigurationPtrOutput) TargetValue

The target value for the metric.

func (PolicyTargetTrackingConfigurationPtrOutput) ToPolicyTargetTrackingConfigurationPtrOutput

func (o PolicyTargetTrackingConfigurationPtrOutput) ToPolicyTargetTrackingConfigurationPtrOutput() PolicyTargetTrackingConfigurationPtrOutput

func (PolicyTargetTrackingConfigurationPtrOutput) ToPolicyTargetTrackingConfigurationPtrOutputWithContext

func (o PolicyTargetTrackingConfigurationPtrOutput) ToPolicyTargetTrackingConfigurationPtrOutputWithContext(ctx context.Context) PolicyTargetTrackingConfigurationPtrOutput

type Schedule

type Schedule struct {
	pulumi.CustomResourceState

	// The ARN assigned by AWS to the autoscaling schedule.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The name or Amazon Resource Name (ARN) of the Auto Scaling group.
	AutoscalingGroupName pulumi.StringOutput `pulumi:"autoscalingGroupName"`
	// The number of EC2 instances that should be running in the group. Default 0.  Set to -1 if you don't want to change the desired capacity at the scheduled time.
	DesiredCapacity pulumi.IntOutput `pulumi:"desiredCapacity"`
	// The time for this action to end, in "YYYY-MM-DDThh:mm:ssZ" format in UTC/GMT only (for example, 2014-06-01T00:00:00Z ).
	// If you try to schedule your action in the past, Auto Scaling returns an error message.
	EndTime pulumi.StringOutput `pulumi:"endTime"`
	// The maximum size for the Auto Scaling group. Default 0.
	// Set to -1 if you don't want to change the maximum size at the scheduled time.
	MaxSize pulumi.IntOutput `pulumi:"maxSize"`
	// The minimum size for the Auto Scaling group. Default 0.
	// Set to -1 if you don't want to change the minimum size at the scheduled time.
	MinSize pulumi.IntOutput `pulumi:"minSize"`
	// The time when recurring future actions will start. Start time is specified by the user following the Unix cron syntax format.
	Recurrence pulumi.StringOutput `pulumi:"recurrence"`
	// The name of this scaling action.
	ScheduledActionName pulumi.StringOutput `pulumi:"scheduledActionName"`
	// The time for this action to start, in "YYYY-MM-DDThh:mm:ssZ" format in UTC/GMT only (for example, 2014-06-01T00:00:00Z ).
	// If you try to schedule your action in the past, Auto Scaling returns an error message.
	StartTime pulumi.StringOutput `pulumi:"startTime"`
	// The timezone for the cron expression. Valid values are the canonical names of the IANA time zones (such as Etc/GMT+9 or Pacific/Tahiti).
	TimeZone pulumi.StringOutput `pulumi:"timeZone"`
}

Provides an AutoScaling Schedule resource.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		foobarGroup, err := autoscaling.NewGroup(ctx, "foobarGroup", &autoscaling.GroupArgs{
			AvailabilityZones: pulumi.StringArray{
				pulumi.String("us-west-2a"),
			},
			MaxSize:                pulumi.Int(1),
			MinSize:                pulumi.Int(1),
			HealthCheckGracePeriod: pulumi.Int(300),
			HealthCheckType:        pulumi.String("ELB"),
			ForceDelete:            pulumi.Bool(true),
			TerminationPolicies: pulumi.StringArray{
				pulumi.String("OldestInstance"),
			},
		})
		if err != nil {
			return err
		}
		_, err = autoscaling.NewSchedule(ctx, "foobarSchedule", &autoscaling.ScheduleArgs{
			ScheduledActionName:  pulumi.String("foobar"),
			MinSize:              pulumi.Int(0),
			MaxSize:              pulumi.Int(1),
			DesiredCapacity:      pulumi.Int(0),
			StartTime:            pulumi.String("2016-12-11T18:00:00Z"),
			EndTime:              pulumi.String("2016-12-12T06:00:00Z"),
			AutoscalingGroupName: foobarGroup.Name,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

AutoScaling ScheduledAction can be imported using the `auto-scaling-group-name` and `scheduled-action-name`, e.g.,

```sh

$ pulumi import aws:autoscaling/schedule:Schedule resource-name auto-scaling-group-name/scheduled-action-name

```

func GetSchedule

func GetSchedule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ScheduleState, opts ...pulumi.ResourceOption) (*Schedule, error)

GetSchedule gets an existing Schedule 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 NewSchedule

func NewSchedule(ctx *pulumi.Context,
	name string, args *ScheduleArgs, opts ...pulumi.ResourceOption) (*Schedule, error)

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

func (*Schedule) ElementType

func (*Schedule) ElementType() reflect.Type

func (*Schedule) ToScheduleOutput

func (i *Schedule) ToScheduleOutput() ScheduleOutput

func (*Schedule) ToScheduleOutputWithContext

func (i *Schedule) ToScheduleOutputWithContext(ctx context.Context) ScheduleOutput

type ScheduleArgs

type ScheduleArgs struct {
	// The name or Amazon Resource Name (ARN) of the Auto Scaling group.
	AutoscalingGroupName pulumi.StringInput
	// The number of EC2 instances that should be running in the group. Default 0.  Set to -1 if you don't want to change the desired capacity at the scheduled time.
	DesiredCapacity pulumi.IntPtrInput
	// The time for this action to end, in "YYYY-MM-DDThh:mm:ssZ" format in UTC/GMT only (for example, 2014-06-01T00:00:00Z ).
	// If you try to schedule your action in the past, Auto Scaling returns an error message.
	EndTime pulumi.StringPtrInput
	// The maximum size for the Auto Scaling group. Default 0.
	// Set to -1 if you don't want to change the maximum size at the scheduled time.
	MaxSize pulumi.IntPtrInput
	// The minimum size for the Auto Scaling group. Default 0.
	// Set to -1 if you don't want to change the minimum size at the scheduled time.
	MinSize pulumi.IntPtrInput
	// The time when recurring future actions will start. Start time is specified by the user following the Unix cron syntax format.
	Recurrence pulumi.StringPtrInput
	// The name of this scaling action.
	ScheduledActionName pulumi.StringInput
	// The time for this action to start, in "YYYY-MM-DDThh:mm:ssZ" format in UTC/GMT only (for example, 2014-06-01T00:00:00Z ).
	// If you try to schedule your action in the past, Auto Scaling returns an error message.
	StartTime pulumi.StringPtrInput
	// The timezone for the cron expression. Valid values are the canonical names of the IANA time zones (such as Etc/GMT+9 or Pacific/Tahiti).
	TimeZone pulumi.StringPtrInput
}

The set of arguments for constructing a Schedule resource.

func (ScheduleArgs) ElementType

func (ScheduleArgs) ElementType() reflect.Type

type ScheduleArray

type ScheduleArray []ScheduleInput

func (ScheduleArray) ElementType

func (ScheduleArray) ElementType() reflect.Type

func (ScheduleArray) ToScheduleArrayOutput

func (i ScheduleArray) ToScheduleArrayOutput() ScheduleArrayOutput

func (ScheduleArray) ToScheduleArrayOutputWithContext

func (i ScheduleArray) ToScheduleArrayOutputWithContext(ctx context.Context) ScheduleArrayOutput

type ScheduleArrayInput

type ScheduleArrayInput interface {
	pulumi.Input

	ToScheduleArrayOutput() ScheduleArrayOutput
	ToScheduleArrayOutputWithContext(context.Context) ScheduleArrayOutput
}

ScheduleArrayInput is an input type that accepts ScheduleArray and ScheduleArrayOutput values. You can construct a concrete instance of `ScheduleArrayInput` via:

ScheduleArray{ ScheduleArgs{...} }

type ScheduleArrayOutput

type ScheduleArrayOutput struct{ *pulumi.OutputState }

func (ScheduleArrayOutput) ElementType

func (ScheduleArrayOutput) ElementType() reflect.Type

func (ScheduleArrayOutput) Index

func (ScheduleArrayOutput) ToScheduleArrayOutput

func (o ScheduleArrayOutput) ToScheduleArrayOutput() ScheduleArrayOutput

func (ScheduleArrayOutput) ToScheduleArrayOutputWithContext

func (o ScheduleArrayOutput) ToScheduleArrayOutputWithContext(ctx context.Context) ScheduleArrayOutput

type ScheduleInput

type ScheduleInput interface {
	pulumi.Input

	ToScheduleOutput() ScheduleOutput
	ToScheduleOutputWithContext(ctx context.Context) ScheduleOutput
}

type ScheduleMap

type ScheduleMap map[string]ScheduleInput

func (ScheduleMap) ElementType

func (ScheduleMap) ElementType() reflect.Type

func (ScheduleMap) ToScheduleMapOutput

func (i ScheduleMap) ToScheduleMapOutput() ScheduleMapOutput

func (ScheduleMap) ToScheduleMapOutputWithContext

func (i ScheduleMap) ToScheduleMapOutputWithContext(ctx context.Context) ScheduleMapOutput

type ScheduleMapInput

type ScheduleMapInput interface {
	pulumi.Input

	ToScheduleMapOutput() ScheduleMapOutput
	ToScheduleMapOutputWithContext(context.Context) ScheduleMapOutput
}

ScheduleMapInput is an input type that accepts ScheduleMap and ScheduleMapOutput values. You can construct a concrete instance of `ScheduleMapInput` via:

ScheduleMap{ "key": ScheduleArgs{...} }

type ScheduleMapOutput

type ScheduleMapOutput struct{ *pulumi.OutputState }

func (ScheduleMapOutput) ElementType

func (ScheduleMapOutput) ElementType() reflect.Type

func (ScheduleMapOutput) MapIndex

func (ScheduleMapOutput) ToScheduleMapOutput

func (o ScheduleMapOutput) ToScheduleMapOutput() ScheduleMapOutput

func (ScheduleMapOutput) ToScheduleMapOutputWithContext

func (o ScheduleMapOutput) ToScheduleMapOutputWithContext(ctx context.Context) ScheduleMapOutput

type ScheduleOutput

type ScheduleOutput struct{ *pulumi.OutputState }

func (ScheduleOutput) ElementType

func (ScheduleOutput) ElementType() reflect.Type

func (ScheduleOutput) ToScheduleOutput

func (o ScheduleOutput) ToScheduleOutput() ScheduleOutput

func (ScheduleOutput) ToScheduleOutputWithContext

func (o ScheduleOutput) ToScheduleOutputWithContext(ctx context.Context) ScheduleOutput

type ScheduleState

type ScheduleState struct {
	// The ARN assigned by AWS to the autoscaling schedule.
	Arn pulumi.StringPtrInput
	// The name or Amazon Resource Name (ARN) of the Auto Scaling group.
	AutoscalingGroupName pulumi.StringPtrInput
	// The number of EC2 instances that should be running in the group. Default 0.  Set to -1 if you don't want to change the desired capacity at the scheduled time.
	DesiredCapacity pulumi.IntPtrInput
	// The time for this action to end, in "YYYY-MM-DDThh:mm:ssZ" format in UTC/GMT only (for example, 2014-06-01T00:00:00Z ).
	// If you try to schedule your action in the past, Auto Scaling returns an error message.
	EndTime pulumi.StringPtrInput
	// The maximum size for the Auto Scaling group. Default 0.
	// Set to -1 if you don't want to change the maximum size at the scheduled time.
	MaxSize pulumi.IntPtrInput
	// The minimum size for the Auto Scaling group. Default 0.
	// Set to -1 if you don't want to change the minimum size at the scheduled time.
	MinSize pulumi.IntPtrInput
	// The time when recurring future actions will start. Start time is specified by the user following the Unix cron syntax format.
	Recurrence pulumi.StringPtrInput
	// The name of this scaling action.
	ScheduledActionName pulumi.StringPtrInput
	// The time for this action to start, in "YYYY-MM-DDThh:mm:ssZ" format in UTC/GMT only (for example, 2014-06-01T00:00:00Z ).
	// If you try to schedule your action in the past, Auto Scaling returns an error message.
	StartTime pulumi.StringPtrInput
	// The timezone for the cron expression. Valid values are the canonical names of the IANA time zones (such as Etc/GMT+9 or Pacific/Tahiti).
	TimeZone pulumi.StringPtrInput
}

func (ScheduleState) ElementType

func (ScheduleState) ElementType() reflect.Type

type Tag

type Tag struct {
	pulumi.CustomResourceState

	// The name of the Autoscaling Group to apply the tag to.
	AutoscalingGroupName pulumi.StringOutput `pulumi:"autoscalingGroupName"`
	// The tag to create. The `tag` block is documented below.
	Tag TagTagOutput `pulumi:"tag"`
}

## Import

`aws_autoscaling_group_tag` can be imported by using the ASG name and key, separated by a comma (`,`), e.g.,

```sh

$ pulumi import aws:autoscaling/tag:Tag example asg-example,k8s.io/cluster-autoscaler/node-template/label/eks.amazonaws.com/capacityType

```

func GetTag

func GetTag(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *TagState, opts ...pulumi.ResourceOption) (*Tag, error)

GetTag gets an existing Tag 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 NewTag

func NewTag(ctx *pulumi.Context,
	name string, args *TagArgs, opts ...pulumi.ResourceOption) (*Tag, error)

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

func (*Tag) ElementType

func (*Tag) ElementType() reflect.Type

func (*Tag) ToTagOutput

func (i *Tag) ToTagOutput() TagOutput

func (*Tag) ToTagOutputWithContext

func (i *Tag) ToTagOutputWithContext(ctx context.Context) TagOutput

type TagArgs

type TagArgs struct {
	// The name of the Autoscaling Group to apply the tag to.
	AutoscalingGroupName pulumi.StringInput
	// The tag to create. The `tag` block is documented below.
	Tag TagTagInput
}

The set of arguments for constructing a Tag resource.

func (TagArgs) ElementType

func (TagArgs) ElementType() reflect.Type

type TagArray

type TagArray []TagInput

func (TagArray) ElementType

func (TagArray) ElementType() reflect.Type

func (TagArray) ToTagArrayOutput

func (i TagArray) ToTagArrayOutput() TagArrayOutput

func (TagArray) ToTagArrayOutputWithContext

func (i TagArray) ToTagArrayOutputWithContext(ctx context.Context) TagArrayOutput

type TagArrayInput

type TagArrayInput interface {
	pulumi.Input

	ToTagArrayOutput() TagArrayOutput
	ToTagArrayOutputWithContext(context.Context) TagArrayOutput
}

TagArrayInput is an input type that accepts TagArray and TagArrayOutput values. You can construct a concrete instance of `TagArrayInput` via:

TagArray{ TagArgs{...} }

type TagArrayOutput

type TagArrayOutput struct{ *pulumi.OutputState }

func (TagArrayOutput) ElementType

func (TagArrayOutput) ElementType() reflect.Type

func (TagArrayOutput) Index

func (TagArrayOutput) ToTagArrayOutput

func (o TagArrayOutput) ToTagArrayOutput() TagArrayOutput

func (TagArrayOutput) ToTagArrayOutputWithContext

func (o TagArrayOutput) ToTagArrayOutputWithContext(ctx context.Context) TagArrayOutput

type TagInput

type TagInput interface {
	pulumi.Input

	ToTagOutput() TagOutput
	ToTagOutputWithContext(ctx context.Context) TagOutput
}

type TagMap

type TagMap map[string]TagInput

func (TagMap) ElementType

func (TagMap) ElementType() reflect.Type

func (TagMap) ToTagMapOutput

func (i TagMap) ToTagMapOutput() TagMapOutput

func (TagMap) ToTagMapOutputWithContext

func (i TagMap) ToTagMapOutputWithContext(ctx context.Context) TagMapOutput

type TagMapInput

type TagMapInput interface {
	pulumi.Input

	ToTagMapOutput() TagMapOutput
	ToTagMapOutputWithContext(context.Context) TagMapOutput
}

TagMapInput is an input type that accepts TagMap and TagMapOutput values. You can construct a concrete instance of `TagMapInput` via:

TagMap{ "key": TagArgs{...} }

type TagMapOutput

type TagMapOutput struct{ *pulumi.OutputState }

func (TagMapOutput) ElementType

func (TagMapOutput) ElementType() reflect.Type

func (TagMapOutput) MapIndex

func (o TagMapOutput) MapIndex(k pulumi.StringInput) TagOutput

func (TagMapOutput) ToTagMapOutput

func (o TagMapOutput) ToTagMapOutput() TagMapOutput

func (TagMapOutput) ToTagMapOutputWithContext

func (o TagMapOutput) ToTagMapOutputWithContext(ctx context.Context) TagMapOutput

type TagOutput

type TagOutput struct{ *pulumi.OutputState }

func (TagOutput) ElementType

func (TagOutput) ElementType() reflect.Type

func (TagOutput) ToTagOutput

func (o TagOutput) ToTagOutput() TagOutput

func (TagOutput) ToTagOutputWithContext

func (o TagOutput) ToTagOutputWithContext(ctx context.Context) TagOutput

type TagState

type TagState struct {
	// The name of the Autoscaling Group to apply the tag to.
	AutoscalingGroupName pulumi.StringPtrInput
	// The tag to create. The `tag` block is documented below.
	Tag TagTagPtrInput
}

func (TagState) ElementType

func (TagState) ElementType() reflect.Type

type TagTag

type TagTag struct {
	// Tag name.
	Key string `pulumi:"key"`
	// Whether to propagate the tags to instances launched by the ASG.
	PropagateAtLaunch bool `pulumi:"propagateAtLaunch"`
	// Tag value.
	Value string `pulumi:"value"`
}

type TagTagArgs

type TagTagArgs struct {
	// Tag name.
	Key pulumi.StringInput `pulumi:"key"`
	// Whether to propagate the tags to instances launched by the ASG.
	PropagateAtLaunch pulumi.BoolInput `pulumi:"propagateAtLaunch"`
	// Tag value.
	Value pulumi.StringInput `pulumi:"value"`
}

func (TagTagArgs) ElementType

func (TagTagArgs) ElementType() reflect.Type

func (TagTagArgs) ToTagTagOutput

func (i TagTagArgs) ToTagTagOutput() TagTagOutput

func (TagTagArgs) ToTagTagOutputWithContext

func (i TagTagArgs) ToTagTagOutputWithContext(ctx context.Context) TagTagOutput

func (TagTagArgs) ToTagTagPtrOutput

func (i TagTagArgs) ToTagTagPtrOutput() TagTagPtrOutput

func (TagTagArgs) ToTagTagPtrOutputWithContext

func (i TagTagArgs) ToTagTagPtrOutputWithContext(ctx context.Context) TagTagPtrOutput

type TagTagInput

type TagTagInput interface {
	pulumi.Input

	ToTagTagOutput() TagTagOutput
	ToTagTagOutputWithContext(context.Context) TagTagOutput
}

TagTagInput is an input type that accepts TagTagArgs and TagTagOutput values. You can construct a concrete instance of `TagTagInput` via:

TagTagArgs{...}

type TagTagOutput

type TagTagOutput struct{ *pulumi.OutputState }

func (TagTagOutput) ElementType

func (TagTagOutput) ElementType() reflect.Type

func (TagTagOutput) Key

Tag name.

func (TagTagOutput) PropagateAtLaunch

func (o TagTagOutput) PropagateAtLaunch() pulumi.BoolOutput

Whether to propagate the tags to instances launched by the ASG.

func (TagTagOutput) ToTagTagOutput

func (o TagTagOutput) ToTagTagOutput() TagTagOutput

func (TagTagOutput) ToTagTagOutputWithContext

func (o TagTagOutput) ToTagTagOutputWithContext(ctx context.Context) TagTagOutput

func (TagTagOutput) ToTagTagPtrOutput

func (o TagTagOutput) ToTagTagPtrOutput() TagTagPtrOutput

func (TagTagOutput) ToTagTagPtrOutputWithContext

func (o TagTagOutput) ToTagTagPtrOutputWithContext(ctx context.Context) TagTagPtrOutput

func (TagTagOutput) Value

func (o TagTagOutput) Value() pulumi.StringOutput

Tag value.

type TagTagPtrInput

type TagTagPtrInput interface {
	pulumi.Input

	ToTagTagPtrOutput() TagTagPtrOutput
	ToTagTagPtrOutputWithContext(context.Context) TagTagPtrOutput
}

TagTagPtrInput is an input type that accepts TagTagArgs, TagTagPtr and TagTagPtrOutput values. You can construct a concrete instance of `TagTagPtrInput` via:

        TagTagArgs{...}

or:

        nil

func TagTagPtr

func TagTagPtr(v *TagTagArgs) TagTagPtrInput

type TagTagPtrOutput

type TagTagPtrOutput struct{ *pulumi.OutputState }

func (TagTagPtrOutput) Elem

func (o TagTagPtrOutput) Elem() TagTagOutput

func (TagTagPtrOutput) ElementType

func (TagTagPtrOutput) ElementType() reflect.Type

func (TagTagPtrOutput) Key

Tag name.

func (TagTagPtrOutput) PropagateAtLaunch

func (o TagTagPtrOutput) PropagateAtLaunch() pulumi.BoolPtrOutput

Whether to propagate the tags to instances launched by the ASG.

func (TagTagPtrOutput) ToTagTagPtrOutput

func (o TagTagPtrOutput) ToTagTagPtrOutput() TagTagPtrOutput

func (TagTagPtrOutput) ToTagTagPtrOutputWithContext

func (o TagTagPtrOutput) ToTagTagPtrOutputWithContext(ctx context.Context) TagTagPtrOutput

func (TagTagPtrOutput) Value

Tag value.

Jump to

Keyboard shortcuts

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