autoscaling

package
v0.18.25 Latest Latest
Warning

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

Go to latest
Published: Jul 30, 2019 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Overview

nolint: lll Package autoscaling exports types, functions, subpackages for provisioning autoscaling resources.

> This provider is a derived work of the [Terraform Provider](https://github.com/terraform-providers/terraform-provider-aws) > distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature, > first check the [`pulumi/pulumi-aws` repo](https://github.com/pulumi/pulumi-aws/issues); however, if that doesn't turn up anything, > please consult the source [`terraform-providers/terraform-provider-aws` repo](https://github.com/terraform-providers/terraform-provider-aws/issues).

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Attachment

type Attachment struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/r/autoscaling_attachment.html.markdown.

func GetAttachment

func GetAttachment(ctx *pulumi.Context,
	name string, id pulumi.ID, state *AttachmentState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*Attachment, error)

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

func (*Attachment) AlbTargetGroupArn

func (r *Attachment) AlbTargetGroupArn() *pulumi.StringOutput

The ARN of an ALB Target Group.

func (*Attachment) AutoscalingGroupName

func (r *Attachment) AutoscalingGroupName() *pulumi.StringOutput

Name of ASG to associate with the ELB.

func (*Attachment) Elb

func (r *Attachment) Elb() *pulumi.StringOutput

The name of the ELB.

func (*Attachment) ID

func (r *Attachment) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Attachment) URN

func (r *Attachment) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type AttachmentArgs

type AttachmentArgs struct {
	// The ARN of an ALB Target Group.
	AlbTargetGroupArn interface{}
	// Name of ASG to associate with the ELB.
	AutoscalingGroupName interface{}
	// The name of the ELB.
	Elb interface{}
}

The set of arguments for constructing a Attachment resource.

type AttachmentState

type AttachmentState struct {
	// The ARN of an ALB Target Group.
	AlbTargetGroupArn interface{}
	// Name of ASG to associate with the ELB.
	AutoscalingGroupName interface{}
	// The name of the ELB.
	Elb interface{}
}

Input properties used for looking up and filtering Attachment resources.

type GetGroupArgs added in v0.16.5

type GetGroupArgs struct {
	// Specify the exact name of the desired autoscaling group.
	Name interface{}
}

A collection of arguments for invoking getGroup.

type GetGroupResult added in v0.16.5

type GetGroupResult struct {
	// The Amazon Resource Name (ARN) of the Auto Scaling group.
	Arn interface{}
	// One or more Availability Zones for the group.
	AvailabilityZones interface{}
	DefaultCooldown   interface{}
	// The desired size of the group.
	DesiredCapacity interface{}
	// 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 interface{}
	// The service to use for the health checks. The valid values are EC2 and ELB.
	HealthCheckType interface{}
	// The name of the associated launch configuration.
	LaunchConfiguration interface{}
	// One or more load balancers associated with the group.
	LoadBalancers interface{}
	// The maximum size of the group.
	MaxSize interface{}
	// The minimum size of the group.
	MinSize interface{}
	// The name of the Auto Scaling group.
	Name                             interface{}
	NewInstancesProtectedFromScaleIn interface{}
	// 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 interface{}
	// 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 interface{}
	// The current state of the group when DeleteAutoScalingGroup is in progress.
	Status interface{}
	// The Amazon Resource Names (ARN) of the target groups for your load balancer.
	TargetGroupArns interface{}
	// The termination policies for the group.
	TerminationPolicies interface{}
	// VPC ID for the group.
	VpcZoneIdentifier interface{}
	// id is the provider-assigned unique ID for this managed resource.
	Id interface{}
}

A collection of values returned by getGroup.

func LookupGroup added in v0.16.5

func LookupGroup(ctx *pulumi.Context, args *GetGroupArgs) (*GetGroupResult, error)

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

> This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/d/autoscaling_group.html.markdown.

type Group

type Group struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/r/autoscaling_group.html.markdown.

func GetGroup

func GetGroup(ctx *pulumi.Context,
	name string, id pulumi.ID, state *GroupState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*Group, error)

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

func (*Group) Arn

func (r *Group) Arn() *pulumi.StringOutput

The ARN for this AutoScaling Group

func (*Group) AvailabilityZones

func (r *Group) AvailabilityZones() *pulumi.ArrayOutput

A list of one or more availability zones for the group. This parameter should not be specified when using `vpc_zone_identifier`.

