Class: Aws::AutoScaling::Client
- Inherits:
-
Seahorse::Client::Base
- Object
- Seahorse::Client::Base
- Aws::AutoScaling::Client
- Includes:
- ClientStubs
- Defined in:
- gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb
Overview
An API client for AutoScaling. To construct a client, you need to configure a :region
and :credentials
.
client = Aws::AutoScaling::Client.new(
region: region_name,
credentials: credentials,
# ...
)
For details on configuring region and credentials see the developer guide.
See #initialize for a full list of supported configuration options.
Instance Attribute Summary
Attributes inherited from Seahorse::Client::Base
API Operations collapse
-
#attach_instances(params = {}) ⇒ Struct
Attaches one or more EC2 instances to the specified Auto Scaling group.
-
#attach_load_balancer_target_groups(params = {}) ⇒ Struct
Attaches one or more target groups to the specified Auto Scaling group.
-
#attach_load_balancers(params = {}) ⇒ Struct
To attach an Application Load Balancer, Network Load Balancer, or Gateway Load Balancer, use the AttachLoadBalancerTargetGroups API operation instead. -
#attach_traffic_sources(params = {}) ⇒ Struct
**Reserved for use with Amazon VPC Lattice, which is in preview and subject to change.
-
#batch_delete_scheduled_action(params = {}) ⇒ Types::BatchDeleteScheduledActionAnswer
Deletes one or more scheduled actions for the specified Auto Scaling group.
-
#batch_put_scheduled_update_group_action(params = {}) ⇒ Types::BatchPutScheduledUpdateGroupActionAnswer
Creates or updates one or more scheduled scaling actions for an Auto Scaling group.
-
#cancel_instance_refresh(params = {}) ⇒ Types::CancelInstanceRefreshAnswer
Cancels an instance refresh operation in progress.
-
#complete_lifecycle_action(params = {}) ⇒ Struct
Completes the lifecycle action for the specified token or instance with the specified result.
-
#create_auto_scaling_group(params = {}) ⇒ Struct
We strongly recommend using a launch template when calling this operation to ensure full functionality for Amazon EC2 Auto Scaling and Amazon EC2..
-
#create_launch_configuration(params = {}) ⇒ Struct
Creates a launch configuration.
-
#create_or_update_tags(params = {}) ⇒ Struct
Creates or updates tags for the specified Auto Scaling group.
-
#delete_auto_scaling_group(params = {}) ⇒ Struct
Deletes the specified Auto Scaling group.
-
#delete_launch_configuration(params = {}) ⇒ Struct
Deletes the specified launch configuration.
-
#delete_lifecycle_hook(params = {}) ⇒ Struct
Deletes the specified lifecycle hook.
-
#delete_notification_configuration(params = {}) ⇒ Struct
Deletes the specified notification.
-
#delete_policy(params = {}) ⇒ Struct
Deletes the specified scaling policy.
-
#delete_scheduled_action(params = {}) ⇒ Struct
Deletes the specified scheduled action.
-
#delete_tags(params = {}) ⇒ Struct
Deletes the specified tags.
-
#delete_warm_pool(params = {}) ⇒ Struct
Deletes the warm pool for the specified Auto Scaling group.
-
#describe_account_limits(params = {}) ⇒ Types::DescribeAccountLimitsAnswer
Describes the current Amazon EC2 Auto Scaling resource quotas for your account.
-
#describe_adjustment_types(params = {}) ⇒ Types::DescribeAdjustmentTypesAnswer
Describes the available adjustment types for step scaling and simple scaling policies.
-
#describe_auto_scaling_groups(params = {}) ⇒ Types::AutoScalingGroupsType
Gets information about the Auto Scaling groups in the account and Region.
-
#describe_auto_scaling_instances(params = {}) ⇒ Types::AutoScalingInstancesType
Gets information about the Auto Scaling instances in the account and Region.
-
#describe_auto_scaling_notification_types(params = {}) ⇒ Types::DescribeAutoScalingNotificationTypesAnswer
Describes the notification types that are supported by Amazon EC2 Auto Scaling.
-
#describe_instance_refreshes(params = {}) ⇒ Types::DescribeInstanceRefreshesAnswer
Gets information about the instance refreshes for the specified Auto Scaling group.
-
#describe_launch_configurations(params = {}) ⇒ Types::LaunchConfigurationsType
Gets information about the launch configurations in the account and Region.
-
#describe_lifecycle_hook_types(params = {}) ⇒ Types::DescribeLifecycleHookTypesAnswer
Describes the available types of lifecycle hooks.
-
#describe_lifecycle_hooks(params = {}) ⇒ Types::DescribeLifecycleHooksAnswer
Gets information about the lifecycle hooks for the specified Auto Scaling group.
-
#describe_load_balancer_target_groups(params = {}) ⇒ Types::DescribeLoadBalancerTargetGroupsResponse
Gets information about the Elastic Load Balancing target groups for the specified Auto Scaling group.
-
#describe_load_balancers(params = {}) ⇒ Types::DescribeLoadBalancersResponse
Gets information about the load balancers for the specified Auto Scaling group.
-
#describe_metric_collection_types(params = {}) ⇒ Types::DescribeMetricCollectionTypesAnswer
Describes the available CloudWatch metrics for Amazon EC2 Auto Scaling.
-
#describe_notification_configurations(params = {}) ⇒ Types::DescribeNotificationConfigurationsAnswer
Gets information about the Amazon SNS notifications that are configured for one or more Auto Scaling groups.
-
#describe_policies(params = {}) ⇒ Types::PoliciesType
Gets information about the scaling policies in the account and Region.
-
#describe_scaling_activities(params = {}) ⇒ Types::ActivitiesType
Gets information about the scaling activities in the account and Region.
-
#describe_scaling_process_types(params = {}) ⇒ Types::ProcessesType
Describes the scaling process types for use with the ResumeProcesses and SuspendProcesses APIs.
-
#describe_scheduled_actions(params = {}) ⇒ Types::ScheduledActionsType
Gets information about the scheduled actions that haven't run or that have not reached their end time.
-
#describe_tags(params = {}) ⇒ Types::TagsType
Describes the specified tags.
-
#describe_termination_policy_types(params = {}) ⇒ Types::DescribeTerminationPolicyTypesAnswer
Describes the termination policies supported by Amazon EC2 Auto Scaling.
-
#describe_traffic_sources(params = {}) ⇒ Types::DescribeTrafficSourcesResponse
**Reserved for use with Amazon VPC Lattice, which is in preview and subject to change.
-
#describe_warm_pool(params = {}) ⇒ Types::DescribeWarmPoolAnswer
Gets information about a warm pool and its instances.
-
#detach_instances(params = {}) ⇒ Types::DetachInstancesAnswer
Removes one or more instances from the specified Auto Scaling group.
-
#detach_load_balancer_target_groups(params = {}) ⇒ Struct
Detaches one or more target groups from the specified Auto Scaling group.
-
#detach_load_balancers(params = {}) ⇒ Struct
Detaches one or more Classic Load Balancers from the specified Auto Scaling group.
-
#detach_traffic_sources(params = {}) ⇒ Struct
**Reserved for use with Amazon VPC Lattice, which is in preview and subject to change.
-
#disable_metrics_collection(params = {}) ⇒ Struct
Disables group metrics collection for the specified Auto Scaling group.
-
#enable_metrics_collection(params = {}) ⇒ Struct
Enables group metrics collection for the specified Auto Scaling group.
-
#enter_standby(params = {}) ⇒ Types::EnterStandbyAnswer
Moves the specified instances into the standby state.
-
#execute_policy(params = {}) ⇒ Struct
Executes the specified policy.
-
#exit_standby(params = {}) ⇒ Types::ExitStandbyAnswer
Moves the specified instances out of the standby state.
-
#get_predictive_scaling_forecast(params = {}) ⇒ Types::GetPredictiveScalingForecastAnswer
Retrieves the forecast data for a predictive scaling policy.
-
#put_lifecycle_hook(params = {}) ⇒ Struct
Creates or updates a lifecycle hook for the specified Auto Scaling group.
-
#put_notification_configuration(params = {}) ⇒ Struct
Configures an Auto Scaling group to send notifications when specified events take place.
-
#put_scaling_policy(params = {}) ⇒ Types::PolicyARNType
Creates or updates a scaling policy for an Auto Scaling group.
-
#put_scheduled_update_group_action(params = {}) ⇒ Struct
Creates or updates a scheduled scaling action for an Auto Scaling group.
-
#put_warm_pool(params = {}) ⇒ Struct
Creates or updates a warm pool for the specified Auto Scaling group.
-
#record_lifecycle_action_heartbeat(params = {}) ⇒ Struct
Records a heartbeat for the lifecycle action associated with the specified token or instance.
-
#resume_processes(params = {}) ⇒ Struct
Resumes the specified suspended auto scaling processes, or all suspended process, for the specified Auto Scaling group.
-
#set_desired_capacity(params = {}) ⇒ Struct
Sets the size of the specified Auto Scaling group.
-
#set_instance_health(params = {}) ⇒ Struct
Sets the health status of the specified instance.
-
#set_instance_protection(params = {}) ⇒ Struct
Updates the instance protection settings of the specified instances.
-
#start_instance_refresh(params = {}) ⇒ Types::StartInstanceRefreshAnswer
Starts a new instance refresh operation.
-
#suspend_processes(params = {}) ⇒ Struct
Suspends the specified auto scaling processes, or all processes, for the specified Auto Scaling group.
-
#terminate_instance_in_auto_scaling_group(params = {}) ⇒ Types::ActivityType
Terminates the specified instance and optionally adjusts the desired group size.
-
#update_auto_scaling_group(params = {}) ⇒ Struct
We strongly recommend that all Auto Scaling groups use launch templates to ensure full functionality for Amazon EC2 Auto Scaling and Amazon EC2..
Instance Method Summary collapse
-
#initialize(options) ⇒ Client
constructor
A new instance of Client.
-
#wait_until(waiter_name, params = {}, options = {}) {|w.waiter| ... } ⇒ Boolean
Polls an API operation until a resource enters a desired state.
Methods included from ClientStubs
#api_requests, #stub_data, #stub_responses
Methods inherited from Seahorse::Client::Base
add_plugin, api, clear_plugins, define, new, #operation_names, plugins, remove_plugin, set_api, set_plugins
Methods included from Seahorse::Client::HandlerBuilder
#handle, #handle_request, #handle_response
Constructor Details
#initialize(options) ⇒ Client
Returns a new instance of Client.
365 366 367 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 365 def initialize(*args) super end |
Instance Method Details
#attach_instances(params = {}) ⇒ Struct
Attaches one or more EC2 instances to the specified Auto Scaling group.
When you attach instances, Amazon EC2 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 Amazon EC2 Auto Scaling User Guide.
423 424 425 426 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 423 def attach_instances(params = {}, = {}) req = build_request(:attach_instances, params) req.send_request() end |
#attach_load_balancer_target_groups(params = {}) ⇒ Struct
Attaches one or more target groups to the specified Auto Scaling group.
This operation is used with the following load balancer types:
Application Load Balancer - Operates at the application layer (layer 7) and supports HTTP and HTTPS.
Network Load Balancer - Operates at the transport layer (layer 4) and supports TCP, TLS, and UDP.
Gateway Load Balancer - Operates at the network layer (layer 3).
To describe the target groups for an Auto Scaling group, call the DescribeLoadBalancerTargetGroups API. To detach the target group from the Auto Scaling group, call the DetachLoadBalancerTargetGroups API.
This operation is additive and does not detach existing target groups or Classic Load Balancers from the Auto Scaling group.
For more information, see Use Elastic Load Balancing to distribute traffic across the instances in your Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.
493 494 495 496 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 493 def attach_load_balancer_target_groups(params = {}, = {}) req = build_request(:attach_load_balancer_target_groups, params) req.send_request() end |
#attach_load_balancers(params = {}) ⇒ Struct
Attaches one or more Classic Load Balancers to the specified Auto Scaling group. Amazon EC2 Auto Scaling registers the running instances with these Classic Load Balancers.
To describe the load balancers for an Auto Scaling group, call the DescribeLoadBalancers API. To detach a load balancer from the Auto Scaling group, call the DetachLoadBalancers API.
This operation is additive and does not detach existing Classic Load Balancers or target groups from the Auto Scaling group.
For more information, see Use Elastic Load Balancing to distribute traffic across the instances in your Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.
555 556 557 558 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 555 def attach_load_balancers(params = {}, = {}) req = build_request(:attach_load_balancers, params) req.send_request() end |
#attach_traffic_sources(params = {}) ⇒ Struct
Reserved for use with Amazon VPC Lattice, which is in preview and subject to change. Do not use this API for production workloads. This API is also subject to change.
Attaches one or more traffic sources to the specified Auto Scaling group.
To describe the traffic sources for an Auto Scaling group, call the DescribeTrafficSources API. To detach a traffic source from the Auto Scaling group, call the DetachTrafficSources API.
This operation is additive and does not detach existing traffic sources from the Auto Scaling group.
604 605 606 607 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 604 def attach_traffic_sources(params = {}, = {}) req = build_request(:attach_traffic_sources, params) req.send_request() end |
#batch_delete_scheduled_action(params = {}) ⇒ Types::BatchDeleteScheduledActionAnswer
Deletes one or more scheduled actions for the specified Auto Scaling group.
641 642 643 644 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 641 def batch_delete_scheduled_action(params = {}, = {}) req = build_request(:batch_delete_scheduled_action, params) req.send_request() end |
#batch_put_scheduled_update_group_action(params = {}) ⇒ Types::BatchPutScheduledUpdateGroupActionAnswer
Creates or updates one or more scheduled scaling actions for an Auto Scaling group.
688 689 690 691 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 688 def batch_put_scheduled_update_group_action(params = {}, = {}) req = build_request(:batch_put_scheduled_update_group_action, params) req.send_request() end |
#cancel_instance_refresh(params = {}) ⇒ Types::CancelInstanceRefreshAnswer
Cancels an instance refresh operation in progress. Cancellation does not roll back any replacements that have already been completed, but it prevents new replacements from being started.
This operation is part of the instance refresh feature in Amazon EC2 Auto Scaling, which helps you update instances in your Auto Scaling group after you make configuration changes.
740 741 742 743 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 740 def cancel_instance_refresh(params = {}, = {}) req = build_request(:cancel_instance_refresh, params) req.send_request() end |
#complete_lifecycle_action(params = {}) ⇒ Struct
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:
(Optional) Create a launch template or launch configuration with a user data script that runs while an instance is in a wait state due to a lifecycle hook.
(Optional) Create a Lambda function and a rule that allows Amazon EventBridge to invoke your Lambda function when an instance is put into a wait state due to a lifecycle hook.
(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 Amazon EC2 Auto Scaling to publish lifecycle notifications to the target.
Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.
If you need more time, record the lifecycle action heartbeat to keep the instance in a wait state.
If you finish before the timeout period ends, send a callback by using the CompleteLifecycleAction API call.
For more information, see Amazon EC2 Auto Scaling lifecycle hooks in the Amazon EC2 Auto Scaling User Guide.
828 829 830 831 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 828 def complete_lifecycle_action(params = {}, = {}) req = build_request(:complete_lifecycle_action, params) req.send_request() end |
#create_auto_scaling_group(params = {}) ⇒ Struct
We strongly recommend using a launch template when calling this operation to ensure full functionality for Amazon EC2 Auto Scaling and Amazon EC2.
Creates an Auto Scaling group with the specified name and attributes.
If you exceed your maximum limit of Auto Scaling groups, the call fails. To query this limit, call the DescribeAccountLimits API. For information about updating this limit, see Quotas for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
For introductory exercises for creating an Auto Scaling group, see Getting started with Amazon EC2 Auto Scaling and Tutorial: Set up a scaled and load-balanced application in the Amazon EC2 Auto Scaling User Guide. For more information, see Auto Scaling groups in the Amazon EC2 Auto Scaling User Guide.
Every Auto Scaling group has three size properties (DesiredCapacity
,
MaxSize
, and MinSize
). Usually, you set these sizes based on a
specific number of instances. However, if you configure a mixed
instances policy that defines weights for the instance types, you must
specify these sizes with the same units that you use for weighting
instances.
1397 1398 1399 1400 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 1397 def create_auto_scaling_group(params = {}, = {}) req = build_request(:create_auto_scaling_group, params) req.send_request() end |
#create_launch_configuration(params = {}) ⇒ Struct
Creates a launch configuration.
If you exceed your maximum limit of launch configurations, the call fails. To query this limit, call the DescribeAccountLimits API. For information about updating this limit, see Quotas for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
For more information, see Launch configurations in the Amazon EC2 Auto Scaling User Guide.
1723 1724 1725 1726 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 1723 def create_launch_configuration(params = {}, = {}) req = build_request(:create_launch_configuration, params) req.send_request() end |
#create_or_update_tags(params = {}) ⇒ Struct
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 Tag Auto Scaling groups and instances in the Amazon EC2 Auto Scaling User Guide.
1788 1789 1790 1791 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 1788 def (params = {}, = {}) req = build_request(:create_or_update_tags, params) req.send_request() end |
#delete_auto_scaling_group(params = {}) ⇒ Struct
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. The force delete operation will also terminate the EC2 instances. If the group has a warm pool, the force delete option also deletes the warm pool.
To remove instances from the Auto Scaling group before deleting it, call the DetachInstances API with the list of instances and the option to decrement the desired capacity. This ensures that Amazon EC2 Auto Scaling does not launch replacement instances.
To terminate all instances before deleting the Auto Scaling group, call the UpdateAutoScalingGroup API and set the minimum size and desired capacity of the Auto Scaling group to zero.
If the group has scaling policies, deleting the group deletes the policies, the underlying alarm actions, and any alarm that no longer has an associated action.
For more information, see Delete your Auto Scaling infrastructure in the Amazon EC2 Auto Scaling User Guide.
1861 1862 1863 1864 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 1861 def delete_auto_scaling_group(params = {}, = {}) req = build_request(:delete_auto_scaling_group, params) req.send_request() end |
#delete_launch_configuration(params = {}) ⇒ Struct
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.
1896 1897 1898 1899 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 1896 def delete_launch_configuration(params = {}, = {}) req = build_request(:delete_launch_configuration, params) req.send_request() end |
#delete_lifecycle_hook(params = {}) ⇒ Struct
Deletes the specified lifecycle hook.
If there are any outstanding lifecycle actions, they are completed
first (ABANDON
for launching instances, CONTINUE
for terminating
instances).
1936 1937 1938 1939 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 1936 def delete_lifecycle_hook(params = {}, = {}) req = build_request(:delete_lifecycle_hook, params) req.send_request() end |
#delete_notification_configuration(params = {}) ⇒ Struct
Deletes the specified notification.
1972 1973 1974 1975 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 1972 def delete_notification_configuration(params = {}, = {}) req = build_request(:delete_notification_configuration, params) req.send_request() end |
#delete_policy(params = {}) ⇒ Struct
Deletes the specified scaling policy.
Deleting either a step scaling policy or a simple scaling policy deletes the underlying alarm action, but does not delete the alarm, even if it no longer has an associated action.
For more information, see Deleting a scaling policy in the Amazon EC2 Auto Scaling User Guide.
2019 2020 2021 2022 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 2019 def delete_policy(params = {}, = {}) req = build_request(:delete_policy, params) req.send_request() end |
#delete_scheduled_action(params = {}) ⇒ Struct
Deletes the specified scheduled action.
2055 2056 2057 2058 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 2055 def delete_scheduled_action(params = {}, = {}) req = build_request(:delete_scheduled_action, params) req.send_request() end |
#delete_tags(params = {}) ⇒ Struct
Deletes the specified tags.
2101 2102 2103 2104 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 2101 def (params = {}, = {}) req = build_request(:delete_tags, params) req.send_request() end |
#delete_warm_pool(params = {}) ⇒ Struct
Deletes the warm pool for the specified Auto Scaling group.
For more information, see Warm pools for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
2137 2138 2139 2140 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 2137 def delete_warm_pool(params = {}, = {}) req = build_request(:delete_warm_pool, params) req.send_request() end |
#describe_account_limits(params = {}) ⇒ Types::DescribeAccountLimitsAnswer
Describes the current Amazon EC2 Auto Scaling resource quotas for your account.
When you establish an Amazon Web Services account, the account has initial quotas on the maximum number of Auto Scaling groups and launch configurations that you can create in a given Region. For more information, see Quotas for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
2189 2190 2191 2192 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 2189 def describe_account_limits(params = {}, = {}) req = build_request(:describe_account_limits, params) req.send_request() end |
#describe_adjustment_types(params = {}) ⇒ Types::DescribeAdjustmentTypesAnswer
Describes the available adjustment types for step scaling and simple scaling policies.
The following adjustment types are supported:
ChangeInCapacity
ExactCapacity
PercentChangeInCapacity
2241 2242 2243 2244 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 2241 def describe_adjustment_types(params = {}, = {}) req = build_request(:describe_adjustment_types, params) req.send_request() end |
#describe_auto_scaling_groups(params = {}) ⇒ Types::AutoScalingGroupsType
Gets information about the Auto Scaling groups in the account and Region.
If you specify Auto Scaling group names, the output includes information for only the specified Auto Scaling groups. If you specify filters, the output includes information for only those Auto Scaling groups that meet the filter criteria. If you do not specify group names or filters, the output includes information for all Auto Scaling groups.
This operation also returns information about instances in Auto Scaling groups. To retrieve information about the instances in a warm pool, you must call the DescribeWarmPool API.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
The following waiters are defined for this operation (see #wait_until for detailed usage):
- group_exists
- group_in_service
- group_not_exists
2489 2490 2491 2492 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 2489 def describe_auto_scaling_groups(params = {}, = {}) req = build_request(:describe_auto_scaling_groups, params) req.send_request() end |
#describe_auto_scaling_instances(params = {}) ⇒ Types::AutoScalingInstancesType
Gets information about the Auto Scaling instances in the account and Region.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
2574 2575 2576 2577 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 2574 def describe_auto_scaling_instances(params = {}, = {}) req = build_request(:describe_auto_scaling_instances, params) req.send_request() end |
#describe_auto_scaling_notification_types(params = {}) ⇒ Types::DescribeAutoScalingNotificationTypesAnswer
Describes the notification types that are supported by Amazon EC2 Auto Scaling.
2614 2615 2616 2617 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 2614 def describe_auto_scaling_notification_types(params = {}, = {}) req = build_request(:describe_auto_scaling_notification_types, params) req.send_request() end |
#describe_instance_refreshes(params = {}) ⇒ Types::DescribeInstanceRefreshesAnswer
Gets information about the instance refreshes for the specified Auto Scaling group.
This operation is part of the instance refresh feature in Amazon EC2 Auto Scaling, which helps you update instances in your Auto Scaling group after you make configuration changes.
To help you determine the status of an instance refresh, this operation returns information about the instance refreshes you previously initiated, including their status, end time, the percentage of the instance refresh that is complete, and the number of instances remaining to update before the instance refresh is complete.
The following are the possible statuses:
Pending
- The request was created, but the operation has not started.InProgress
- The operation is in progress.Successful
- The operation completed successfully.Failed
- The operation failed to complete. You can troubleshoot using the status reason and the scaling activities.Cancelling
- An ongoing operation is being cancelled. Cancellation does not roll back any replacements that have already been completed, but it prevents new replacements from being started.Cancelled
- The operation is cancelled.
2799 2800 2801 2802 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 2799 def describe_instance_refreshes(params = {}, = {}) req = build_request(:describe_instance_refreshes, params) req.send_request() end |
#describe_launch_configurations(params = {}) ⇒ Types::LaunchConfigurationsType
Gets information about the launch configurations in the account and Region.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
2913 2914 2915 2916 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 2913 def describe_launch_configurations(params = {}, = {}) req = build_request(:describe_launch_configurations, params) req.send_request() end |
#describe_lifecycle_hook_types(params = {}) ⇒ Types::DescribeLifecycleHookTypesAnswer
Describes the available types of lifecycle hooks.
The following hook types are supported:
autoscaling:EC2_INSTANCE_LAUNCHING
autoscaling:EC2_INSTANCE_TERMINATING
2955 2956 2957 2958 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 2955 def describe_lifecycle_hook_types(params = {}, = {}) req = build_request(:describe_lifecycle_hook_types, params) req.send_request() end |
#describe_lifecycle_hooks(params = {}) ⇒ Types::DescribeLifecycleHooksAnswer
Gets information about the lifecycle hooks for the specified Auto Scaling group.
3023 3024 3025 3026 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 3023 def describe_lifecycle_hooks(params = {}, = {}) req = build_request(:describe_lifecycle_hooks, params) req.send_request() end |
#describe_load_balancer_target_groups(params = {}) ⇒ Types::DescribeLoadBalancerTargetGroupsResponse
Gets information about the Elastic Load Balancing target groups for the specified Auto Scaling group.
To determine the attachment status of the target group, use the
State
element in the response. When you attach a target group to an
Auto Scaling group, the initial State
value is Adding
. The state
transitions to Added
after all Auto Scaling instances are registered
with the target group. If Elastic Load Balancing health checks are
enabled for the Auto Scaling group, the state transitions to
InService
after at least one Auto Scaling instance passes the health
check. When the target group is in the InService
state, Amazon EC2
Auto Scaling can terminate and replace any instances that are reported
as unhealthy. If no registered instances pass the health checks, the
target group doesn't enter the InService
state.
Target groups also have an InService
state if you attach them in the
CreateAutoScalingGroup API call. If your target group state is
InService
, but it is not working properly, check the scaling
activities by calling DescribeScalingActivities and take any
corrective actions necessary.
For help with failed health checks, see Troubleshooting Amazon EC2 Auto Scaling: Health checks in the Amazon EC2 Auto Scaling User Guide. For more information, see Use Elastic Load Balancing to distribute traffic across the instances in your Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.
3120 3121 3122 3123 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 3120 def describe_load_balancer_target_groups(params = {}, = {}) req = build_request(:describe_load_balancer_target_groups, params) req.send_request() end |
#describe_load_balancers(params = {}) ⇒ Types::DescribeLoadBalancersResponse
Gets information about the load balancers for the specified Auto Scaling group.
This operation describes only Classic Load Balancers. If you have Application Load Balancers, Network Load Balancers, or Gateway Load Balancer, use the DescribeLoadBalancerTargetGroups API instead.
To determine the attachment status of the load balancer, use the
State
element in the response. When you attach a load balancer to an
Auto Scaling group, the initial State
value is Adding
. The state
transitions to Added
after all Auto Scaling instances are registered
with the load balancer. If Elastic Load Balancing health checks are
enabled for the Auto Scaling group, the state transitions to
InService
after at least one Auto Scaling instance passes the health
check. When the load balancer is in the InService
state, Amazon EC2
Auto Scaling can terminate and replace any instances that are reported
as unhealthy. If no registered instances pass the health checks, the
load balancer doesn't enter the InService
state.
Load balancers also have an InService
state if you attach them in
the CreateAutoScalingGroup API call. If your load balancer state is
InService
, but it is not working properly, check the scaling
activities by calling DescribeScalingActivities and take any
corrective actions necessary.
For help with failed health checks, see Troubleshooting Amazon EC2 Auto Scaling: Health checks in the Amazon EC2 Auto Scaling User Guide. For more information, see Use Elastic Load Balancing to distribute traffic across the instances in your Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.
3215 3216 3217 3218 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 3215 def describe_load_balancers(params = {}, = {}) req = build_request(:describe_load_balancers, params) req.send_request() end |
#describe_metric_collection_types(params = {}) ⇒ Types::DescribeMetricCollectionTypesAnswer
Describes the available CloudWatch metrics for Amazon EC2 Auto Scaling.
3282 3283 3284 3285 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 3282 def describe_metric_collection_types(params = {}, = {}) req = build_request(:describe_metric_collection_types, params) req.send_request() end |
#describe_notification_configurations(params = {}) ⇒ Types::DescribeNotificationConfigurationsAnswer
Gets information about the Amazon SNS notifications that are configured for one or more Auto Scaling groups.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
3355 3356 3357 3358 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 3355 def describe_notification_configurations(params = {}, = {}) req = build_request(:describe_notification_configurations, params) req.send_request() end |
#describe_policies(params = {}) ⇒ Types::PoliciesType
Gets information about the scaling policies in the account and Region.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
3536 3537 3538 3539 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 3536 def describe_policies(params = {}, = {}) req = build_request(:describe_policies, params) req.send_request() end |
#describe_scaling_activities(params = {}) ⇒ Types::ActivitiesType
Gets information about the scaling activities in the account and Region.
When scaling events occur, you see a record of the scaling activity in the scaling activities. For more information, see Verifying a scaling activity for an Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.
If the scaling event succeeds, the value of the StatusCode
element
in the response is Successful
. If an attempt to launch instances
failed, the StatusCode
value is Failed
or Cancelled
and the
StatusMessage
element in the response indicates the cause of the
failure. For help interpreting the StatusMessage
, see
Troubleshooting Amazon EC2 Auto Scaling in the Amazon EC2 Auto
Scaling User Guide.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
3650 3651 3652 3653 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 3650 def describe_scaling_activities(params = {}, = {}) req = build_request(:describe_scaling_activities, params) req.send_request() end |
#describe_scaling_process_types(params = {}) ⇒ Types::ProcessesType
Describes the scaling process types for use with the ResumeProcesses and SuspendProcesses APIs.
3709 3710 3711 3712 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 3709 def describe_scaling_process_types(params = {}, = {}) req = build_request(:describe_scaling_process_types, params) req.send_request() end |
#describe_scheduled_actions(params = {}) ⇒ Types::ScheduledActionsType
Gets information about the scheduled actions that haven't run or that have not reached their end time.
To describe the scaling activities for scheduled actions that have already run, call the DescribeScalingActivities API.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
3810 3811 3812 3813 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 3810 def describe_scheduled_actions(params = {}, = {}) req = build_request(:describe_scheduled_actions, params) req.send_request() end |
#describe_tags(params = {}) ⇒ Types::TagsType
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.
For more information, see Tag Auto Scaling groups and instances in the Amazon EC2 Auto Scaling User Guide.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
3915 3916 3917 3918 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 3915 def (params = {}, = {}) req = build_request(:describe_tags, params) req.send_request() end |
#describe_termination_policy_types(params = {}) ⇒ Types::DescribeTerminationPolicyTypesAnswer
Describes the termination policies supported by Amazon EC2 Auto Scaling.
For more information, see Work with Amazon EC2 Auto Scaling termination policies in the Amazon EC2 Auto Scaling User Guide.
3962 3963 3964 3965 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 3962 def describe_termination_policy_types(params = {}, = {}) req = build_request(:describe_termination_policy_types, params) req.send_request() end |
#describe_traffic_sources(params = {}) ⇒ Types::DescribeTrafficSourcesResponse
Reserved for use with Amazon VPC Lattice, which is in preview and subject to change. Do not use this API for production workloads. This API is also subject to change.
Gets information about the traffic sources for the specified Auto Scaling group.
4014 4015 4016 4017 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 4014 def describe_traffic_sources(params = {}, = {}) req = build_request(:describe_traffic_sources, params) req.send_request() end |
#describe_warm_pool(params = {}) ⇒ Types::DescribeWarmPoolAnswer
Gets information about a warm pool and its instances.
For more information, see Warm pools for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
4078 4079 4080 4081 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 4078 def describe_warm_pool(params = {}, = {}) req = build_request(:describe_warm_pool, params) req.send_request() end |
#detach_instances(params = {}) ⇒ Types::DetachInstancesAnswer
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, Amazon EC2 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 Amazon EC2 Auto Scaling User Guide.
4175 4176 4177 4178 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 4175 def detach_instances(params = {}, = {}) req = build_request(:detach_instances, params) req.send_request() end |
#detach_load_balancer_target_groups(params = {}) ⇒ Struct
Detaches one or more target groups from the specified Auto Scaling group.
When you detach a target group, it enters the Removing
state while
deregistering the instances in the group. When all instances are
deregistered, then you can no longer describe the target group using
the DescribeLoadBalancerTargetGroups API call. The instances remain
running.
4227 4228 4229 4230 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 4227 def detach_load_balancer_target_groups(params = {}, = {}) req = build_request(:detach_load_balancer_target_groups, params) req.send_request() end |
#detach_load_balancers(params = {}) ⇒ Struct
Detaches one or more Classic Load Balancers from the specified Auto Scaling group.
This operation detaches only Classic Load Balancers. If you have Application Load Balancers, Network Load Balancers, or Gateway Load Balancer, use the DetachLoadBalancerTargetGroups API 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
the DescribeLoadBalancers API call. The instances remain running.
4276 4277 4278 4279 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 4276 def detach_load_balancers(params = {}, = {}) req = build_request(:detach_load_balancers, params) req.send_request() end |
#detach_traffic_sources(params = {}) ⇒ Struct
Reserved for use with Amazon VPC Lattice, which is in preview and subject to change. Do not use this API for production workloads. This API is also subject to change.
Detaches one or more traffic sources from the specified Auto Scaling group.
4319 4320 4321 4322 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 4319 def detach_traffic_sources(params = {}, = {}) req = build_request(:detach_traffic_sources, params) req.send_request() end |
#disable_metrics_collection(params = {}) ⇒ Struct
Disables group metrics collection for the specified Auto Scaling group.
4409 4410 4411 4412 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 4409 def disable_metrics_collection(params = {}, = {}) req = build_request(:disable_metrics_collection, params) req.send_request() end |
#enable_metrics_collection(params = {}) ⇒ Struct
Enables group metrics collection for the specified Auto Scaling group.
You can use these metrics to track changes in an Auto Scaling group and to set alarms on threshold values. You can view group metrics using the Amazon EC2 Auto Scaling console or the CloudWatch console. For more information, see Monitor CloudWatch metrics for your Auto Scaling groups and instances in the Amazon EC2 Auto Scaling User Guide.
4513 4514 4515 4516 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 4513 def enable_metrics_collection(params = {}, = {}) req = build_request(:enable_metrics_collection, params) req.send_request() end |
#enter_standby(params = {}) ⇒ Types::EnterStandbyAnswer
Moves the specified instances into the standby state.
If you choose to decrement the desired capacity of the Auto Scaling group, the instances can enter standby as long as the desired capacity of the Auto Scaling group after the instances are placed into standby is equal to or greater than the minimum capacity of the group.
If you choose not to decrement the desired capacity of the Auto Scaling group, the Auto Scaling group launches new instances to replace the instances on standby.
For more information, see Temporarily removing instances from your Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.
4607 4608 4609 4610 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 4607 def enter_standby(params = {}, = {}) req = build_request(:enter_standby, params) req.send_request() end |
#execute_policy(params = {}) ⇒ Struct
Executes the specified policy. This can be useful for testing the design of your scaling policy.
4680 4681 4682 4683 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 4680 def execute_policy(params = {}, = {}) req = build_request(:execute_policy, params) req.send_request() end |
#exit_standby(params = {}) ⇒ Types::ExitStandbyAnswer
Moves the specified instances out of the standby state.
After you put the instances back in service, the desired capacity is incremented.
For more information, see Temporarily removing instances from your Auto Scaling group in the Amazon EC2 Auto Scaling User Guide.
4762 4763 4764 4765 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 4762 def exit_standby(params = {}, = {}) req = build_request(:exit_standby, params) req.send_request() end |
#get_predictive_scaling_forecast(params = {}) ⇒ Types::GetPredictiveScalingForecastAnswer
Retrieves the forecast data for a predictive scaling policy.
Load forecasts are predictions of the hourly load values using historical load data from CloudWatch and an analysis of historical trends. Capacity forecasts are represented as predicted values for the minimum capacity that is needed on an hourly basis, based on the hourly load forecast.
A minimum of 24 hours of data is required to create the initial forecasts. However, having a full 14 days of historical data results in more accurate forecasts.
For more information, see Predictive scaling for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
4881 4882 4883 4884 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 4881 def get_predictive_scaling_forecast(params = {}, = {}) req = build_request(:get_predictive_scaling_forecast, params) req.send_request() end |
#put_lifecycle_hook(params = {}) ⇒ Struct
Creates or updates a lifecycle hook for the specified Auto Scaling group.
Lifecycle hooks let you create solutions that are aware of events in the Auto Scaling instance lifecycle, and then perform a custom action on instances when the corresponding lifecycle event occurs.
This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:
(Optional) Create a launch template or launch configuration with a user data script that runs while an instance is in a wait state due to a lifecycle hook.
(Optional) Create a Lambda function and a rule that allows Amazon EventBridge to invoke your Lambda function when an instance is put into a wait state due to a lifecycle hook.
(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 Amazon EC2 Auto Scaling to publish lifecycle notifications to the target.
Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.
If you need more time, record the lifecycle action heartbeat to keep the instance in a wait state using the RecordLifecycleActionHeartbeat API call.
If you finish before the timeout period ends, send a callback by using the CompleteLifecycleAction API call.
For more information, see Amazon EC2 Auto Scaling lifecycle hooks in the Amazon EC2 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.
You can view the lifecycle hooks for an Auto Scaling group using the DescribeLifecycleHooks API call. If you are no longer using a lifecycle hook, you can delete it by calling the DeleteLifecycleHook API.
5025 5026 5027 5028 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 5025 def put_lifecycle_hook(params = {}, = {}) req = build_request(:put_lifecycle_hook, params) req.send_request() end |
#put_notification_configuration(params = {}) ⇒ Struct
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 Amazon SNS notifications when your Auto Scaling group scales in the Amazon EC2 Auto Scaling User Guide.
If you exceed your maximum limit of SNS topics, which is 10 per Auto Scaling group, the call fails.
5086 5087 5088 5089 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 5086 def put_notification_configuration(params = {}, = {}) req = build_request(:put_notification_configuration, params) req.send_request() end |
#put_scaling_policy(params = {}) ⇒ Types::PolicyARNType
Creates or updates a scaling policy for an Auto Scaling group. Scaling policies are used to scale an Auto Scaling group based on configurable metrics. If no policies are defined, the dynamic scaling and predictive scaling features are not used.
For more information about using dynamic scaling, see Target tracking scaling policies and Step and simple scaling policies in the Amazon EC2 Auto Scaling User Guide.
For more information about using predictive scaling, see Predictive scaling for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
You can view the scaling policies for an Auto Scaling group using the DescribePolicies API call. If you are no longer using a scaling policy, you can delete it by calling the DeletePolicy API.
5489 5490 5491 5492 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 5489 def put_scaling_policy(params = {}, = {}) req = build_request(:put_scaling_policy, params) req.send_request() end |
#put_scheduled_update_group_action(params = {}) ⇒ Struct
Creates or updates a scheduled scaling action for an Auto Scaling group.
For more information, see Scheduled scaling in the Amazon EC2 Auto Scaling User Guide.
You can view the scheduled actions for an Auto Scaling group using the DescribeScheduledActions API call. If you are no longer using a scheduled action, you can delete it by calling the DeleteScheduledAction API.
If you try to schedule your action in the past, Amazon EC2 Auto Scaling returns an error message.
5616 5617 5618 5619 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 5616 def put_scheduled_update_group_action(params = {}, = {}) req = build_request(:put_scheduled_update_group_action, params) req.send_request() end |
#put_warm_pool(params = {}) ⇒ Struct
Creates or updates a warm pool for the specified Auto Scaling group. A warm pool is a pool of pre-initialized EC2 instances that sits alongside the Auto Scaling group. Whenever your application needs to scale out, the Auto Scaling group can draw on the warm pool to meet its new desired capacity. For more information and example configurations, see Warm pools for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
This operation must be called from the Region in which the Auto Scaling group was created. This operation cannot be called on an Auto Scaling group that has a mixed instances policy or a launch template or launch configuration that requests Spot Instances.
You can view the instances in the warm pool using the DescribeWarmPool API call. If you are no longer using a warm pool, you can delete it by calling the DeleteWarmPool API.
5715 5716 5717 5718 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 5715 def put_warm_pool(params = {}, = {}) req = build_request(:put_warm_pool, params) req.send_request() end |
#record_lifecycle_action_heartbeat(params = {}) ⇒ Struct
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 the PutLifecycleHook API call.
This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:
(Optional) Create a launch template or launch configuration with a user data script that runs while an instance is in a wait state due to a lifecycle hook.
(Optional) Create a Lambda function and a rule that allows Amazon EventBridge to invoke your Lambda function when an instance is put into a wait state due to a lifecycle hook.
(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 Amazon EC2 Auto Scaling to publish lifecycle notifications to the target.
Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.
If you need more time, record the lifecycle action heartbeat to keep the instance in a wait state.
If you finish before the timeout period ends, send a callback by using the CompleteLifecycleAction API call.
For more information, see Amazon EC2 Auto Scaling lifecycle hooks in the Amazon EC2 Auto Scaling User Guide.
5797 5798 5799 5800 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 5797 def record_lifecycle_action_heartbeat(params = {}, = {}) req = build_request(:record_lifecycle_action_heartbeat, params) req.send_request() end |
#resume_processes(params = {}) ⇒ Struct
Resumes the specified suspended auto scaling processes, or all suspended process, for the specified Auto Scaling group.
For more information, see Suspending and resuming scaling processes in the Amazon EC2 Auto Scaling User Guide.
5863 5864 5865 5866 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 5863 def resume_processes(params = {}, = {}) req = build_request(:resume_processes, params) req.send_request() end |
#set_desired_capacity(params = {}) ⇒ Struct
Sets the size of the specified Auto Scaling group.
If a scale-in activity occurs as a result of a new DesiredCapacity
value that is lower than the current size of the group, the Auto
Scaling group uses its termination policy to determine which instances
to terminate.
For more information, see Manual scaling in the Amazon EC2 Auto Scaling User Guide.
5922 5923 5924 5925 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 5922 def set_desired_capacity(params = {}, = {}) req = build_request(:set_desired_capacity, params) req.send_request() end |
#set_instance_health(params = {}) ⇒ Struct
Sets the health status of the specified instance.
For more information, see Health checks for Auto Scaling instances in the Amazon EC2 Auto Scaling User Guide.
5983 5984 5985 5986 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 5983 def set_instance_health(params = {}, = {}) req = build_request(:set_instance_health, params) req.send_request() end |
#set_instance_protection(params = {}) ⇒ Struct
Updates the instance protection settings of the specified instances. This operation cannot be called on instances in a warm pool.
For more information about preventing instances that are part of an Auto Scaling group from terminating on scale in, see Using instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.
If you exceed your maximum limit of instance IDs, which is 50 per Auto Scaling group, the call fails.
6051 6052 6053 6054 |
# File 'gems/aws-sdk-autoscaling/lib/aws-sdk-autoscaling/client.rb', line 6051 def set_instance_protection(params = {}, = {}) req = build_request(:set_instance_protection, params) req.send_request() end |
#start_instance_refresh(params = {}) ⇒ Types::StartInstanceRefreshAnswer
Starts a new instance refresh operation. An instance refresh performs a rolling replacement of all or some instances in an Auto Scaling group. Each instance is terminated first and then replaced, which temporarily reduces the capacity available within your Auto Scaling group.
This operation is part of the instance refresh feature in Amazon EC2 Auto Scaling, which helps you update instances in your Auto Scaling group. This feature is helpful, for example, when you have a new AMI or a new user data script. You just need to create a new launch template that specifies the new AMI or user data script. Then start an instance refresh to immediately begin the process of updating instances in the group.
If the call succeeds, it creates a new instance refresh request with a unique ID that you can use to track its progress. To query its status, call the DescribeInstanceRefreshes API. To describe the instance refreshes that have already run, call the DescribeInstanceRefreshes API. To cancel an instance refresh operation in progress, use the CancelInstanceRefresh API.