autoscaling

package
v2.9.0 Latest Latest
Warning

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

Go to latest
Published: Jun 12, 2020 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

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 AutoScaling Attachment resource.

> **NOTE on AutoScaling Groups and ASG Attachments:** This provider currently provides both a standalone ASG Attachment resource (describing an ASG attached to an ELB), and an AutoScaling Group resource with `loadBalancers` defined in-line. At this time you cannot use an ASG with in-line load balancers in conjunction with an ASG Attachment resource. Doing so will cause a conflict and will overwrite attachments.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/autoscaling"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		asgAttachmentBar, err := autoscaling.NewAttachment(ctx, "asgAttachmentBar", &autoscaling.AttachmentArgs{
			AutoscalingGroupName: pulumi.String(aws_autoscaling_group.Asg.Id),
			Elb:                  pulumi.String(aws_elb.Bar.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.

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

type Group struct {
	pulumi.CustomResourceState

	// The ARN for this AutoScaling Group
	Arn pulumi.StringOutput `pulumi:"arn"`
	// A list of one or more availability zones for the group. This parameter should not be specified when using `vpcZoneIdentifier`.
	AvailabilityZones pulumi.StringArrayOutput `pulumi:"availabilityZones"`
	// 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 autoscaling group without waiting
	// for all instances in the pool to terminate.  You can force an autoscaling 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 autoscaling 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 autoscaling group. For all other use-cases, please use `autoscaling.LifecycleHook` resource.
	InitialLifecycleHooks GroupInitialLifecycleHookArrayOutput `pulumi:"initialLifecycleHooks"`
	// 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 scale 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 this provider to wait for
	// this number of instances from this autoscaling 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 scale 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
	// autoscaling 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 AutoScaling 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 autoscaling 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.MapArrayOutput `pulumi:"tagsCollection"`
	// A list 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 scale 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.
	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 this provider to wait
	// for exactly this number of healthy instances from this autoscaling 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 AutoScaling Group resource.

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

## Example Usage

### Mixed Instances Policy

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/autoscaling"
"github.com/pulumi/pulumi-aws/sdk/v2/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{
			ImageId:      pulumi.String(data.Aws_ami.Example.Id),
			InstanceType: pulumi.String("c5.large"),
			NamePrefix:   pulumi.String("example"),
		})
		if err != nil {
			return err
		}
		exampleGroup, 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(),
					},
					Override: []map[string]interface{}{
						map[string]interface{}{
							"instanceType":     "c4.large",
							"weightedCapacity": "3",
						},
						map[string]interface{}{
							"instanceType":     "c3.large",
							"weightedCapacity": "2",
						},
					},
				},
			},
		})
		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.

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.

type GroupArgs