func (*Group) DefaultCooldown

func (r *Group) DefaultCooldown() *pulumi.IntOutput

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

func (*Group) DesiredCapacity

func (r *Group) DesiredCapacity() *pulumi.IntOutput

The number of Amazon EC2 instances that should be running in the group. (See also Waiting for Capacity below.)

func (*Group) EnabledMetrics

func (r *Group) EnabledMetrics() *pulumi.ArrayOutput

func (*Group) ForceDelete

func (r *Group) ForceDelete() *pulumi.BoolOutput

func (*Group) HealthCheckGracePeriod

func (r *Group) HealthCheckGracePeriod() *pulumi.IntOutput

Time (in seconds) after instance comes into service before checking health.

func (*Group) HealthCheckType

func (r *Group) HealthCheckType() *pulumi.StringOutput

"EC2" or "ELB". Controls how health checking is done.

func (*Group) ID

func (r *Group) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Group) InitialLifecycleHooks

func (r *Group) InitialLifecycleHooks() *pulumi.ArrayOutput

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 [`aws_autoscaling_lifecycle_hook`](https://www.terraform.io/docs/providers/aws/r/autoscaling_lifecycle_hooks.html) resource, without the `autoscaling_group_name` attribute. Please note that this will only work when creating a new autoscaling group. For all other use-cases, please use `aws_autoscaling_lifecycle_hook` resource.

func (*Group) LaunchConfiguration

func (r *Group) LaunchConfiguration() *pulumi.StringOutput

The name of the launch configuration to use.

func (*Group) LaunchTemplate

func (r *Group) LaunchTemplate() *pulumi.Output

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

func (*Group) LoadBalancers

func (r *Group) LoadBalancers() *pulumi.ArrayOutput

A list of elastic load balancer names to add to the autoscaling group names. Only valid for classic load balancers. For ALBs, use `target_group_arns` instead.

func (*Group) MaxSize

func (r *Group) MaxSize() *pulumi.IntOutput

The maximum size of the auto scale group.

func (*Group) MetricsGranularity

func (r *Group) MetricsGranularity() *pulumi.StringOutput

The granularity to associate with the metrics to collect. The only valid value is `1Minute`. Default is `1Minute`.

func (*Group) MinElbCapacity

func (r *Group) MinElbCapacity() *pulumi.IntOutput

func (*Group) MinSize

func (r *Group) MinSize() *pulumi.IntOutput

The minimum size of the auto scale group. (See also Waiting for Capacity below.)

func (*Group) MixedInstancesPolicy added in v0.16.3

func (r *Group) MixedInstancesPolicy() *pulumi.Output

Configuration block containing settings to define launch targets for Auto Scaling groups. Defined below.

func (*Group) Name

func (r *Group) Name() *pulumi.StringOutput

func (*Group) NamePrefix

func (r *Group) NamePrefix() *pulumi.StringOutput

Creates a unique name beginning with the specified prefix. Conflicts with `name`.

func (*Group) PlacementGroup

func (r *Group) PlacementGroup() *pulumi.StringOutput

The name of the placement group into which you'll launch your instances, if any.

func (*Group) ProtectFromScaleIn

func (r *Group) ProtectFromScaleIn() *pulumi.BoolOutput

Allows setting instance protection. The autoscaling group will not select instances with this setting for terminination during scale in events.

func (*Group) ServiceLinkedRoleArn

func (r *Group) ServiceLinkedRoleArn() *pulumi.StringOutput

The ARN of the service-linked role that the ASG will use to call other AWS services

func (*Group) SuspendedProcesses

func (r *Group) SuspendedProcesses() *pulumi.ArrayOutput

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.

func (*Group) Tags

func (r *Group) Tags() *pulumi.ArrayOutput

A list of tag blocks. Tags documented below.

func (*Group) TagsCollection

func (r *Group) TagsCollection() *pulumi.ArrayOutput

A list of tag blocks (maps). Tags documented below.

func (*Group) TargetGroupArns

func (r *Group) TargetGroupArns() *pulumi.ArrayOutput

A list of `aws_alb_target_group` ARNs, for use with Application or Network Load Balancing.

func (*Group) TerminationPolicies

func (r *Group) TerminationPolicies() *pulumi.ArrayOutput

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

func (*Group) URN

func (r *Group) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

func (*Group) VpcZoneIdentifiers

func (r *Group) VpcZoneIdentifiers() *pulumi.ArrayOutput

A list of subnet IDs to launch resources in.

func (*Group) WaitForCapacityTimeout

func (r *Group) WaitForCapacityTimeout() *pulumi.StringOutput

func (*Group) WaitForElbCapacity

func (r *Group) WaitForElbCapacity() *pulumi.IntOutput

type GroupArgs

type GroupArgs struct {
	// A list of one or more availability zones for the group. This parameter should not be specified when using `vpc_zone_identifier`.
	AvailabilityZones interface{}
	// The amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
	DefaultCooldown interface{}
	// The number of Amazon EC2 instances that
	// should be running in the group. (See also Waiting for
	// Capacity below.)
	DesiredCapacity interface{}
	EnabledMetrics  interface{}
	ForceDelete     interface{}
	// Time (in seconds) after instance comes into service before checking health.
	HealthCheckGracePeriod interface{}
	// "EC2" or "ELB". Controls how health checking is done.
	HealthCheckType interface{}
	// 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
	// [`aws_autoscaling_lifecycle_hook`](https://www.terraform.io/docs/providers/aws/r/autoscaling_lifecycle_hooks.html)
	// resource, without the `autoscaling_group_name` attribute. Please note that this will only work when creating
	// a new autoscaling group. For all other use-cases, please use `aws_autoscaling_lifecycle_hook` resource.
	InitialLifecycleHooks interface{}
	// The name of the launch configuration to use.
	LaunchConfiguration interface{}
	// Nested argument containing launch template settings along with the overrides to specify multiple instance types. Defined below.
	LaunchTemplate interface{}
	// A list of elastic load balancer names to add to the autoscaling
	// group names. Only valid for classic load balancers. For ALBs, use `target_group_arns` instead.
	LoadBalancers interface{}
	// The maximum size of the auto scale group.
	MaxSize interface{}
	// The granularity to associate with the metrics to collect. The only valid value is `1Minute`. Default is `1Minute`.
	MetricsGranularity interface{}
	MinElbCapacity     interface{}
	// The minimum size of the auto scale group.
	// (See also Waiting for Capacity below.)
	MinSize interface{}
	// Configuration block containing settings to define launch targets for Auto Scaling groups. Defined below.
	MixedInstancesPolicy interface{}
	Name                 interface{}
	// Creates a unique name beginning with the specified
	// prefix. Conflicts with `name`.
	NamePrefix interface{}
	// The name of the placement group into which you'll launch your instances, if any.
	PlacementGroup interface{}
	// Allows setting instance protection. The
	// autoscaling group will not select instances with this setting for terminination
	// during scale in events.
	ProtectFromScaleIn interface{}
	// The ARN of the service-linked role that the ASG will use to call other AWS services
	ServiceLinkedRoleArn interface{}
	// 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 interface{}
	// A list of tag blocks. Tags documented below.
	Tags interface{}
	// A list of tag blocks (maps). Tags documented below.
	TagsCollection interface{}
	// A list of `aws_alb_target_group` ARNs, for use with Application or Network Load Balancing.
	TargetGroupArns interface{}
	// 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 interface{}
	// A list of subnet IDs to launch resources in.
	VpcZoneIdentifiers     interface{}
	WaitForCapacityTimeout interface{}
	WaitForElbCapacity     interface{}
}

The set of arguments for constructing a Group resource.

type GroupState

type GroupState struct {
	// The ARN for this AutoScaling Group
	Arn interface{}
	// A list of one or more availability zones for the group. This parameter should not be specified when using `vpc_zone_identifier`.
	AvailabilityZones interface{}
	// The amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
	DefaultCooldown interface{}
	// The number of Amazon EC2 instances that
	// should be running in the group. (See also Waiting for
	// Capacity below.)
	DesiredCapacity interface{}
	EnabledMetrics  interface{}
	ForceDelete     interface{}
	// Time (in seconds) after instance comes into service before checking health.
	HealthCheckGracePeriod interface{}
	// "EC2" or "ELB". Controls how health checking is done.
	HealthCheckType interface{}
	// 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
	// [`aws_autoscaling_lifecycle_hook`](https://www.terraform.io/docs/providers/aws/r/autoscaling_lifecycle_hooks.html)
	// resource, without the `autoscaling_group_name` attribute. Please note that this will only work when creating
	// a new autoscaling group. For all other use-cases, please use `aws_autoscaling_lifecycle_hook` resource.
	InitialLifecycleHooks interface{}
	// The name of the launch configuration to use.
	LaunchConfiguration interface{}
	// Nested argument containing launch template settings along with the overrides to specify multiple instance types. Defined below.
	LaunchTemplate interface{}
	// A list of elastic load balancer names to add to the autoscaling
	// group names. Only valid for classic load balancers. For ALBs, use `target_group_arns` instead.
	LoadBalancers interface{}
	// The maximum size of the auto scale group.
	MaxSize interface{}
	// The granularity to associate with the metrics to collect. The only valid value is `1Minute`. Default is `1Minute`.
	MetricsGranularity interface{}
	MinElbCapacity     interface{}
	// The minimum size of the auto scale group.
	// (See also Waiting for Capacity below.)
	MinSize interface{}
	// Configuration block containing settings to define launch targets for Auto Scaling groups. Defined below.
	MixedInstancesPolicy interface{}
	Name                 interface{}
	// Creates a unique name beginning with the specified
	// prefix. Conflicts with `name`.
	NamePrefix interface{}
	// The name of the placement group into which you'll launch your instances, if any.
	PlacementGroup interface{}
	// Allows setting instance protection. The
	// autoscaling group will not select instances with this setting for terminination
	// during scale in events.
	ProtectFromScaleIn interface{}
	// The ARN of the service-linked role that the ASG will use to call other AWS services
	ServiceLinkedRoleArn interface{}
	// 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 interface{}
	// A list of tag blocks. Tags documented below.
	Tags interface{}
	// A list of tag blocks (maps). Tags documented below.
	TagsCollection interface{}
	// A list of `aws_alb_target_group` ARNs, for use with Application or Network Load Balancing.
	TargetGroupArns interface{}
	// 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 interface{}
	// A list of subnet IDs to launch resources in.
	VpcZoneIdentifiers     interface{}
	WaitForCapacityTimeout interface{}
	WaitForElbCapacity     interface{}
}

Input properties used for looking up and filtering Group resources.

type LifecycleHook

type LifecycleHook struct {
	// contains filtered or unexported fields
}

> This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/r/autoscaling_lifecycle_hook.html.markdown.

func GetLifecycleHook

func GetLifecycleHook(ctx *pulumi.Context,
	name string, id pulumi.ID, state *LifecycleHookState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*LifecycleHook, error)

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

func (*LifecycleHook) AutoscalingGroupName

func (r *LifecycleHook) AutoscalingGroupName() *pulumi.StringOutput

The name of the Auto Scaling group to which you want to assign the lifecycle hook

func (*LifecycleHook) DefaultResult

func (r *LifecycleHook) DefaultResult() *pulumi.StringOutput

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.

func (*LifecycleHook) HeartbeatTimeout

func (r *LifecycleHook) HeartbeatTimeout() *pulumi.IntOutput

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

func (*LifecycleHook) ID

func (r *LifecycleHook) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*LifecycleHook) LifecycleTransition

