autoscaling

package
v3.38.1 Latest Latest
Warning

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

Go to latest
Published: Apr 13, 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/v3/go/aws/autoscaling"
"github.com/pulumi/pulumi/sdk/v2/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/v3/go/aws/autoscaling"
"github.com/pulumi/pulumi/sdk/v2/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/v3/go/aws/autoscaling"
"github.com/pulumi/pulumi/sdk/v2/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 added in v3.13.0

func (*Attachment) ElementType() reflect.Type

func (*Attachment) ToAttachmentOutput added in v3.13.0

func (i *Attachment) ToAttachmentOutput() AttachmentOutput

func (*Attachment) ToAttachmentOutputWithContext added in v3.13.0

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

func (*Attachment) ToAttachmentPtrOutput added in v3.25.0

func (i *Attachment) ToAttachmentPtrOutput() AttachmentPtrOutput

func (*Attachment) ToAttachmentPtrOutputWithContext added in v3.25.0

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 added in v3.25.0

type AttachmentArray []AttachmentInput

func (AttachmentArray) ElementType added in v3.25.0

func (AttachmentArray) ElementType() reflect.Type

func (AttachmentArray) ToAttachmentArrayOutput added in v3.25.0

func (i AttachmentArray) ToAttachmentArrayOutput() AttachmentArrayOutput

func (AttachmentArray) ToAttachmentArrayOutputWithContext added in v3.25.0

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

type AttachmentArrayInput added in v3.25.0

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 added in v3.25.0

type AttachmentArrayOutput struct{ *pulumi.OutputState }

func (AttachmentArrayOutput) ElementType added in v3.25.0

func (AttachmentArrayOutput) ElementType() reflect.Type

func (AttachmentArrayOutput) Index added in v3.25.0

func (AttachmentArrayOutput) ToAttachmentArrayOutput added in v3.25.0

func (o AttachmentArrayOutput) ToAttachmentArrayOutput() AttachmentArrayOutput

func (AttachmentArrayOutput) ToAttachmentArrayOutputWithContext added in v3.25.0

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

type AttachmentInput added in v3.13.0

