autoscaling

package
v4.0.0-rc.1 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2021 License: Apache-2.0 Imports: 7 Imported by: 0

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

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/v4/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/v4/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_alb_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/v4/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

func (*Attachment) ToAttachmentPtrOutput

func (i *Attachment) ToAttachmentPtrOutput() AttachmentPtrOutput

func (*Attachment) ToAttachmentPtrOutputWithContext

func (i *Attachment) ToAttachmentPtrOutputWithContext(ctx context.Context) AttachmentPtrOutput

type AttachmentArgs

type AttachmentArgs struct {
	// The ARN of an ALB Target Group.
	AlbTargetGroupArn pulumi.StringPtrInput
	// Name of ASG to associate with the ELB.
	AutoscalingGroupName pulumi.StringInput
	// The name of the ELB.
	Elb 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

func (AttachmentOutput) ToAttachmentPtrOutput

func (o AttachmentOutput) ToAttachmentPtrOutput() AttachmentPtrOutput

func (AttachmentOutput) ToAttachmentPtrOutputWithContext

func (o AttachmentOutput) ToAttachmentPtrOutputWithContext(ctx context.Context) AttachmentPtrOutput

type AttachmentPtrInput

type AttachmentPtrInput interface {
	pulumi.Input

	ToAttachmentPtrOutput() AttachmentPtrOutput
	ToAttachmentPtrOutputWithContext(ctx context.Context) AttachmentPtrOutput
}

type AttachmentPtrOutput

type AttachmentPtrOutput struct {
	*pulumi.OutputState
}

func (AttachmentPtrOutput) ElementType

func (AttachmentPtrOutput) ElementType() reflect.Type

func (AttachmentPtrOutput) ToAttachmentPtrOutput

func (o AttachmentPtrOutput) ToAttachmentPtrOutput() AttachmentPtrOutput

func (AttachmentPtrOutput) ToAttachmentPtrOutputWithContext

func (o AttachmentPtrOutput) ToAttachmentPtrOutputWithContext(ctx context.Context) AttachmentPtrOutput

type AttachmentState

type AttachmentState struct {
	// The ARN of an ALB Target Group.
	AlbTargetGroupArn pulumi.StringPtrInput
	// Name of ASG to associate with the ELB.
	AutoscalingGroupName pulumi.StringPtrInput
	// The name of the ELB.
	Elb 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 filter. The valid values are: `auto-scaling-group`, `key`, `value`, and `propagate-at-launch`.
	Name string `pulumi:"name"`
	// The value of the filter.
	Values []string `pulumi:"values"`
}

type GetAmiIdsFilterArgs

type GetAmiIdsFilterArgs struct {
	// The name of the filter. The valid values are: `auto-scaling-group`, `key`, `value`, and `propagate-at-launch`.
	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 filter. The valid values are: `auto-scaling-group`, `key`, `value`, and `propagate-at-launch`.

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

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 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 `GroupDesiredCapacity`, `GroupInServiceCapacity`, `GroupPendingCapacity`, `GroupMinSize`, `GroupMaxSize`, `GroupInServiceInstances`, `GroupPendingInstances`, `GroupStandbyInstances`, `GroupStandbyCapacity`, `GroupTerminatingCapacity`, `GroupTerminatingInstances`, `GroupTotalCapacity`, `GroupTotalInstances`.
	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"`
	// 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 604800 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"`
	// The minimum size of the Auto Scaling Group.
	// (See also Waiting for Capacity below.)
	MinSize pulumi.IntOutput `pulumi:"minSize"`
	// Configuration block containing settings to define launch targets for Auto Scaling groups. Defined below.
	MixedInstancesPolicy GroupMixedInstancesPolicyPtrOutput `pulumi:"mixedInstancesPolicy"`
	// The name of the Auto Scaling Group. By default generated by this provider.
	Name pulumi.StringOutput `pulumi:"name"`
	// Creates a unique name beginning with the specified
	// prefix. Conflicts with `name`.
	NamePrefix pulumi.StringPtrOutput `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`. Documented below.
	Tags GroupTagArrayOutput `pulumi:"tags"`
	// Set of maps containing resource tags. Conflicts with `tag`. Documented below.
	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"`
}

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/v4/go/aws/autoscaling"
"github.com/pulumi/pulumi-aws/sdk/v4/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/v4/go/aws/autoscaling"
"github.com/pulumi/pulumi-aws/sdk/v4/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 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/v4/go/aws/autoscaling"
"github.com/pulumi/pulumi-aws/sdk/v4/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/v4/go/aws/autoscaling"
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/ec2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := true
		exampleAmi, err := ec2.LookupAmi(ctx, &ec2.LookupAmiArgs{
			MostRecent: &opt0,
			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
	})
}