func (r *LifecycleHook) LifecycleTransition() *pulumi.StringOutput

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)

func (*LifecycleHook) Name

func (r *LifecycleHook) Name() *pulumi.StringOutput

The name of the lifecycle hook.

func (*LifecycleHook) NotificationMetadata

func (r *LifecycleHook) NotificationMetadata() *pulumi.StringOutput

Contains additional information that you want to include any time Auto Scaling sends a message to the notification target.

func (*LifecycleHook) NotificationTargetArn

func (r *LifecycleHook) NotificationTargetArn() *pulumi.StringOutput

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.

func (*LifecycleHook) RoleArn

func (r *LifecycleHook) RoleArn() *pulumi.StringOutput

The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target.

func (*LifecycleHook) URN

func (r *LifecycleHook) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type LifecycleHookArgs

type LifecycleHookArgs struct {
	// The name of the Auto Scaling group to which you want to assign the lifecycle hook
	AutoscalingGroupName interface{}
	// 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 interface{}
	// 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 interface{}
	// 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 interface{}
	// The name of the lifecycle hook.
	Name interface{}
	// Contains additional information that you want to include any time Auto Scaling sends a message to the notification target.
	NotificationMetadata interface{}
	// 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 interface{}
	// The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target.
	RoleArn interface{}
}