type GroupArgs struct {
	// A list of one or more availability zones for the group. This parameter should not be specified when using `vpcZoneIdentifier`.
	AvailabilityZones pulumi.StringArrayInput
	// 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 autoscaling group without waiting
	// for all instances in the pool to terminate.  You can force an autoscaling 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 autoscaling 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 autoscaling group. For all other use-cases, please use `autoscaling.LifecycleHook` resource.
	InitialLifecycleHooks GroupInitialLifecycleHookArrayInput
	// 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 scale group.
	MaxSize pulumi.IntInput
	// The granularity to associate with the metrics to collect. The only valid value is `1Minute`. Default is `1Minute`.
	MetricsGranularity pulumi.Input
	// Setting this causes this provider to wait for
	// this number of instances from this autoscaling 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 scale 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
	// autoscaling 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 AutoScaling 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 autoscaling 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.MapArrayInput
	// A list 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 scale 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.
	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 this provider to wait
	// for exactly this number of healthy instances from this autoscaling 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 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 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 GroupMixedInstancesPolicy

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

type GroupMixedInstancesPolicyArgs

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

func (GroupMixedInstancesPolicyArgs) ElementType

func (GroupMixedInstancesPolicyArgs) ToGroupMixedInstancesPolicyOutput

func (i GroupMixedInstancesPolicyArgs) ToGroupMixedInstancesPolicyOutput() GroupMixedInstancesPolicyOutput

func (GroupMixedInstancesPolicyArgs) ToGroupMixedInstancesPolicyOutputWithContext

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

func (GroupMixedInstancesPolicyArgs) ToGroupMixedInstancesPolicyPtrOutput

func (i GroupMixedInstancesPolicyArgs) ToGroupMixedInstancesPolicyPtrOutput() GroupMixedInstancesPolicyPtrOutput

func (GroupMixedInstancesPolicyArgs) ToGroupMixedInstancesPolicyPtrOutputWithContext

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

type GroupMixedInstancesPolicyInput

type GroupMixedInstancesPolicyInput interface {
	pulumi.Input

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

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

GroupMixedInstancesPolicyArgs{...}

type GroupMixedInstancesPolicyInstancesDistribution

type GroupMixedInstancesPolicyInstancesDistribution struct {
	// Strategy to use when launching on-demand instances. Valid values: `prioritized`. Default: `prioritized`.
	OnDemandAllocationStrategy *string `pulumi:"onDemandAllocationStrategy"`
	// Absolute minimum amount of desired capacity that must be fulfilled by on-demand instances. Default: `0`.
	OnDemandBaseCapacity *int `pulumi:"onDemandBaseCapacity"`
	// Percentage split between on-demand and Spot instances above the base on-demand capacity. Default: `100`.
	OnDemandPercentageAboveBaseCapacity *int `pulumi:"onDemandPercentageAboveBaseCapacity"`
	// How to allocate capacity across the Spot pools. Valid values: `lowest-price`, `capacity-optimized`. 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: `100`.
	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: `100`.

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: `100`.

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 {
	// Nested argument defines the Launch Template. Defined below.
	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 {
	// Nested argument defines the Launch Template. Defined below.
	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 added in v2.2.0

func (i GroupMixedInstancesPolicyLaunchTemplateArgs) ToGroupMixedInstancesPolicyLaunchTemplatePtrOutput() GroupMixedInstancesPolicyLaunchTemplatePtrOutput

func (GroupMixedInstancesPolicyLaunchTemplateArgs) ToGroupMixedInstancesPolicyLaunchTemplatePtrOutputWithContext added in v2.2.0

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 added in v2.2.0

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationArgs) ToGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutputWithContext added in v2.2.0

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 added in v2.2.0

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutput) ToGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutputWithContext added in v2.2.0

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

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationOutput) Version

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

type GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrInput added in v2.2.0

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 added in v2.2.0

type GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput struct{ *pulumi.OutputState }

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput) Elem added in v2.2.0

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput) ElementType added in v2.2.0

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput) LaunchTemplateId added in v2.2.0

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

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput) LaunchTemplateName added in v2.2.0

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

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput) ToGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput added in v2.2.0

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput) ToGroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutputWithContext added in v2.2.0

func (GroupMixedInstancesPolicyLaunchTemplateLaunchTemplateSpecificationPtrOutput) Version added in v2.2.0

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

type GroupMixedInstancesPolicyLaunchTemplateOutput

type GroupMixedInstancesPolicyLaunchTemplateOutput struct{ *pulumi.OutputState }

func (GroupMixedInstancesPolicyLaunchTemplateOutput) ElementType

func (GroupMixedInstancesPolicyLaunchTemplateOutput) LaunchTemplateSpecification

Nested argument defines the Launch Template. Defined below.

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 added in v2.2.0

func (o GroupMixedInstancesPolicyLaunchTemplateOutput) ToGroupMixedInstancesPolicyLaunchTemplatePtrOutput() GroupMixedInstancesPolicyLaunchTemplatePtrOutput

func (GroupMixedInstancesPolicyLaunchTemplateOutput) ToGroupMixedInstancesPolicyLaunchTemplatePtrOutputWithContext added in v2.2.0

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"`
	// 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"`
	// 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 GroupMixedInstancesPolicyLaunchTemplateOverrideOutput

type GroupMixedInstancesPolicyLaunchTemplateOverrideOutput struct{ *pulumi.OutputState }

func (GroupMixedInstancesPolicyLaunchTemplateOverrideOutput) ElementType

func (GroupMixedInstancesPolicyLaunchTemplateOverrideOutput) InstanceType