``` ## 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 this provider moves on. If new instances don't pass the ELB's health checks for any reason, the deployment 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

func (*Group) ToGroupPtrOutput

func (i *Group) ToGroupPtrOutput() GroupPtrOutput

func (*Group) ToGroupPtrOutputWithContext

func (i *Group) ToGroupPtrOutputWithContext(ctx context.Context) GroupPtrOutput

type GroupArgs

type GroupArgs struct {
	// A list of one or more availability zones for the group. Used for EC2-Classic 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 `GroupDesiredCapacity`, `GroupInServiceCapacity`, `GroupPendingCapacity`, `GroupMinSize`, `GroupMaxSize`, `GroupInServiceInstances`, `GroupPendingInstances`, `GroupStandbyInstances`, `GroupStandbyCapacity`, `GroupTerminatingCapacity`, `GroupTerminatingInstances`, `GroupTotalCapacity`, `GroupTotalInstances`.
	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
	// 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 604800 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
	// The minimum size of the Auto Scaling Group.
	// (See also Waiting for Capacity below.)
	MinSize pulumi.IntInput
	// Configuration block containing settings to define launch targets for Auto Scaling groups. Defined below.
	MixedInstancesPolicy GroupMixedInstancesPolicyPtrInput
	// The name of the Auto Scaling Group. By default generated by this provider.
	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`. Documented below.
	Tags GroupTagArrayInput
	// Set of maps containing resource tags. Conflicts with `tag`. Documented below.
	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
}

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

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

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.

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: `0`.
	OnDemandPercentageAboveBaseCapacity *int `pulumi:"onDemandPercentageAboveBaseCapacity"`
	// How to allocate capacity across the Spot pools. Valid values: `lowest-price`, `capacity-optimized`. 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. 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: `0`.
	OnDemandPercentageAboveBaseCapacity pulumi.IntPtrInput `pulumi:"onDemandPercentageAboveBaseCapacity"`
	// How to allocate capacity across the Spot pools. Valid values: `lowest-price`, `capacity-optimized`. 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. 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: `0`.

func (GroupMixedInstancesPolicyInstancesDistributionOutput) SpotAllocationStrategy

How to allocate capacity across the Spot pools. Valid values: `lowest-price`, `capacity-optimized`. 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. 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: `0`.

func (GroupMixedInstancesPolicyInstancesDistributionPtrOutput) SpotAllocationStrategy

How to allocate capacity across the Spot pools. Valid values: `lowest-price`, `capacity-optimized`. 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. 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

func (GroupOutput) ToGroupPtrOutput

func (o GroupOutput) ToGroupPtrOutput() GroupPtrOutput

func (GroupOutput) ToGroupPtrOutputWithContext

func (o GroupOutput) ToGroupPtrOutputWithContext(ctx context.Context) GroupPtrOutput

type GroupPtrInput

type GroupPtrInput interface {
	pulumi.Input

	ToGroupPtrOutput() GroupPtrOutput
	ToGroupPtrOutputWithContext(ctx context.Context) GroupPtrOutput
}

type GroupPtrOutput

type GroupPtrOutput struct {
	*pulumi.OutputState
}

func (GroupPtrOutput) ElementType

func (GroupPtrOutput) ElementType() reflect.Type

func (GroupPtrOutput) ToGroupPtrOutput

func (o GroupPtrOutput) ToGroupPtrOutput() GroupPtrOutput

func (GroupPtrOutput) ToGroupPtrOutputWithContext

func (o GroupPtrOutput) ToGroupPtrOutputWithContext(ctx context.Context) GroupPtrOutput

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 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 `GroupDesiredCapacity`, `GroupInServiceCapacity`, `GroupPendingCapacity`, `GroupMinSize`, `GroupMaxSize`, `GroupInServiceInstances`, `GroupPendingInstances`, `GroupStandbyInstances`, `GroupStandbyCapacity`, `GroupTerminatingCapacity`, `GroupTerminatingInstances`, `GroupTotalCapacity`, `GroupTotalInstances`.
	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
	// 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.StringPtrInput
	// 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 604800 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
	// The minimum size of the Auto Scaling Group.
	// (See also Waiting for Capacity below.)
	MinSize pulumi.IntPtrInput
	// Configuration block containing settings to define launch targets for Auto Scaling groups. Defined below.
	MixedInstancesPolicy GroupMixedInstancesPolicyPtrInput
	// The name of the Auto Scaling Group. By default generated by this provider.
	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.StringPtrInput
	// 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`. Documented below.
	Tags GroupTagArrayInput
	// Set of maps containing resource tags. Conflicts with `tag`. Documented below.
	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
}

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 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/v4/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

