baiji v0.6.11 Baiji.AutoScaling

Auto Scaling

Auto Scaling is designed to automatically launch or terminate EC2 instances based on user-defined policies, schedules, and health checks. Use this service in conjunction with the Amazon CloudWatch and Elastic Load Balancing services.

Link to this section Summary

Functions

Returns a map containing the input/output shapes for this endpoint

Outputs values common to all actions

Attaches one or more EC2 instances to the specified Auto Scaling group

Attaches one or more target groups to the specified Auto Scaling group

Attaches one or more Classic Load Balancers to the specified Auto Scaling group

Completes the lifecycle action for the specified token or instance with the specified result

Creates an Auto Scaling group with the specified name and attributes

Creates or updates tags for the specified Auto Scaling group

Deletes the specified Auto Scaling group

Deletes the specified launch configuration

Deletes the specified lifecycle hook

Deletes the specified Auto Scaling policy

Deletes the specified scheduled action

Deletes the specified tags

Describes the current Auto Scaling resource limits for your AWS account

Describes the policy adjustment types for use with PutScalingPolicy

Describes one or more Auto Scaling groups

Describes one or more Auto Scaling instances

Describes the notification types that are supported by Auto Scaling

Describes one or more launch configurations

Describes the available types of lifecycle hooks

Describes the lifecycle hooks for the specified Auto Scaling group

Describes the target groups for the specified Auto Scaling group

Describes the load balancers for the specified Auto Scaling group

Describes the available CloudWatch metrics for Auto Scaling

Describes the notification actions associated with the specified Auto Scaling group

Describes the policies for the specified Auto Scaling group

Describes one or more scaling activities for the specified Auto Scaling group

Describes the scaling process types for use with ResumeProcesses and SuspendProcesses

Describes the actions scheduled for your Auto Scaling group that haven’t run. To describe the actions that have already run, use DescribeScalingActivities

Describes the specified tags

Describes the termination policies supported by Auto Scaling

Removes one or more instances from the specified Auto Scaling group

Detaches one or more target groups from the specified Auto Scaling group

Detaches one or more Classic Load Balancers from the specified Auto Scaling group

Disables group metrics for the specified Auto Scaling group

Enables group metrics for the specified Auto Scaling group. For more information, see Monitoring Your Auto Scaling Groups and Instances in the Auto Scaling User Guide

Moves the specified instances into the standby state

Executes the specified policy

Moves the specified instances out of the standby state

Creates or updates a lifecycle hook for the specified Auto Scaling Group

Configures an Auto Scaling group to send notifications when specified events take place. Subscribers to the specified topic can have messages delivered to an endpoint such as a web server or an email address

Creates or updates a policy for an Auto Scaling group. To update an existing policy, use the existing policy name and set the parameters you want to change. Any existing parameter not changed in an update to an existing policy is not changed in this update request

Creates or updates a scheduled scaling action for an Auto Scaling group. When updating a scheduled scaling action, if you leave a parameter unspecified, the corresponding value remains unchanged

Records a heartbeat for the lifecycle action associated with the specified token or instance. This extends the timeout by the length of time defined using PutLifecycleHook

Resumes the specified suspended Auto Scaling processes, or all suspended process, for the specified Auto Scaling group

Sets the size of the specified Auto Scaling group

Sets the health status of the specified instance

Updates the instance protection settings of the specified instances

Suspends the specified Auto Scaling processes, or all processes, for the specified Auto Scaling group

Terminates the specified instance and optionally adjusts the desired group size

Updates the configuration for the specified Auto Scaling group

Link to this section Functions

Returns a map containing the input/output shapes for this endpoint

Outputs values common to all actions

Link to this function attach_instances(input \\ %{}, options \\ [])

Attaches one or more EC2 instances to the specified Auto Scaling group.

When you attach instances, Auto Scaling increases the desired capacity of the group by the number of instances being attached. If the number of instances being attached plus the desired capacity of the group exceeds the maximum size of the group, the operation fails.

If there is a Classic Load Balancer attached to your Auto Scaling group, the instances are also registered with the load balancer. If there are target groups attached to your Auto Scaling group, the instances are also registered with the target groups.

For more information, see Attach EC2 Instances to Your Auto Scaling Group in the Auto Scaling User Guide.

Link to this function attach_load_balancer_target_groups(input \\ %{}, options \\ [])

Attaches one or more target groups to the specified Auto Scaling group.

To describe the target groups for an Auto Scaling group, use DescribeLoadBalancerTargetGroups. To detach the target group from the Auto Scaling group, use DetachLoadBalancerTargetGroups.

For more information, see Attach a Load Balancer to Your Auto Scaling Group in the Auto Scaling User Guide.

