Documentation
¶
Index ¶
- type Attachment
- type AttachmentArgs
- type AttachmentState
- type Group
- func (r *Group) Arn() *pulumi.StringOutput
- func (r *Group) AvailabilityZones() *pulumi.ArrayOutput
- func (r *Group) DefaultCooldown() *pulumi.IntOutput
- func (r *Group) DesiredCapacity() *pulumi.IntOutput
- func (r *Group) EnabledMetrics() *pulumi.ArrayOutput
- func (r *Group) ForceDelete() *pulumi.BoolOutput
- func (r *Group) HealthCheckGracePeriod() *pulumi.IntOutput
- func (r *Group) HealthCheckType() *pulumi.StringOutput
- func (r *Group) ID() *pulumi.IDOutput
- func (r *Group) InitialLifecycleHooks() *pulumi.ArrayOutput
- func (r *Group) LaunchConfiguration() *pulumi.StringOutput
- func (r *Group) LaunchTemplate() *pulumi.Output
- func (r *Group) LoadBalancers() *pulumi.ArrayOutput
- func (r *Group) MaxSize() *pulumi.IntOutput
- func (r *Group) MetricsGranularity() *pulumi.StringOutput
- func (r *Group) MinElbCapacity() *pulumi.IntOutput
- func (r *Group) MinSize() *pulumi.IntOutput
- func (r *Group) Name() *pulumi.StringOutput
- func (r *Group) NamePrefix() *pulumi.StringOutput
- func (r *Group) PlacementGroup() *pulumi.StringOutput
- func (r *Group) ProtectFromScaleIn() *pulumi.BoolOutput
- func (r *Group) ServiceLinkedRoleArn() *pulumi.StringOutput
- func (r *Group) SuspendedProcesses() *pulumi.ArrayOutput
- func (r *Group) Tags() *pulumi.ArrayOutput
- func (r *Group) TagsCollection() *pulumi.MapOutput
- func (r *Group) TargetGroupArns() *pulumi.ArrayOutput
- func (r *Group) TerminationPolicies() *pulumi.ArrayOutput
- func (r *Group) URN() *pulumi.URNOutput
- func (r *Group) VpcZoneIdentifiers() *pulumi.ArrayOutput
- func (r *Group) WaitForCapacityTimeout() *pulumi.StringOutput
- func (r *Group) WaitForElbCapacity() *pulumi.IntOutput
- type GroupArgs
- type GroupState
- type LifecycleHook
- func (r *LifecycleHook) AutoscalingGroupName() *pulumi.StringOutput
- func (r *LifecycleHook) DefaultResult() *pulumi.StringOutput
- func (r *LifecycleHook) HeartbeatTimeout() *pulumi.IntOutput
- func (r *LifecycleHook) ID() *pulumi.IDOutput
- func (r *LifecycleHook) LifecycleTransition() *pulumi.StringOutput
- func (r *LifecycleHook) Name() *pulumi.StringOutput
- func (r *LifecycleHook) NotificationMetadata() *pulumi.StringOutput
- func (r *LifecycleHook) NotificationTargetArn() *pulumi.StringOutput
- func (r *LifecycleHook) RoleArn() *pulumi.StringOutput
- func (r *LifecycleHook) URN() *pulumi.URNOutput
- type LifecycleHookArgs
- type LifecycleHookState
- type Notification
- type NotificationArgs
- type NotificationState
- type Policy
- func (r *Policy) AdjustmentType() *pulumi.StringOutput
- func (r *Policy) Arn() *pulumi.StringOutput
- func (r *Policy) AutoscalingGroupName() *pulumi.StringOutput
- func (r *Policy) Cooldown() *pulumi.IntOutput
- func (r *Policy) EstimatedInstanceWarmup() *pulumi.IntOutput
- func (r *Policy) ID() *pulumi.IDOutput
- func (r *Policy) MetricAggregationType() *pulumi.StringOutput
- func (r *Policy) MinAdjustmentMagnitude() *pulumi.IntOutput
- func (r *Policy) MinAdjustmentStep() *pulumi.IntOutput
- func (r *Policy) Name() *pulumi.StringOutput
- func (r *Policy) PolicyType() *pulumi.StringOutput
- func (r *Policy) ScalingAdjustment() *pulumi.IntOutput
- func (r *Policy) StepAdjustments() *pulumi.ArrayOutput
- func (r *Policy) TargetTrackingConfiguration() *pulumi.Output
- func (r *Policy) URN() *pulumi.URNOutput
- type PolicyArgs
- type PolicyState
- type Schedule
- func (r *Schedule) Arn() *pulumi.StringOutput
- func (r *Schedule) AutoscalingGroupName() *pulumi.StringOutput
- func (r *Schedule) DesiredCapacity() *pulumi.IntOutput
- func (r *Schedule) EndTime() *pulumi.StringOutput
- func (r *Schedule) ID() *pulumi.IDOutput
- func (r *Schedule) MaxSize() *pulumi.IntOutput
- func (r *Schedule) MinSize() *pulumi.IntOutput
- func (r *Schedule) Recurrence() *pulumi.StringOutput
- func (r *Schedule) ScheduledActionName() *pulumi.StringOutput
- func (r *Schedule) StartTime() *pulumi.StringOutput
- func (r *Schedule) URN() *pulumi.URNOutput
- type ScheduleArgs
- type ScheduleState
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
}
Provides an AutoScaling Attachment resource.
~> **NOTE on AutoScaling Groups and ASG Attachments:** Terraform currently provides both a standalone ASG Attachment resource (describing an ASG attached to an ELB), and an AutoScaling Group resource with `load_balancers` 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.
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) 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 Group ¶
type Group struct {
// contains filtered or unexported fields
}
Provides an AutoScaling Group resource.
-> **Note:** You must specify either `launch_configuration` or `launch_template`.
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) 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 ¶
The amount of time, in seconds, after a scaling activity completes before another scaling activity can start.
func (*Group) DesiredCapacity ¶
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
A list of metrics to collect. The allowed values are `GroupMinSize`, `GroupMaxSize`, `GroupDesiredCapacity`, `GroupInServiceInstances`, `GroupPendingInstances`, `GroupStandbyInstances`, `GroupTerminatingInstances`, `GroupTotalInstances`. * `wait_for_capacity_timeout` (Default: "10m") A maximum [duration](https://golang.org/pkg/time/#ParseDuration) that Terraform should wait for ASG instances to be healthy before timing out. (See also Waiting for Capacity below.) Setting this to "0" causes Terraform to skip all Capacity Waiting behavior.
func (*Group) ForceDelete ¶
func (r *Group) ForceDelete() *pulumi.BoolOutput
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, Terraform drains all the instances before deleting the group. This bypasses that behavior and potentially leaves resources dangling.
func (*Group) HealthCheckGracePeriod ¶
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) 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 ¶
Launch template specification to use to launch instances. See Launch Template Specification below for more details.
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) 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 ¶
Setting this causes Terraform to wait for this number of instances 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.)
func (*Group) MinSize ¶
The minimum size of the auto scale group. (See also Waiting for Capacity below.)
func (*Group) Name ¶
func (r *Group) Name() *pulumi.StringOutput
The name of the auto scaling group. By default generated by Terraform.
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 ¶
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 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`, `Default`.
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 ¶
Setting this will cause Terraform to wait for exactly this number of healthy instances in all attached load balancers on both create and update operations. (Takes precedence over `min_elb_capacity` behavior.) (See also Waiting for Capacity below.)
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{} // A list of metrics to collect. The allowed values are `GroupMinSize`, `GroupMaxSize`, `GroupDesiredCapacity`, `GroupInServiceInstances`, `GroupPendingInstances`, `GroupStandbyInstances`, `GroupTerminatingInstances`, `GroupTotalInstances`. // * `wait_for_capacity_timeout` (Default: "10m") A maximum // [duration](https://golang.org/pkg/time/#ParseDuration) that Terraform should // wait for ASG instances to be healthy before timing out. (See also Waiting // for Capacity below.) Setting this to "0" causes // Terraform to skip all Capacity Waiting behavior. EnabledMetrics interface{} // 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, Terraform // drains all the instances before deleting the group. This bypasses that // behavior and potentially leaves resources dangling. 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{} // Launch template specification to use to launch instances. // See Launch Template Specification below for more details. 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{} // Setting this causes Terraform to wait for // this number of instances 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 interface{} // The minimum size of the auto scale group. // (See also Waiting for Capacity below.) MinSize interface{} // The name of the auto scaling group. By default generated by Terraform. 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 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`, `Default`. TerminationPolicies interface{} // A list of subnet IDs to launch resources in. VpcZoneIdentifiers interface{} WaitForCapacityTimeout interface{} // Setting this will cause Terraform to wait // for exactly this number of healthy instances in all attached load balancers // on both create and update operations. (Takes precedence over // `min_elb_capacity` behavior.) // (See also Waiting for Capacity below.) 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{} // A list of metrics to collect. The allowed values are `GroupMinSize`, `GroupMaxSize`, `GroupDesiredCapacity`, `GroupInServiceInstances`, `GroupPendingInstances`, `GroupStandbyInstances`, `GroupTerminatingInstances`, `GroupTotalInstances`. // * `wait_for_capacity_timeout` (Default: "10m") A maximum // [duration](https://golang.org/pkg/time/#ParseDuration) that Terraform should // wait for ASG instances to be healthy before timing out. (See also Waiting // for Capacity below.) Setting this to "0" causes // Terraform to skip all Capacity Waiting behavior. EnabledMetrics interface{} // 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, Terraform // drains all the instances before deleting the group. This bypasses that // behavior and potentially leaves resources dangling. 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{} // Launch template specification to use to launch instances. // See Launch Template Specification below for more details. 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{} // Setting this causes Terraform to wait for // this number of instances 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 interface{} // The minimum size of the auto scale group. // (See also Waiting for Capacity below.) MinSize interface{} // The name of the auto scaling group. By default generated by Terraform. 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 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`, `Default`. TerminationPolicies interface{} // A list of subnet IDs to launch resources in. VpcZoneIdentifiers interface{} WaitForCapacityTimeout interface{} // Setting this will cause Terraform to wait // for exactly this number of healthy instances in all attached load balancers // on both create and update operations. (Takes precedence over // `min_elb_capacity` behavior.) // (See also Waiting for Capacity below.) WaitForElbCapacity interface{} }
Input properties used for looking up and filtering Group resources.
type LifecycleHook ¶
type LifecycleHook struct {
// contains filtered or unexported fields
}
Provides an AutoScaling Lifecycle Hook resource.
~> **NOTE:** Terraform has two types of ways you can add lifecycle hooks - via the `initial_lifecycle_hook` attribute from the [`aws_autoscaling_group`](https://www.terraform.io/docs/providers/aws/r/autoscaling_group.html) 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](https://www.terraform.io/docs/providers/aws/r/autoscaling_group.html#waiting-for-capacity) settings, after the initial instances have been launched, creating unintended behavior. If you need hooks to run on all instances, add them with `initial_lifecycle_hook` in [`aws_autoscaling_group`](https://www.terraform.io/docs/providers/aws/r/autoscaling_group.html), but take care to not duplicate those hooks with this resource.
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.
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.
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 ¶
The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.
func (*Policy) EstimatedInstanceWarmup ¶
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) 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 (*Policy) MinAdjustmentStep ¶
Use `min_adjustment_magnitude` instead.
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 ¶
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 ¶
A target tracking policy. These have the following structure:
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{} // Use `min_adjustment_magnitude` instead. MinAdjustmentStep 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{} // Use `min_adjustment_magnitude` instead. MinAdjustmentStep 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.
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 ¶
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) MaxSize ¶
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 ¶
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.
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.