func (*LifecycleHook) ToLifecycleHookPtrOutput

func (i *LifecycleHook) ToLifecycleHookPtrOutput() LifecycleHookPtrOutput

func (*LifecycleHook) ToLifecycleHookPtrOutputWithContext

func (i *LifecycleHook) ToLifecycleHookPtrOutputWithContext(ctx context.Context) LifecycleHookPtrOutput

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

func (LifecycleHookOutput) ToLifecycleHookPtrOutput

func (o LifecycleHookOutput) ToLifecycleHookPtrOutput() LifecycleHookPtrOutput

func (LifecycleHookOutput) ToLifecycleHookPtrOutputWithContext

func (o LifecycleHookOutput) ToLifecycleHookPtrOutputWithContext(ctx context.Context) LifecycleHookPtrOutput

type LifecycleHookPtrInput

type LifecycleHookPtrInput interface {
	pulumi.Input

	ToLifecycleHookPtrOutput() LifecycleHookPtrOutput
	ToLifecycleHookPtrOutputWithContext(ctx context.Context) LifecycleHookPtrOutput
}

type LifecycleHookPtrOutput

type LifecycleHookPtrOutput struct {
	*pulumi.OutputState
}

func (LifecycleHookPtrOutput) ElementType

func (LifecycleHookPtrOutput) ElementType() reflect.Type

func (LifecycleHookPtrOutput) ToLifecycleHookPtrOutput

func (o LifecycleHookPtrOutput) ToLifecycleHookPtrOutput() LifecycleHookPtrOutput

func (LifecycleHookPtrOutput) ToLifecycleHookPtrOutputWithContext

func (o LifecycleHookPtrOutput) ToLifecycleHookPtrOutputWithContext(ctx context.Context) LifecycleHookPtrOutput

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 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/v4/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 Metric

type Metric pulumi.String

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

func (Metric) ElementType

func (Metric) ElementType() reflect.Type

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 MetricsGranularity

type MetricsGranularity pulumi.String

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

func (MetricsGranularity) ElementType

func (MetricsGranularity) ElementType() reflect.Type

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 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/v4/go/aws/autoscaling"
"github.com/pulumi/pulumi-aws/sdk/v4/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

func (*Notification) ToNotificationPtrOutput

func (i *Notification) ToNotificationPtrOutput() NotificationPtrOutput

func (*Notification) ToNotificationPtrOutputWithContext

func (i *Notification) ToNotificationPtrOutputWithContext(ctx context.Context) NotificationPtrOutput

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

func (NotificationOutput) ToNotificationPtrOutput

func (o NotificationOutput) ToNotificationPtrOutput() NotificationPtrOutput

func (NotificationOutput) ToNotificationPtrOutputWithContext

func (o NotificationOutput) ToNotificationPtrOutputWithContext(ctx context.Context) NotificationPtrOutput

type NotificationPtrInput

type NotificationPtrInput interface {
	pulumi.Input

	ToNotificationPtrOutput() NotificationPtrOutput
	ToNotificationPtrOutputWithContext(ctx context.Context) NotificationPtrOutput
}

type NotificationPtrOutput

type NotificationPtrOutput struct {
	*pulumi.OutputState
}

func (NotificationPtrOutput) ElementType

func (NotificationPtrOutput) ElementType() reflect.Type

func (NotificationPtrOutput) ToNotificationPtrOutput

func (o NotificationPtrOutput) ToNotificationPtrOutput() NotificationPtrOutput

func (NotificationPtrOutput) ToNotificationPtrOutputWithContext

func (o NotificationPtrOutput) ToNotificationPtrOutputWithContext(ctx context.Context) NotificationPtrOutput

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 pulumi.String

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

func (NotificationType) ElementType

func (NotificationType) ElementType() reflect.Type

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 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" or "TargetTrackingScaling". If this value isn't provided, AWS will default to "SimpleScaling."
	PolicyType pulumi.StringPtrOutput `pulumi:"policyType"`
	// 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/v4/go/aws/autoscaling"