The set of arguments for constructing a LifecycleHook resource.

type LifecycleHookState

type LifecycleHookState struct {
	// The name of the Auto Scaling group to which you want to assign the lifecycle hook
	AutoscalingGroupName interface{}
	// 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 interface{}
	// 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 interface{}
	// 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 interface{}
	// The name of the lifecycle hook.
	Name interface{}
	// Contains additional information that you want to include any time Auto Scaling sends a message to the notification target.
	NotificationMetadata interface{}
	// 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 interface{}
	// The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target.
	RoleArn interface{}
}

Input properties used for looking up and filtering LifecycleHook resources.

type Notification

type Notification struct {
	// contains filtered or unexported fields
}

Provides an AutoScaling Group with Notification support, via SNS Topics. Each of the `notifications` map to a [Notification Configuration][2] inside Amazon Web Services, and are applied to each AutoScaling Group you supply.

> This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/r/autoscaling_notification.html.markdown.

func GetNotification

func GetNotification(ctx *pulumi.Context,
	name string, id pulumi.ID, state *NotificationState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*Notification, error)

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

func (*Notification) GroupNames

func (r *Notification) GroupNames() *pulumi.ArrayOutput

A list of AutoScaling Group Names

func (*Notification) ID

func (r *Notification) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Notification) Notifications