Override the instance type 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 added in v2.2.0

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 added in v2.2.0

type GroupMixedInstancesPolicyLaunchTemplatePtrOutput struct{ *pulumi.OutputState }

func (GroupMixedInstancesPolicyLaunchTemplatePtrOutput) Elem added in v2.2.0

func (GroupMixedInstancesPolicyLaunchTemplatePtrOutput) ElementType added in v2.2.0

func (GroupMixedInstancesPolicyLaunchTemplatePtrOutput) LaunchTemplateSpecification added in v2.2.0

Nested argument defines the Launch Template. Defined below.

func (GroupMixedInstancesPolicyLaunchTemplatePtrOutput) Overrides added in v2.2.0

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 added in v2.2.0

func (o GroupMixedInstancesPolicyLaunchTemplatePtrOutput) ToGroupMixedInstancesPolicyLaunchTemplatePtrOutput() GroupMixedInstancesPolicyLaunchTemplatePtrOutput

func (GroupMixedInstancesPolicyLaunchTemplatePtrOutput) ToGroupMixedInstancesPolicyLaunchTemplatePtrOutputWithContext added in v2.2.0

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 GroupState

type GroupState struct {
	// The ARN for this AutoScaling Group
	Arn pulumi.StringPtrInput
	// A list of one or more availability zones for the group. This parameter should not be specified when using `vpcZoneIdentifier`.
	AvailabilityZones pulumi.StringArrayInput
	// 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 autoscaling group without waiting
	// for all instances in the pool to terminate.  You can force an autoscaling 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 autoscaling 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 autoscaling group. For all other use-cases, please use `autoscaling.LifecycleHook` resource.
	InitialLifecycleHooks GroupInitialLifecycleHookArrayInput
	// 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 scale 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 this provider to wait for
	// this number of instances from this autoscaling 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 scale 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
	// autoscaling 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 AutoScaling 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 autoscaling 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.MapArrayInput
	// A list 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 scale 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.
	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 this provider to wait
	// for exactly this number of healthy instances from this autoscaling 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.

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.

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 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"`
	// 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"`
	// The 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/sdk/v2/go/pulumi"

)

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

```

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

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/autoscaling"
"github.com/pulumi/pulumi-aws/sdk/v2/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
		}
		exampleNotifications, 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: pulumi.String(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.

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 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 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"`
	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/v2/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"),
			},
			ForceDelete:            pulumi.Bool(true),
			HealthCheckGracePeriod: pulumi.Int(300),
			HealthCheckType:        pulumi.String("ELB"),
			LaunchConfiguration:    pulumi.String(aws_launch_configuration.Foo.Name),
			MaxSize:                pulumi.Int(5),
			MinSize:                pulumi.Int(2),
		})
		if err != nil {
			return err
		}
		bat, err := autoscaling.NewPolicy(ctx, "bat", &autoscaling.PolicyArgs{
			AdjustmentType:       pulumi.String("ChangeInCapacity"),
			AutoscalingGroupName: bar.Name,
			Cooldown:             pulumi.Int(300),
			ScalingAdjustment:    pulumi.Int(4),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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.

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
	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 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
	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/v2/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"),
			},
			ForceDelete:            pulumi.Bool(true),
			HealthCheckGracePeriod: pulumi.Int(300),
			HealthCheckType:        pulumi.String("ELB"),
			MaxSize:                pulumi.Int(1),
			MinSize:                pulumi.Int(1),
			TerminationPolicies: pulumi.StringArray{
				pulumi.String("OldestInstance"),
			},
		})
		if err != nil {
			return err
		}
		foobarSchedule, err := autoscaling.NewSchedule(ctx, "foobarSchedule", &autoscaling.ScheduleArgs{
			AutoscalingGroupName: foobarGroup.Name,
			DesiredCapacity:      pulumi.Int(0),
			EndTime:              pulumi.String("2016-12-12T06:00:00Z"),
			MaxSize:              pulumi.Int(1),
			MinSize:              pulumi.Int(0),
			ScheduledActionName:  pulumi.String("foobar"),
			StartTime:            pulumi.String("2016-12-11T18:00:00Z"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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.

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