"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

func (*Policy) ToPolicyPtrOutput

func (i *Policy) ToPolicyPtrOutput() PolicyPtrOutput

func (*Policy) ToPolicyPtrOutputWithContext

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

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" or "TargetTrackingScaling". If this value isn't provided, AWS will default to "SimpleScaling."
	PolicyType pulumi.StringPtrInput
	// 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

func (PolicyOutput) ToPolicyPtrOutput

func (o PolicyOutput) ToPolicyPtrOutput() PolicyPtrOutput

func (PolicyOutput) ToPolicyPtrOutputWithContext

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

type PolicyPtrInput

type PolicyPtrInput interface {
	pulumi.Input

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

type PolicyPtrOutput

type PolicyPtrOutput struct {
	*pulumi.OutputState
}

func (PolicyPtrOutput) ElementType

func (PolicyPtrOutput) ElementType() reflect.Type

func (PolicyPtrOutput) ToPolicyPtrOutput

func (o PolicyPtrOutput) ToPolicyPtrOutput() PolicyPtrOutput

func (PolicyPtrOutput) ToPolicyPtrOutputWithContext

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

type PolicyState

type PolicyState struct {
	// 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" or "TargetTrackingScaling". If this value isn't provided, AWS will default to "SimpleScaling."
	PolicyType pulumi.StringPtrInput
	// 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 infinity.
	MetricIntervalLowerBound *string `pulumi:"metricIntervalLowerBound"`
	// The upper bound for the
	// difference between the alarm threshold and the CloudWatch metric.
	// Without a value, AWS will treat this bound as infinity. The upper bound
	// must be greater than the lower bound.
	MetricIntervalUpperBound *string `pulumi:"metricIntervalUpperBound"`
	// The number of members by which to
	// scale, when the adjustment bounds are breached. A positive value scales
	// up. A negative value scales down.
	ScalingAdjustment int `pulumi:"scalingAdjustment"`
}

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

func (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 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 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 {
	// The metric type.
	PredefinedMetricType string `pulumi:"predefinedMetricType"`
	// Identifies the resource associated with the metric type.
	ResourceLabel *string `pulumi:"resourceLabel"`
}

type PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs

type PolicyTargetTrackingConfigurationPredefinedMetricSpecificationArgs struct {
	// The metric type.
	PredefinedMetricType pulumi.StringInput `pulumi:"predefinedMetricType"`
	// Identifies the resource associated with the metric type.
	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

The metric type.

func (PolicyTargetTrackingConfigurationPredefinedMetricSpecificationOutput) ResourceLabel

Identifies the resource associated with the metric type.

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

The metric type.

func (PolicyTargetTrackingConfigurationPredefinedMetricSpecificationPtrOutput) ResourceLabel

Identifies the resource associated with the metric type.

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

Provides an AutoScaling Schedule resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v4/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

func (*Schedule) ToSchedulePtrOutput

func (i *Schedule) ToSchedulePtrOutput() SchedulePtrOutput

func (*Schedule) ToSchedulePtrOutputWithContext

func (i *Schedule) ToSchedulePtrOutputWithContext(ctx context.Context) SchedulePtrOutput

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

func (ScheduleOutput) ToSchedulePtrOutput

func (o ScheduleOutput) ToSchedulePtrOutput() SchedulePtrOutput

func (ScheduleOutput) ToSchedulePtrOutputWithContext

func (o ScheduleOutput) ToSchedulePtrOutputWithContext(ctx context.Context) SchedulePtrOutput

type SchedulePtrInput

type SchedulePtrInput interface {
	pulumi.Input

	ToSchedulePtrOutput() SchedulePtrOutput
	ToSchedulePtrOutputWithContext(ctx context.Context) SchedulePtrOutput
}

type SchedulePtrOutput

type SchedulePtrOutput struct {
	*pulumi.OutputState
}

func (SchedulePtrOutput) ElementType

func (SchedulePtrOutput) ElementType() reflect.Type

func (SchedulePtrOutput) ToSchedulePtrOutput

func (o SchedulePtrOutput) ToSchedulePtrOutput() SchedulePtrOutput

func (SchedulePtrOutput) ToSchedulePtrOutputWithContext

func (o SchedulePtrOutput) ToSchedulePtrOutputWithContext(ctx context.Context) SchedulePtrOutput

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
}

func (ScheduleState) ElementType

func (ScheduleState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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