func (r *Notification) Notifications() *pulumi.ArrayOutput

A list of Notification Types that trigger notifications. Acceptable values are documented [in the AWS documentation here][1]

func (*Notification) TopicArn

func (r *Notification) TopicArn() *pulumi.StringOutput

The Topic ARN for notifications to be sent through

func (*Notification) URN

func (r *Notification) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type NotificationArgs

type NotificationArgs struct {
	// A list of AutoScaling Group Names
	GroupNames interface{}
	// A list of Notification Types that trigger
	// notifications. Acceptable values are documented [in the AWS documentation here][1]
	Notifications interface{}
	// The Topic ARN for notifications to be sent through
	TopicArn interface{}
}

The set of arguments for constructing a Notification resource.

type NotificationState

type NotificationState struct {
	// A list of AutoScaling Group Names
	GroupNames interface{}
	// A list of Notification Types that trigger
	// notifications. Acceptable values are documented [in the AWS documentation here][1]
	Notifications interface{}
	// The Topic ARN for notifications to be sent through
	TopicArn interface{}
}

Input properties used for looking up and filtering Notification resources.

type Policy

type Policy struct {
	// contains filtered or unexported fields
}

Provides an AutoScaling Scaling Policy resource.

> **NOTE:** You may want to omit `desired_capacity` attribute from attached `aws_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.

> This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/r/autoscaling_policy.html.markdown.

func GetPolicy

func GetPolicy(ctx *pulumi.Context,
	name string, id pulumi.ID, state *PolicyState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*Policy, error)

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

func (*Policy) AdjustmentType

func (r *Policy) AdjustmentType() *pulumi.StringOutput

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

func (*Policy) Arn

func (r *Policy) Arn() *pulumi.StringOutput

The ARN assigned by AWS to the scaling policy.

func (*Policy) AutoscalingGroupName

func (r *Policy) AutoscalingGroupName() *pulumi.StringOutput

The name of the autoscaling group.

func (*Policy) Cooldown

func (r *Policy) Cooldown() *pulumi.IntOutput

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

func (*Policy) EstimatedInstanceWarmup

func (r *Policy) EstimatedInstanceWarmup() *pulumi.IntOutput

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.

func (*Policy) ID

func (r *Policy) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Policy) MetricAggregationType

func (r *Policy) MetricAggregationType() *pulumi.StringOutput

The aggregation type for the policy's metrics. Valid values are "Minimum", "Maximum", and "Average". Without a value, AWS will treat the aggregation type as "Average".

func (*Policy) MinAdjustmentMagnitude

func (r *Policy) MinAdjustmentMagnitude() *pulumi.IntOutput

func (*Policy) Name

func (r *Policy) Name() *pulumi.StringOutput

The name of the dimension.

func (*Policy) PolicyType

func (r *Policy) PolicyType() *pulumi.StringOutput

The policy type, either "SimpleScaling", "StepScaling" or "TargetTrackingScaling". If this value isn't provided, AWS will default to "SimpleScaling."

func (*Policy) ScalingAdjustment

func (r *Policy) 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 (*Policy) StepAdjustments

func (r *Policy) StepAdjustments() *pulumi.ArrayOutput

func (*Policy) TargetTrackingConfiguration

func (r *Policy) TargetTrackingConfiguration() *pulumi.Output

A target tracking policy. These have the following structure:

func (*Policy) URN

func (r *Policy) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

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 interface{}
	// The name of the autoscaling group.
	AutoscalingGroupName interface{}
	// The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
	Cooldown interface{}
	// 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 interface{}
	// 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  interface{}
	MinAdjustmentMagnitude interface{}
	// The name of the dimension.
	Name interface{}
	// The policy type, either "SimpleScaling", "StepScaling" or "TargetTrackingScaling". If this value isn't provided, AWS will default to "SimpleScaling."
	PolicyType interface{}
	// 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 interface{}
	StepAdjustments   interface{}
	// A target tracking policy. These have the following structure:
	TargetTrackingConfiguration interface{}
}

The set of arguments for constructing a Policy resource.

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 interface{}
	// The ARN assigned by AWS to the scaling policy.
	Arn interface{}
	// The name of the autoscaling group.
	AutoscalingGroupName interface{}
	// The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
	Cooldown interface{}
	// 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 interface{}
	// 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  interface{}
	MinAdjustmentMagnitude interface{}
	// The name of the dimension.
	Name interface{}
	// The policy type, either "SimpleScaling", "StepScaling" or "TargetTrackingScaling". If this value isn't provided, AWS will default to "SimpleScaling."
	PolicyType interface{}
	// 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 interface{}
	StepAdjustments   interface{}
	// A target tracking policy. These have the following structure:
	TargetTrackingConfiguration interface{}
}

Input properties used for looking up and filtering Policy resources.

type Schedule

type Schedule struct {
	// contains filtered or unexported fields
}

Provides an AutoScaling Schedule resource.

> This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/r/autoscaling_schedule.html.markdown.

func GetSchedule

func GetSchedule(ctx *pulumi.Context,
	name string, id pulumi.ID, state *ScheduleState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*Schedule, error)

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

func (*Schedule) Arn

func (r *Schedule) Arn() *pulumi.StringOutput

The ARN assigned by AWS to the autoscaling schedule.

func (*Schedule) AutoscalingGroupName

func (r *Schedule) AutoscalingGroupName() *pulumi.StringOutput

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

func (*Schedule) DesiredCapacity

func (r *Schedule) DesiredCapacity() *pulumi.IntOutput

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.

func (*Schedule) EndTime

func (r *Schedule) EndTime() *pulumi.StringOutput

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.

func (*Schedule) ID

func (r *Schedule) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Schedule) MaxSize

func (r *Schedule) MaxSize() *pulumi.IntOutput

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.

func (*Schedule) MinSize

func (r *Schedule) MinSize() *pulumi.IntOutput

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.

func (*Schedule) Recurrence

func (r *Schedule) Recurrence() *pulumi.StringOutput

The time when recurring future actions will start. Start time is specified by the user following the Unix cron syntax format.

func (*Schedule) ScheduledActionName

func (r *Schedule) ScheduledActionName() *pulumi.StringOutput

The name of this scaling action.

func (*Schedule) StartTime

func (r *Schedule) StartTime() *pulumi.StringOutput

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.

func (*Schedule) URN

func (r *Schedule) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type ScheduleArgs

type ScheduleArgs struct {
	// The name or Amazon Resource Name (ARN) of the Auto Scaling group.
	AutoscalingGroupName interface{}
	// 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 interface{}
	// 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 interface{}
	// 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 interface{}
	// 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 interface{}
	// The time when recurring future actions will start. Start time is specified by the user following the Unix cron syntax format.
	Recurrence interface{}
	// The name of this scaling action.
	ScheduledActionName interface{}
	// 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 interface{}
}

The set of arguments for constructing a Schedule resource.

type ScheduleState

type ScheduleState struct {
	// The ARN assigned by AWS to the autoscaling schedule.
	Arn interface{}
	// The name or Amazon Resource Name (ARN) of the Auto Scaling group.
	AutoscalingGroupName interface{}
	// 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 interface{}
	// 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 interface{}
	// 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 interface{}
	// 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 interface{}
	// The time when recurring future actions will start. Start time is specified by the user following the Unix cron syntax format.
	Recurrence interface{}
	// The name of this scaling action.
	ScheduledActionName interface{}
	// 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 interface{}
}

Input properties used for looking up and filtering Schedule resources.

Jump to

Keyboard shortcuts

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