Link to this function attach_load_balancers(input \\ %{}, options \\ [])

Attaches one or more Classic Load Balancers to the specified Auto Scaling group.

To attach an Application Load Balancer instead, see AttachLoadBalancerTargetGroups.

To describe the load balancers for an Auto Scaling group, use DescribeLoadBalancers. To detach the load balancer from the Auto Scaling group, use DetachLoadBalancers.

For more information, see Attach a Load Balancer to Your Auto Scaling Group in the Auto Scaling User Guide.

Link to this function complete_lifecycle_action(input \\ %{}, options \\ [])

Completes the lifecycle action for the specified token or instance with the specified result.

This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:

  1. (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Auto Scaling launches or terminates instances.
  2. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Auto Scaling to publish lifecycle notifications to the target.
  3. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.
  4. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state.
  5. **If you finish before the timeout period ends, complete the lifecycle action.**
For more information, see [Auto Scaling Lifecycle](http://docs.aws.amazon.com/autoscaling/latest/userguide/AutoScalingGroupLifecycle.html) in the *Auto Scaling User Guide*.
Link to this function create_auto_scaling_group(input \\ %{}, options \\ [])

Creates an Auto Scaling group with the specified name and attributes.

If you exceed your maximum limit of Auto Scaling groups, which by default is 20 per region, the call fails. For information about viewing and updating this limit, see DescribeAccountLimits.

For more information, see Auto Scaling Groups in the Auto Scaling User Guide.

Link to this function create_launch_configuration(input \\ %{}, options \\ [])

Creates a launch configuration.

If you exceed your maximum limit of launch configurations, which by default is 100 per region, the call fails. For information about viewing and updating this limit, see DescribeAccountLimits.

For more information, see Launch Configurations in the Auto Scaling User Guide.

Link to this function create_or_update_tags(input \\ %{}, options \\ [])

Creates or updates tags for the specified Auto Scaling group.

When you specify a tag with a key that already exists, the operation overwrites the previous tag definition, and you do not get an error message.

For more information, see Tagging Auto Scaling Groups and Instances in the Auto Scaling User Guide.

Link to this function delete_auto_scaling_group(input \\ %{}, options \\ [])

Deletes the specified Auto Scaling group.

If the group has instances or scaling activities in progress, you must specify the option to force the deletion in order for it to succeed.

If the group has policies, deleting the group deletes the policies, the underlying alarm actions, and any alarm that no longer has an associated action.

To remove instances from the Auto Scaling group before deleting it, call DetachInstances with the list of instances and the option to decrement the desired capacity so that Auto Scaling does not launch replacement instances.

To terminate all instances before deleting the Auto Scaling group, call UpdateAutoScalingGroup and set the minimum size and desired capacity of the Auto Scaling group to zero.

Link to this function delete_launch_configuration(input \\ %{}, options \\ [])

Deletes the specified launch configuration.

The launch configuration must not be attached to an Auto Scaling group. When this call completes, the launch configuration is no longer available for use.

Link to this function delete_lifecycle_hook(input \\ %{}, options \\ [])

Deletes the specified lifecycle hook.

If there are any outstanding lifecycle actions, they are completed first (ABANDON for launching instances, CONTINUE for terminating instances).

Link to this function delete_notification_configuration(input \\ %{}, options \\ [])

Deletes the specified notification.

Link to this function delete_policy(input \\ %{}, options \\ [])

Deletes the specified Auto Scaling policy.

Deleting a policy deletes the underlying alarm action, but does not delete the alarm, even if it no longer has an associated action.

Link to this function delete_scheduled_action(input \\ %{}, options \\ [])

Deletes the specified scheduled action.

Link to this function delete_tags(input \\ %{}, options \\ [])

Deletes the specified tags.

Link to this function describe_account_limits(input \\ %{}, options \\ [])

Describes the current Auto Scaling resource limits for your AWS account.

For information about requesting an increase in these limits, see AWS Service Limits in the Amazon Web Services General Reference.

Link to this function describe_adjustment_types(input \\ %{}, options \\ [])

Describes the policy adjustment types for use with PutScalingPolicy.

Link to this function describe_auto_scaling_groups(input \\ %{}, options \\ [])

Describes one or more Auto Scaling groups.

Link to this function describe_auto_scaling_instances(input \\ %{}, options \\ [])

Describes one or more Auto Scaling instances.

Link to this function describe_auto_scaling_notification_types(input \\ %{}, options \\ [])

Describes the notification types that are supported by Auto Scaling.

Link to this function describe_launch_configurations(input \\ %{}, options \\ [])

Describes one or more launch configurations.

Link to this function describe_lifecycle_hook_types(input \\ %{}, options \\ [])

Describes the available types of lifecycle hooks.

Link to this function describe_lifecycle_hooks(input \\ %{}, options \\ [])

Describes the lifecycle hooks for the specified Auto Scaling group.

Link to this function describe_load_balancer_target_groups(input \\ %{}, options \\ [])

Describes the target groups for the specified Auto Scaling group.

Link to this function describe_load_balancers(input \\ %{}, options \\ [])

Describes the load balancers for the specified Auto Scaling group.

Note that this operation describes only Classic Load Balancers. If you have Application Load Balancers, use DescribeLoadBalancerTargetGroups instead.

Link to this function describe_metric_collection_types(input \\ %{}, options \\ [])

Describes the available CloudWatch metrics for Auto Scaling.

Note that the GroupStandbyInstances metric is not returned by default. You must explicitly request this metric when calling EnableMetricsCollection.

Link to this function describe_notification_configurations(input \\ %{}, options \\ [])

Describes the notification actions associated with the specified Auto Scaling group.

Link to this function describe_policies(input \\ %{}, options \\ [])

Describes the policies for the specified Auto Scaling group.

Link to this function describe_scaling_activities(input \\ %{}, options \\ [])

Describes one or more scaling activities for the specified Auto Scaling group.

Link to this function describe_scaling_process_types(input \\ %{}, options \\ [])

Describes the scaling process types for use with ResumeProcesses and SuspendProcesses.

Link to this function describe_scheduled_actions(input \\ %{}, options \\ [])

Describes the actions scheduled for your Auto Scaling group that haven’t run. To describe the actions that have already run, use DescribeScalingActivities.

Link to this function describe_tags(input \\ %{}, options \\ [])

Describes the specified tags.

You can use filters to limit the results. For example, you can query for the tags for a specific Auto Scaling group. You can specify multiple values for a filter. A tag must match at least one of the specified values for it to be included in the results.

You can also specify multiple filters. The result includes information for a particular tag only if it matches all the filters. If there’s no match, no special message is returned.

Link to this function describe_termination_policy_types(input \\ %{}, options \\ [])

Describes the termination policies supported by Auto Scaling.

Link to this function detach_instances(input \\ %{}, options \\ [])

Removes one or more instances from the specified Auto Scaling group.

After the instances are detached, you can manage them independent of the Auto Scaling group.

If you do not specify the option to decrement the desired capacity, Auto Scaling launches instances to replace the ones that are detached.

If there is a Classic Load Balancer attached to the Auto Scaling group, the instances are deregistered from the load balancer. If there are target groups attached to the Auto Scaling group, the instances are deregistered from the target groups.

For more information, see Detach EC2 Instances from Your Auto Scaling Group in the Auto Scaling User Guide.

Link to this function detach_load_balancer_target_groups(input \\ %{}, options \\ [])

Detaches one or more target groups from the specified Auto Scaling group.

Link to this function detach_load_balancers(input \\ %{}, options \\ [])

Detaches one or more Classic Load Balancers from the specified Auto Scaling group.

Note that this operation detaches only Classic Load Balancers. If you have Application Load Balancers, use DetachLoadBalancerTargetGroups instead.

When you detach a load balancer, it enters the Removing state while deregistering the instances in the group. When all instances are deregistered, then you can no longer describe the load balancer using DescribeLoadBalancers. Note that the instances remain running.

Link to this function disable_metrics_collection(input \\ %{}, options \\ [])

Disables group metrics for the specified Auto Scaling group.

Link to this function enable_metrics_collection(input \\ %{}, options \\ [])

Enables group metrics for the specified Auto Scaling group. For more information, see Monitoring Your Auto Scaling Groups and Instances in the Auto Scaling User Guide.

Link to this function enter_standby(input \\ %{}, options \\ [])

Moves the specified instances into the standby state.

For more information, see Temporarily Removing Instances from Your Auto Scaling Group in the Auto Scaling User Guide.

Link to this function execute_policy(input \\ %{}, options \\ [])

Executes the specified policy.

Link to this function exit_standby(input \\ %{}, options \\ [])

Moves the specified instances out of the standby state.

For more information, see Temporarily Removing Instances from Your Auto Scaling Group in the Auto Scaling User Guide.

Link to this function put_lifecycle_hook(input \\ %{}, options \\ [])

Creates or updates a lifecycle hook for the specified Auto Scaling Group.

A lifecycle hook tells Auto Scaling that you want to perform an action on an instance that is not actively in service; for example, either when the instance launches or before the instance terminates.

This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:

  1. (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Auto Scaling launches or terminates instances.
  2. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Auto Scaling to publish lifecycle notifications to the target.
  3. **Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.**
  4. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state.
  5. If you finish before the timeout period ends, complete the lifecycle action.
For more information, see [Auto Scaling Lifecycle Hooks](http://docs.aws.amazon.com/autoscaling/latest/userguide/lifecycle-hooks.html) in the *Auto Scaling User Guide*. If you exceed your maximum limit of lifecycle hooks, which by default is 50 per Auto Scaling group, the call fails. For information about updating this limit, see [AWS Service Limits](http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) in the *Amazon Web Services General Reference*.
Link to this function put_notification_configuration(input \\ %{}, options \\ [])

Configures an Auto Scaling group to send notifications when specified events take place. Subscribers to the specified topic can have messages delivered to an endpoint such as a web server or an email address.

This configuration overwrites any existing configuration.

For more information see Getting SNS Notifications When Your Auto Scaling Group Scales in the Auto Scaling User Guide.

Link to this function put_scaling_policy(input \\ %{}, options \\ [])

Creates or updates a policy for an Auto Scaling group. To update an existing policy, use the existing policy name and set the parameters you want to change. Any existing parameter not changed in an update to an existing policy is not changed in this update request.

If you exceed your maximum limit of step adjustments, which by default is 20 per region, the call fails. For information about updating this limit, see AWS Service Limits in the Amazon Web Services General Reference.

Link to this function put_scheduled_update_group_action(input \\ %{}, options \\ [])

Creates or updates a scheduled scaling action for an Auto Scaling group. When updating a scheduled scaling action, if you leave a parameter unspecified, the corresponding value remains unchanged.

For more information, see Scheduled Scaling in the Auto Scaling User Guide.

Link to this function record_lifecycle_action_heartbeat(input \\ %{}, options \\ [])

Records a heartbeat for the lifecycle action associated with the specified token or instance. This extends the timeout by the length of time defined using PutLifecycleHook.

This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:

  1. (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Auto Scaling launches or terminates instances.
  2. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Auto Scaling to publish lifecycle notifications to the target.
  3. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.
  4. **If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state.**
  5. If you finish before the timeout period ends, complete the lifecycle action.
For more information, see [Auto Scaling Lifecycle](http://docs.aws.amazon.com/autoscaling/latest/userguide/AutoScalingGroupLifecycle.html) in the *Auto Scaling User Guide*.
Link to this function resume_processes(input \\ %{}, options \\ [])

Resumes the specified suspended Auto Scaling processes, or all suspended process, for the specified Auto Scaling group.

For more information, see Suspending and Resuming Auto Scaling Processes in the Auto Scaling User Guide.

Link to this function set_desired_capacity(input \\ %{}, options \\ [])

Sets the size of the specified Auto Scaling group.

For more information about desired capacity, see What Is Auto Scaling? in the Auto Scaling User Guide.

Link to this function set_instance_health(input \\ %{}, options \\ [])

Sets the health status of the specified instance.

For more information, see Health Checks in the Auto Scaling User Guide.

Link to this function set_instance_protection(input \\ %{}, options \\ [])

Updates the instance protection settings of the specified instances.

For more information, see Instance Protection in the Auto Scaling User Guide.

Link to this function suspend_processes(input \\ %{}, options \\ [])

Suspends the specified Auto Scaling processes, or all processes, for the specified Auto Scaling group.

Note that if you suspend either the Launch or Terminate process types, it can prevent other process types from functioning properly.

To resume processes that have been suspended, use ResumeProcesses.

For more information, see Suspending and Resuming Auto Scaling Processes in the Auto Scaling User Guide.

Link to this function terminate_instance_in_auto_scaling_group(input \\ %{}, options \\ [])

Terminates the specified instance and optionally adjusts the desired group size.

This call simply makes a termination request. The instance is not terminated immediately.

Link to this function update_auto_scaling_group(input \\ %{}, options \\ [])

Updates the configuration for the specified Auto Scaling group.

The new settings take effect on any scaling activities after this call returns. Scaling activities that are currently in progress aren’t affected.

To update an Auto Scaling group with a launch configuration with InstanceMonitoring set to false, you must first disable the collection of group metrics. Otherwise, you will get an error. If you have previously enabled the collection of group metrics, you can disable it using DisableMetricsCollection.

Note the following:

  • If you specify a new value for `MinSize` without specifying a value for `DesiredCapacity`, and the new `MinSize` is larger than the current size of the group, we implicitly call `SetDesiredCapacity` to set the size of the group to the new value of `MinSize`.
  • If you specify a new value for `MaxSize` without specifying a value for `DesiredCapacity`, and the new `MaxSize` is smaller than the current size of the group, we implicitly call `SetDesiredCapacity` to set the size of the group to the new value of `MaxSize`.
  • All other optional parameters are left unchanged if not specified.