type AttachmentInput interface {
	pulumi.Input

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

type AttachmentMap added in v3.25.0

type AttachmentMap map[string]AttachmentInput

func (AttachmentMap) ElementType added in v3.25.0

func (AttachmentMap) ElementType() reflect.Type

func (AttachmentMap) ToAttachmentMapOutput added in v3.25.0

func (i AttachmentMap) ToAttachmentMapOutput() AttachmentMapOutput

func (AttachmentMap) ToAttachmentMapOutputWithContext added in v3.25.0

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

type AttachmentMapInput added in v3.25.0

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 added in v3.25.0

type AttachmentMapOutput struct{ *pulumi.OutputState }

func (AttachmentMapOutput) ElementType added in v3.25.0

func (AttachmentMapOutput) ElementType() reflect.Type

func (AttachmentMapOutput) MapIndex added in v3.25.0

func (AttachmentMapOutput) ToAttachmentMapOutput added in v3.25.0

func (o AttachmentMapOutput) ToAttachmentMapOutput() AttachmentMapOutput

func (AttachmentMapOutput) ToAttachmentMapOutputWithContext added in v3.25.0

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

type AttachmentOutput added in v3.13.0

type AttachmentOutput struct {
	*pulumi.OutputState
}

func (AttachmentOutput) ElementType added in v3.13.0

func (AttachmentOutput) ElementType() reflect.Type

func (AttachmentOutput) ToAttachmentOutput added in v3.13.0

func (o AttachmentOutput) ToAttachmentOutput() AttachmentOutput

func (AttachmentOutput) ToAttachmentOutputWithContext added in v3.13.0

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

func (AttachmentOutput) ToAttachmentPtrOutput added in v3.25.0

func (o AttachmentOutput) ToAttachmentPtrOutput() AttachmentPtrOutput

func (AttachmentOutput) ToAttachmentPtrOutputWithContext added in v3.25.0

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

type AttachmentPtrInput added in v3.25.0

type AttachmentPtrInput interface {
	pulumi.Input

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

type AttachmentPtrOutput added in v3.25.0

type AttachmentPtrOutput struct {
	*pulumi.OutputState
}

func (AttachmentPtrOutput) ElementType added in v3.25.0

func (AttachmentPtrOutput) ElementType() reflect.Type

func (AttachmentPtrOutput) ToAttachmentPtrOutput added in v3.25.0

func (o AttachmentPtrOutput) ToAttachmentPtrOutput() AttachmentPtrOutput

func (AttachmentPtrOutput) ToAttachmentPtrOutputWithContext added in v3.25.0

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 added in v3.31.0

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 added in v3.31.0

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 added in v3.31.0

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 added in v3.31.0

func (GetAmiIdsFilterArgs) ElementType() reflect.Type

func (GetAmiIdsFilterArgs) ToGetAmiIdsFilterOutput added in v3.31.0

func (i GetAmiIdsFilterArgs) ToGetAmiIdsFilterOutput() GetAmiIdsFilterOutput

func (GetAmiIdsFilterArgs) ToGetAmiIdsFilterOutputWithContext added in v3.31.0

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

type GetAmiIdsFilterArray added in v3.31.0

type GetAmiIdsFilterArray []GetAmiIdsFilterInput

func (GetAmiIdsFilterArray) ElementType added in v3.31.0

func (GetAmiIdsFilterArray) ElementType() reflect.Type

func (GetAmiIdsFilterArray) ToGetAmiIdsFilterArrayOutput added in v3.31.0

func (i GetAmiIdsFilterArray) ToGetAmiIdsFilterArrayOutput() GetAmiIdsFilterArrayOutput

func (GetAmiIdsFilterArray) ToGetAmiIdsFilterArrayOutputWithContext added in v3.31.0

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

type GetAmiIdsFilterArrayInput added in v3.31.0

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 added in v3.31.0

type GetAmiIdsFilterArrayOutput struct{ *pulumi.OutputState }

func (GetAmiIdsFilterArrayOutput) ElementType added in v3.31.0

func (GetAmiIdsFilterArrayOutput) ElementType() reflect.Type

func (GetAmiIdsFilterArrayOutput) Index added in v3.31.0

func (GetAmiIdsFilterArrayOutput) ToGetAmiIdsFilterArrayOutput added in v3.31.0

func (o GetAmiIdsFilterArrayOutput) ToGetAmiIdsFilterArrayOutput() GetAmiIdsFilterArrayOutput

func (GetAmiIdsFilterArrayOutput) ToGetAmiIdsFilterArrayOutputWithContext added in v3.31.0

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

type GetAmiIdsFilterInput added in v3.31.0

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 added in v3.31.0

type GetAmiIdsFilterOutput struct{ *pulumi.OutputState }

func (GetAmiIdsFilterOutput) ElementType added in v3.31.0

func (GetAmiIdsFilterOutput) ElementType() reflect.Type

func (GetAmiIdsFilterOutput) Name added in v3.31.0

The name of the filter. The valid values are: `auto-scaling-group`, `key`, `value`, and `propagate-at-launch`.

func (GetAmiIdsFilterOutput) ToGetAmiIdsFilterOutput added in v3.31.0

func (o GetAmiIdsFilterOutput) ToGetAmiIdsFilterOutput() GetAmiIdsFilterOutput

func (GetAmiIdsFilterOutput) ToGetAmiIdsFilterOutputWithContext added in v3.31.0

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

func (GetAmiIdsFilterOutput) Values added in v3.31.0

The value of the filter.

type GetAmiIdsResult added in v3.31.0

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 added in v3.31.0

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 added in v3.22.0

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 added in v3.22.0

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 added in v3.22.0

func (GetGroupLaunchTemplateArgs) ElementType() reflect.Type

func (GetGroupLaunchTemplateArgs) ToGetGroupLaunchTemplateOutput added in v3.22.0

func (i GetGroupLaunchTemplateArgs) ToGetGroupLaunchTemplateOutput() GetGroupLaunchTemplateOutput

func (GetGroupLaunchTemplateArgs) ToGetGroupLaunchTemplateOutputWithContext added in v3.22.0

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

type GetGroupLaunchTemplateArray added in v3.22.0

type GetGroupLaunchTemplateArray []GetGroupLaunchTemplateInput

func (GetGroupLaunchTemplateArray) ElementType added in v3.22.0

func (GetGroupLaunchTemplateArray) ToGetGroupLaunchTemplateArrayOutput added in v3.22.0

func (i GetGroupLaunchTemplateArray) ToGetGroupLaunchTemplateArrayOutput() GetGroupLaunchTemplateArrayOutput

func (GetGroupLaunchTemplateArray) ToGetGroupLaunchTemplateArrayOutputWithContext added in v3.22.0

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

type GetGroupLaunchTemplateArrayInput added in v3.22.0

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 added in v3.22.0

type GetGroupLaunchTemplateArrayOutput struct{ *pulumi.OutputState }

func (GetGroupLaunchTemplateArrayOutput) ElementType added in v3.22.0

func (GetGroupLaunchTemplateArrayOutput) Index added in v3.22.0

func (GetGroupLaunchTemplateArrayOutput) ToGetGroupLaunchTemplateArrayOutput added in v3.22.0

func (o GetGroupLaunchTemplateArrayOutput) ToGetGroupLaunchTemplateArrayOutput() GetGroupLaunchTemplateArrayOutput

func (GetGroupLaunchTemplateArrayOutput) ToGetGroupLaunchTemplateArrayOutputWithContext added in v3.22.0

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

type GetGroupLaunchTemplateInput added in v3.22.0

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 added in v3.22.0

type GetGroupLaunchTemplateOutput struct{ *pulumi.OutputState }

func (GetGroupLaunchTemplateOutput) ElementType added in v3.22.0

func (GetGroupLaunchTemplateOutput) Id added in v3.22.0

Name of the Auto Scaling Group.

func (GetGroupLaunchTemplateOutput) Name added in v3.22.0

Specify the exact name of the desired autoscaling group.

func (GetGroupLaunchTemplateOutput) ToGetGroupLaunchTemplateOutput added in v3.22.0

func (o GetGroupLaunchTemplateOutput) ToGetGroupLaunchTemplateOutput() GetGroupLaunchTemplateOutput

func (GetGroupLaunchTemplateOutput) ToGetGroupLaunchTemplateOutputWithContext added in v3.22.0

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

func (GetGroupLaunchTemplateOutput) Version added in v3.22.0

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

func (*Group) ElementType() reflect.Type

func (*Group) ToGroupOutput added in v3.13.0

func (i *Group) ToGroupOutput() GroupOutput

func (*Group) ToGroupOutputWithContext added in v3.13.0

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

func (*Group) ToGroupPtrOutput added in v3.25.0

func (i *Group) ToGroupPtrOutput() GroupPtrOutput

func (*Group) ToGroupPtrOutputWithContext added in v3.25.0

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 added in v3.25.0

type GroupArray []GroupInput

func (GroupArray) ElementType added in v3.25.0

func (GroupArray) ElementType() reflect.Type

func (GroupArray) ToGroupArrayOutput added in v3.25.0

func (i GroupArray) ToGroupArrayOutput() GroupArrayOutput

func (GroupArray) ToGroupArrayOutputWithContext added in v3.25.0

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

type GroupArrayInput added in v3.25.0

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 added in v3.25.0

type GroupArrayOutput struct{ *pulumi.OutputState }

func (GroupArrayOutput) ElementType added in v3.25.0

func (GroupArrayOutput) ElementType() reflect.Type

func (GroupArrayOutput) Index added in v3.25.0

func (GroupArrayOutput) ToGroupArrayOutput added in v3.25.0

func (o GroupArrayOutput) ToGroupArrayOutput() GroupArrayOutput

func (GroupArrayOutput) ToGroupArrayOutputWithContext added in v3.25.0

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 added in v3.13.0

type GroupInput interface {
	pulumi.Input

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

type GroupInstanceRefresh added in v3.22.0

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 added in v3.22.0

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 added in v3.22.0

func (GroupInstanceRefreshArgs) ElementType() reflect.Type

func (GroupInstanceRefreshArgs) ToGroupInstanceRefreshOutput added in v3.22.0

func (i GroupInstanceRefreshArgs) ToGroupInstanceRefreshOutput() GroupInstanceRefreshOutput

func (GroupInstanceRefreshArgs) ToGroupInstanceRefreshOutputWithContext added in v3.22.0

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

func (GroupInstanceRefreshArgs) ToGroupInstanceRefreshPtrOutput added in v3.22.0

func (i GroupInstanceRefreshArgs) ToGroupInstanceRefreshPtrOutput() GroupInstanceRefreshPtrOutput

func (GroupInstanceRefreshArgs) ToGroupInstanceRefreshPtrOutputWithContext added in v3.22.0

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

type GroupInstanceRefreshInput added in v3.22.0

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 added in v3.22.0

type GroupInstanceRefreshOutput struct{ *pulumi.OutputState }

func (GroupInstanceRefreshOutput) ElementType added in v3.22.0

func (GroupInstanceRefreshOutput) ElementType() reflect.Type

func (GroupInstanceRefreshOutput) Preferences added in v3.22.0

Override default parameters for Instance Refresh.

func (GroupInstanceRefreshOutput) Strategy added in v3.22.0

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 added in v3.22.0

func (o GroupInstanceRefreshOutput) ToGroupInstanceRefreshOutput() GroupInstanceRefreshOutput

func (GroupInstanceRefreshOutput) ToGroupInstanceRefreshOutputWithContext added in v3.22.0

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

func (GroupInstanceRefreshOutput) ToGroupInstanceRefreshPtrOutput added in v3.22.0

func (o GroupInstanceRefreshOutput) ToGroupInstanceRefreshPtrOutput() GroupInstanceRefreshPtrOutput

func (GroupInstanceRefreshOutput) ToGroupInstanceRefreshPtrOutputWithContext added in v3.22.0

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

func (GroupInstanceRefreshOutput) Triggers added in v3.22.0

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 added in v3.22.0

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 added in v3.22.0

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 added in v3.22.0

func (GroupInstanceRefreshPreferencesArgs) ToGroupInstanceRefreshPreferencesOutput added in v3.22.0

func (i GroupInstanceRefreshPreferencesArgs) ToGroupInstanceRefreshPreferencesOutput() GroupInstanceRefreshPreferencesOutput

func (GroupInstanceRefreshPreferencesArgs) ToGroupInstanceRefreshPreferencesOutputWithContext added in v3.22.0

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

func (GroupInstanceRefreshPreferencesArgs) ToGroupInstanceRefreshPreferencesPtrOutput added in v3.22.0

func (i GroupInstanceRefreshPreferencesArgs) ToGroupInstanceRefreshPreferencesPtrOutput() GroupInstanceRefreshPreferencesPtrOutput

func (GroupInstanceRefreshPreferencesArgs) ToGroupInstanceRefreshPreferencesPtrOutputWithContext added in v3.22.0

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

type GroupInstanceRefreshPreferencesInput added in v3.22.0

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 added in v3.22.0

type GroupInstanceRefreshPreferencesOutput struct{ *pulumi.OutputState }

func (GroupInstanceRefreshPreferencesOutput) ElementType added in v3.22.0

func (GroupInstanceRefreshPreferencesOutput) InstanceWarmup added in v3.22.0

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 added in v3.22.0

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 added in v3.22.0

func (o GroupInstanceRefreshPreferencesOutput) ToGroupInstanceRefreshPreferencesOutput() GroupInstanceRefreshPreferencesOutput

func (GroupInstanceRefreshPreferencesOutput) ToGroupInstanceRefreshPreferencesOutputWithContext added in v3.22.0

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

func (GroupInstanceRefreshPreferencesOutput) ToGroupInstanceRefreshPreferencesPtrOutput added in v3.22.0

func (o GroupInstanceRefreshPreferencesOutput) ToGroupInstanceRefreshPreferencesPtrOutput() GroupInstanceRefreshPreferencesPtrOutput

func (GroupInstanceRefreshPreferencesOutput) ToGroupInstanceRefreshPreferencesPtrOutputWithContext added in v3.22.0

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

type GroupInstanceRefreshPreferencesPtrInput added in v3.22.0

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 added in v3.22.0

type GroupInstanceRefreshPreferencesPtrOutput struct{ *pulumi.OutputState }

func (GroupInstanceRefreshPreferencesPtrOutput) Elem added in v3.22.0

func (GroupInstanceRefreshPreferencesPtrOutput) ElementType added in v3.22.0

func (GroupInstanceRefreshPreferencesPtrOutput) InstanceWarmup added in v3.22.0

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 added in v3.22.0

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 added in v3.22.0

func (o GroupInstanceRefreshPreferencesPtrOutput) ToGroupInstanceRefreshPreferencesPtrOutput() GroupInstanceRefreshPreferencesPtrOutput

func (GroupInstanceRefreshPreferencesPtrOutput) ToGroupInstanceRefreshPreferencesPtrOutputWithContext added in v3.22.0

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

type GroupInstanceRefreshPtrInput added in v3.22.0

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

func GroupInstanceRefreshPtr added in v3.22.0

func GroupInstanceRefreshPtr(v *GroupInstanceRefreshArgs) GroupInstanceRefreshPtrInput

type GroupInstanceRefreshPtrOutput added in v3.22.0

type GroupInstanceRefreshPtrOutput struct{ *pulumi.OutputState }

func (GroupInstanceRefreshPtrOutput) Elem added in v3.22.0

func (GroupInstanceRefreshPtrOutput) ElementType added in v3.22.0

func (GroupInstanceRefreshPtrOutput) Preferences added in v3.22.0

Override default parameters for Instance Refresh.

func (GroupInstanceRefreshPtrOutput) Strategy added in v3.22.0

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 added in v3.22.0

func (o GroupInstanceRefreshPtrOutput) ToGroupInstanceRefreshPtrOutput() GroupInstanceRefreshPtrOutput

func (GroupInstanceRefreshPtrOutput) ToGroupInstanceRefreshPtrOutputWithContext added in v3.22.0

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

func (GroupInstanceRefreshPtrOutput) Triggers added in v3.22.0

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 added in v3.25.0

type GroupMap map[string]GroupInput

func (GroupMap) ElementType added in v3.25.0

func (GroupMap) ElementType() reflect.Type

func (GroupMap) ToGroupMapOutput added in v3.25.0

func (i GroupMap) ToGroupMapOutput() GroupMapOutput

func (GroupMap) ToGroupMapOutputWithContext added in v3.25.0

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

type GroupMapInput added in v3.25.0

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 added in v3.25.0

type GroupMapOutput struct{ *pulumi.OutputState }

func (GroupMapOutput) ElementType added in v3.25.0

func (GroupMapOutput) ElementType() reflect.Type

func (GroupMapOutput) MapIndex added in v3.25.0

func (GroupMapOutput) ToGroupMapOutput added in v3.25.0

func (o GroupMapOutput) ToGroupMapOutput() GroupMapOutput

func (GroupMapOutput) ToGroupMapOutputWithContext added in v3.25.0

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 added in v3.31.0

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 added in v3.31.0

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 added in v3.31.0

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs) ToGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput added in v3.31.0

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs) ToGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutputWithContext added in v3.31.0

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs) ToGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutput added in v3.31.0

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationArgs) ToGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutputWithContext added in v3.31.0

type GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationInput added in v3.31.0

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 added in v3.31.0

type GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput struct{ *pulumi.OutputState }

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput) ElementType added in v3.31.0

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput) LaunchTemplateId added in v3.31.0

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

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput) LaunchTemplateName added in v3.31.0

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

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput) ToGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput added in v3.31.0

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput) ToGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutputWithContext added in v3.31.0

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput) ToGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutput added in v3.31.0

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput) ToGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutputWithContext added in v3.31.0

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationOutput) Version added in v3.31.0

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

type GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrInput added in v3.31.0

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 added in v3.31.0

type GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutput struct{ *pulumi.OutputState }

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutput) Elem added in v3.31.0

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutput) ElementType added in v3.31.0

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutput) LaunchTemplateId added in v3.31.0

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

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutput) LaunchTemplateName added in v3.31.0

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

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutput) ToGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutput added in v3.31.0

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutput) ToGroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutputWithContext added in v3.31.0

func (GroupMixedInstancesPolicyLaunchTemplateOverrideLaunchTemplateSpecificationPtrOutput) Version added in v3.31.0

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 added in v3.31.0

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 added in v3.13.0

type GroupOutput struct {
	*pulumi.OutputState
}

func (GroupOutput) ElementType added in v3.13.0

func (GroupOutput) ElementType() reflect.Type

func (GroupOutput) ToGroupOutput added in v3.13.0

func (o GroupOutput) ToGroupOutput() GroupOutput

func (GroupOutput) ToGroupOutputWithContext added in v3.13.0

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

func (GroupOutput) ToGroupPtrOutput added in v3.25.0

func (o GroupOutput) ToGroupPtrOutput() GroupPtrOutput

func (GroupOutput) ToGroupPtrOutputWithContext added in v3.25.0

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

type GroupPtrInput added in v3.25.0

type GroupPtrInput interface {
	pulumi.Input

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

type GroupPtrOutput added in v3.25.0

type GroupPtrOutput struct {
	*pulumi.OutputState
}

func (GroupPtrOutput) ElementType added in v3.25.0

func (GroupPtrOutput) ElementType() reflect.Type

func (GroupPtrOutput) ToGroupPtrOutput added in v3.25.0

func (o GroupPtrOutput) ToGroupPtrOutput() GroupPtrOutput

func (GroupPtrOutput) ToGroupPtrOutputWithContext added in v3.25.0

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/v3/go/aws/autoscaling"
"github.com/pulumi/pulumi/sdk/v2/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 added in v3.13.0

func (*LifecycleHook) ElementType() reflect.Type

func (*LifecycleHook) ToLifecycleHookOutput added in v3.13.0

func (i *LifecycleHook) ToLifecycleHookOutput() LifecycleHookOutput

func (*LifecycleHook) ToLifecycleHookOutputWithContext added in v3.13.0

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

func (*LifecycleHook) ToLifecycleHookPtrOutput added in v3.25.0

func (i *LifecycleHook) ToLifecycleHookPtrOutput() LifecycleHookPtrOutput

func (*LifecycleHook) ToLifecycleHookPtrOutputWithContext added in v3.25.0

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 added in v3.25.0

type LifecycleHookArray []LifecycleHookInput

func (LifecycleHookArray) ElementType added in v3.25.0

func (LifecycleHookArray) ElementType() reflect.Type

func (LifecycleHookArray) ToLifecycleHookArrayOutput added in v3.25.0

func (i LifecycleHookArray) ToLifecycleHookArrayOutput() LifecycleHookArrayOutput

func (LifecycleHookArray) ToLifecycleHookArrayOutputWithContext added in v3.25.0

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

type LifecycleHookArrayInput added in v3.25.0

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 added in v3.25.0

type LifecycleHookArrayOutput struct{ *pulumi.OutputState }

func (LifecycleHookArrayOutput) ElementType added in v3.25.0

func (LifecycleHookArrayOutput) ElementType() reflect.Type

func (LifecycleHookArrayOutput) Index added in v3.25.0

func (LifecycleHookArrayOutput) ToLifecycleHookArrayOutput added in v3.25.0

func (o LifecycleHookArrayOutput) ToLifecycleHookArrayOutput() LifecycleHookArrayOutput

func (LifecycleHookArrayOutput) ToLifecycleHookArrayOutputWithContext added in v3.25.0

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

type LifecycleHookInput added in v3.13.0

type LifecycleHookInput interface {
	pulumi.Input

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

type LifecycleHookMap added in v3.25.0

type LifecycleHookMap map[string]LifecycleHookInput

func (LifecycleHookMap) ElementType added in v3.25.0

func (LifecycleHookMap) ElementType() reflect.Type

func (LifecycleHookMap) ToLifecycleHookMapOutput added in v3.25.0

func (i LifecycleHookMap) ToLifecycleHookMapOutput() LifecycleHookMapOutput

func (LifecycleHookMap) ToLifecycleHookMapOutputWithContext added in v3.25.0

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

type LifecycleHookMapInput added in v3.25.0

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 added in v3.25.0

type LifecycleHookMapOutput struct{ *pulumi.OutputState }

func (LifecycleHookMapOutput) ElementType added in v3.25.0

func (LifecycleHookMapOutput) ElementType() reflect.Type

func (LifecycleHookMapOutput) MapIndex added in v3.25.0

func (LifecycleHookMapOutput) ToLifecycleHookMapOutput added in v3.25.0

func (o LifecycleHookMapOutput) ToLifecycleHookMapOutput() LifecycleHookMapOutput

func (LifecycleHookMapOutput) ToLifecycleHookMapOutputWithContext added in v3.25.0

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

type LifecycleHookOutput added in v3.13.0

type LifecycleHookOutput struct {
	*pulumi.OutputState
}

func (LifecycleHookOutput) ElementType added in v3.13.0

func (LifecycleHookOutput) ElementType() reflect.Type

func (LifecycleHookOutput) ToLifecycleHookOutput added in v3.13.0

func (o LifecycleHookOutput) ToLifecycleHookOutput() LifecycleHookOutput

func (LifecycleHookOutput) ToLifecycleHookOutputWithContext added in v3.13.0

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

func (LifecycleHookOutput) ToLifecycleHookPtrOutput added in v3.25.0

func (o LifecycleHookOutput) ToLifecycleHookPtrOutput() LifecycleHookPtrOutput

func (LifecycleHookOutput) ToLifecycleHookPtrOutputWithContext added in v3.25.0

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

type LifecycleHookPtrInput added in v3.25.0

type LifecycleHookPtrInput interface {
	pulumi.Input

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

type LifecycleHookPtrOutput added in v3.25.0

type LifecycleHookPtrOutput struct {
	*pulumi.OutputState
}

func (LifecycleHookPtrOutput) ElementType added in v3.25.0

func (LifecycleHookPtrOutput) ElementType() reflect.Type

func (LifecycleHookPtrOutput) ToLifecycleHookPtrOutput added in v3.25.0

func (o LifecycleHookPtrOutput) ToLifecycleHookPtrOutput() LifecycleHookPtrOutput

func (LifecycleHookPtrOutput) ToLifecycleHookPtrOutputWithContext added in v3.25.0

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/v3/go/aws/autoscaling"
"github.com/pulumi/pulumi/sdk/v2/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 added in v3.18.0

type Metric pulumi.String

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

func (Metric) ElementType added in v3.18.0

func (Metric) ElementType() reflect.Type

func (Metric) ToStringOutput added in v3.18.0

func (e Metric) ToStringOutput() pulumi.StringOutput

func (Metric) ToStringOutputWithContext added in v3.18.0

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

func (Metric) ToStringPtrOutput added in v3.18.0

func (e Metric) ToStringPtrOutput() pulumi.StringPtrOutput

func (Metric) ToStringPtrOutputWithContext added in v3.18.0

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

type MetricsGranularity added in v3.18.0

type MetricsGranularity pulumi.String

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

func (MetricsGranularity) ElementType added in v3.18.0

func (MetricsGranularity) ElementType() reflect.Type

func (MetricsGranularity) ToStringOutput added in v3.18.0

func (e MetricsGranularity) ToStringOutput() pulumi.StringOutput

func (MetricsGranularity) ToStringOutputWithContext added in v3.18.0

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

func (MetricsGranularity) ToStringPtrOutput added in v3.18.0

func (e MetricsGranularity) ToStringPtrOutput() pulumi.StringPtrOutput

func (MetricsGranularity) ToStringPtrOutputWithContext added in v3.18.0

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/v3/go/aws/autoscaling"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/sns"
"github.com/pulumi/pulumi/sdk/v2/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 added in v3.13.0

func (*Notification) ElementType() reflect.Type

func (*Notification) ToNotificationOutput added in v3.13.0

func (i *Notification) ToNotificationOutput() NotificationOutput

func (*Notification) ToNotificationOutputWithContext added in v3.13.0

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

func (*Notification) ToNotificationPtrOutput added in v3.25.0

func (i *Notification) ToNotificationPtrOutput() NotificationPtrOutput

func (*Notification) ToNotificationPtrOutputWithContext added in v3.25.0

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 added in v3.25.0

type NotificationArray []NotificationInput

func (NotificationArray) ElementType added in v3.25.0

func (NotificationArray) ElementType() reflect.Type

func (NotificationArray) ToNotificationArrayOutput added in v3.25.0

func (i NotificationArray) ToNotificationArrayOutput() NotificationArrayOutput

func (NotificationArray) ToNotificationArrayOutputWithContext added in v3.25.0

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

type NotificationArrayInput added in v3.25.0

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 added in v3.25.0

type NotificationArrayOutput struct{ *pulumi.OutputState }

func (NotificationArrayOutput) ElementType added in v3.25.0

func (NotificationArrayOutput) ElementType() reflect.Type

func (NotificationArrayOutput) Index added in v3.25.0

func (NotificationArrayOutput) ToNotificationArrayOutput added in v3.25.0

func (o NotificationArrayOutput) ToNotificationArrayOutput() NotificationArrayOutput

func (NotificationArrayOutput) ToNotificationArrayOutputWithContext added in v3.25.0

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

type NotificationInput added in v3.13.0

type NotificationInput interface {
	pulumi.Input

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

type NotificationMap added in v3.25.0

type NotificationMap map[string]NotificationInput

func (NotificationMap) ElementType added in v3.25.0

func (NotificationMap) ElementType() reflect.Type

func (NotificationMap) ToNotificationMapOutput added in v3.25.0

func (i NotificationMap) ToNotificationMapOutput() NotificationMapOutput

func (NotificationMap) ToNotificationMapOutputWithContext added in v3.25.0

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

type NotificationMapInput added in v3.25.0

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 added in v3.25.0

type NotificationMapOutput struct{ *pulumi.OutputState }

func (NotificationMapOutput) ElementType added in v3.25.0

func (NotificationMapOutput) ElementType() reflect.Type

func (NotificationMapOutput) MapIndex added in v3.25.0

func (NotificationMapOutput) ToNotificationMapOutput added in v3.25.0

func (o NotificationMapOutput) ToNotificationMapOutput() NotificationMapOutput

func (NotificationMapOutput) ToNotificationMapOutputWithContext added in v3.25.0

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

type NotificationOutput added in v3.13.0

type NotificationOutput struct {
	*pulumi.OutputState
}

func (NotificationOutput) ElementType added in v3.13.0

func (NotificationOutput) ElementType() reflect.Type

func (NotificationOutput) ToNotificationOutput added in v3.13.0

func (o NotificationOutput) ToNotificationOutput() NotificationOutput

func (NotificationOutput) ToNotificationOutputWithContext added in v3.13.0

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

func (NotificationOutput) ToNotificationPtrOutput added in v3.25.0

func (o NotificationOutput) ToNotificationPtrOutput() NotificationPtrOutput

func (NotificationOutput) ToNotificationPtrOutputWithContext added in v3.25.0

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

type NotificationPtrInput added in v3.25.0

type NotificationPtrInput interface {
	pulumi.Input

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

type NotificationPtrOutput added in v3.25.0

type NotificationPtrOutput struct {
	*pulumi.OutputState
}

func (NotificationPtrOutput) ElementType added in v3.25.0

func (NotificationPtrOutput) ElementType() reflect.Type

func (NotificationPtrOutput) ToNotificationPtrOutput added in v3.25.0

func (o NotificationPtrOutput) ToNotificationPtrOutput() NotificationPtrOutput

func (NotificationPtrOutput) ToNotificationPtrOutputWithContext added in v3.25.0

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 added in v3.18.0

type NotificationType pulumi.String

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

func (NotificationType) ElementType added in v3.18.0

func (NotificationType) ElementType() reflect.Type

func (NotificationType) ToStringOutput added in v3.18.0

func (e NotificationType) ToStringOutput() pulumi.StringOutput

func (NotificationType) ToStringOutputWithContext added in v3.18.0

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

func (NotificationType) ToStringPtrOutput added in v3.18.0

func (e NotificationType) ToStringPtrOutput() pulumi.StringPtrOutput

func (NotificationType) ToStringPtrOutputWithContext added in v3.18.0

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/v3/go/aws/autoscaling"
"github.com/pulumi/pulumi/sdk/v2/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 added in v3.13.0

func (*Policy) ElementType() reflect.Type

func (*Policy) ToPolicyOutput added in v3.13.0

func (i *Policy) ToPolicyOutput() PolicyOutput

func (*Policy) ToPolicyOutputWithContext added in v3.13.0

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

func (*Policy) ToPolicyPtrOutput added in v3.25.0

func (i *Policy) ToPolicyPtrOutput() PolicyPtrOutput

func (*Policy) ToPolicyPtrOutputWithContext added in v3.25.0

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 added in v3.25.0

type PolicyArray []PolicyInput

func (PolicyArray) ElementType added in v3.25.0

func (PolicyArray) ElementType() reflect.Type

func (PolicyArray) ToPolicyArrayOutput added in v3.25.0

func (i PolicyArray) ToPolicyArrayOutput() PolicyArrayOutput

func (PolicyArray) ToPolicyArrayOutputWithContext added in v3.25.0

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

type PolicyArrayInput added in v3.25.0

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 added in v3.25.0

type PolicyArrayOutput struct{ *pulumi.OutputState }

func (PolicyArrayOutput) ElementType added in v3.25.0

func (PolicyArrayOutput) ElementType() reflect.Type

func (PolicyArrayOutput) Index added in v3.25.0

func (PolicyArrayOutput) ToPolicyArrayOutput added in v3.25.0

func (o PolicyArrayOutput) ToPolicyArrayOutput() PolicyArrayOutput

func (PolicyArrayOutput) ToPolicyArrayOutputWithContext added in v3.25.0

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

type PolicyInput added in v3.13.0

type PolicyInput interface {
	pulumi.Input

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

type PolicyMap added in v3.25.0

type PolicyMap map[string]PolicyInput

func (PolicyMap) ElementType added in v3.25.0

func (PolicyMap) ElementType() reflect.Type

func (PolicyMap) ToPolicyMapOutput added in v3.25.0

func (i PolicyMap) ToPolicyMapOutput() PolicyMapOutput

func (PolicyMap) ToPolicyMapOutputWithContext added in v3.25.0

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

type PolicyMapInput added in v3.25.0

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 added in v3.25.0

type PolicyMapOutput struct{ *pulumi.OutputState }

func (PolicyMapOutput) ElementType added in v3.25.0

func (PolicyMapOutput) ElementType() reflect.Type

func (PolicyMapOutput) MapIndex added in v3.25.0

func (PolicyMapOutput) ToPolicyMapOutput added in v3.25.0

func (o PolicyMapOutput) ToPolicyMapOutput() PolicyMapOutput

func (PolicyMapOutput) ToPolicyMapOutputWithContext added in v3.25.0

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

type PolicyOutput added in v3.13.0

type PolicyOutput struct {
	*pulumi.OutputState
}

func (PolicyOutput) ElementType added in v3.13.0

func (PolicyOutput) ElementType() reflect.Type

func (PolicyOutput) ToPolicyOutput added in v3.13.0

func (o PolicyOutput) ToPolicyOutput() PolicyOutput

func (PolicyOutput) ToPolicyOutputWithContext added in v3.13.0

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

func (PolicyOutput) ToPolicyPtrOutput added in v3.25.0

func (o PolicyOutput) ToPolicyPtrOutput() PolicyPtrOutput

func (PolicyOutput) ToPolicyPtrOutputWithContext added in v3.25.0

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

type PolicyPtrInput added in v3.25.0

type PolicyPtrInput interface {
	pulumi.Input

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

type PolicyPtrOutput added in v3.25.0

type PolicyPtrOutput struct {
	*pulumi.OutputState
}

func (PolicyPtrOutput) ElementType added in v3.25.0

func (PolicyPtrOutput) ElementType() reflect.Type

func (PolicyPtrOutput) ToPolicyPtrOutput added in v3.25.0

func (o PolicyPtrOutput) ToPolicyPtrOutput() PolicyPtrOutput

func (PolicyPtrOutput) ToPolicyPtrOutputWithContext added in v3.25.0

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/v3/go/aws/autoscaling"
"github.com/pulumi/pulumi/sdk/v2/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 added in v3.13.0

func (*Schedule) ElementType() reflect.Type

func (*Schedule) ToScheduleOutput added in v3.13.0

func (i *Schedule) ToScheduleOutput() ScheduleOutput

func (*Schedule) ToScheduleOutputWithContext added in v3.13.0

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

func (*Schedule) ToSchedulePtrOutput added in v3.25.0

func (i *Schedule) ToSchedulePtrOutput() SchedulePtrOutput

func (*Schedule) ToSchedulePtrOutputWithContext added in v3.25.0

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 added in v3.25.0

type ScheduleArray []ScheduleInput

func (ScheduleArray) ElementType added in v3.25.0

func (ScheduleArray) ElementType() reflect.Type

func (ScheduleArray) ToScheduleArrayOutput added in v3.25.0

func (i ScheduleArray) ToScheduleArrayOutput() ScheduleArrayOutput

func (ScheduleArray) ToScheduleArrayOutputWithContext added in v3.25.0

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

type ScheduleArrayInput added in v3.25.0

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 added in v3.25.0

type ScheduleArrayOutput struct{ *pulumi.OutputState }

func (ScheduleArrayOutput) ElementType added in v3.25.0

func (ScheduleArrayOutput) ElementType() reflect.Type

func (ScheduleArrayOutput) Index added in v3.25.0

func (ScheduleArrayOutput) ToScheduleArrayOutput added in v3.25.0

func (o ScheduleArrayOutput) ToScheduleArrayOutput() ScheduleArrayOutput

func (ScheduleArrayOutput) ToScheduleArrayOutputWithContext added in v3.25.0

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

type ScheduleInput added in v3.13.0

type ScheduleInput interface {
	pulumi.Input

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

type ScheduleMap added in v3.25.0

type ScheduleMap map[string]ScheduleInput

func (ScheduleMap) ElementType added in v3.25.0

func (ScheduleMap) ElementType() reflect.Type

func (ScheduleMap) ToScheduleMapOutput added in v3.25.0

func (i ScheduleMap) ToScheduleMapOutput() ScheduleMapOutput

func (ScheduleMap) ToScheduleMapOutputWithContext added in v3.25.0

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

type ScheduleMapInput added in v3.25.0

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 added in v3.25.0

type ScheduleMapOutput struct{ *pulumi.OutputState }

func (ScheduleMapOutput) ElementType added in v3.25.0

func (ScheduleMapOutput) ElementType() reflect.Type

func (ScheduleMapOutput) MapIndex added in v3.25.0

func (ScheduleMapOutput) ToScheduleMapOutput added in v3.25.0

func (o ScheduleMapOutput) ToScheduleMapOutput() ScheduleMapOutput

func (ScheduleMapOutput) ToScheduleMapOutputWithContext added in v3.25.0

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

type ScheduleOutput added in v3.13.0

type ScheduleOutput struct {
	*pulumi.OutputState
}

func (ScheduleOutput) ElementType added in v3.13.0

func (ScheduleOutput) ElementType() reflect.Type

func (ScheduleOutput) ToScheduleOutput added in v3.13.0

func (o ScheduleOutput) ToScheduleOutput() ScheduleOutput

func (ScheduleOutput) ToScheduleOutputWithContext added in v3.13.0

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

func (ScheduleOutput) ToSchedulePtrOutput added in v3.25.0

func (o ScheduleOutput) ToSchedulePtrOutput() SchedulePtrOutput

func (ScheduleOutput) ToSchedulePtrOutputWithContext added in v3.25.0

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

type SchedulePtrInput added in v3.25.0

type SchedulePtrInput interface {
	pulumi.Input

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

type SchedulePtrOutput added in v3.25.0

type SchedulePtrOutput struct {
	*pulumi.OutputState
}

func (SchedulePtrOutput) ElementType added in v3.25.0

func (SchedulePtrOutput) ElementType() reflect.Type

func (SchedulePtrOutput) ToSchedulePtrOutput added in v3.25.0

func (o SchedulePtrOutput) ToSchedulePtrOutput() SchedulePtrOutput

func (SchedulePtrOutput) ToSchedulePtrOutputWithContext added in v3.25.0

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