Class: Aws::AutoScaling::Client
- Inherits:
-
Seahorse::Client::Base
- Object
- Seahorse::Client::Base
- Aws::AutoScaling::Client
- Includes:
- ClientStubs
- Defined in:
- 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](/sdk-for-ruby/v3/developer-guide/setup-config.html).
See #initialize for a full list of supported configuration options.
Class Attribute Summary collapse
- .identifier ⇒ Object readonly private
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
<note markdown=“1”> This API operation is superseded by [AttachTrafficSources], which can attach multiple traffic sources types.
-
#attach_load_balancers(params = {}) ⇒ Struct
<note markdown=“1”> This API operation is superseded by [docs.aws.amazon.com/autoscaling/ec2/APIReference/API_AttachTrafficSources.html][1], which can attach multiple traffic sources types.
-
#attach_traffic_sources(params = {}) ⇒ Struct
Attaches one or more traffic sources to the specified Auto Scaling group.
-
#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 or rollback that is 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 from the previous six weeks.
-
#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
<note markdown=“1”> This API operation is superseded by [DescribeTrafficSources], which can describe multiple traffic sources types.
-
#describe_load_balancers(params = {}) ⇒ Types::DescribeLoadBalancersResponse
<note markdown=“1”> This API operation is superseded by [DescribeTrafficSources], which can describe multiple traffic sources types.
-
#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
Gets information about the traffic sources for the specified Auto Scaling group.
-
#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
<note markdown=“1”> This API operation is superseded by [DetachTrafficSources], which can detach multiple traffic sources types.
-
#detach_load_balancers(params = {}) ⇒ Struct
<note markdown=“1”> This API operation is superseded by [DetachTrafficSources], which can detach multiple traffic sources types.
-
#detach_traffic_sources(params = {}) ⇒ Struct
Detaches one or more traffic sources from the specified Auto Scaling group.
-
#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.
-
#rollback_instance_refresh(params = {}) ⇒ Types::RollbackInstanceRefreshAnswer
Cancels an instance refresh that is in progress and rolls back any changes that it made.
-
#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 an instance refresh.
-
#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.**.
Class Method Summary collapse
- .errors_module ⇒ Object private
Instance Method Summary collapse
- #build_request(operation_name, params = {}) ⇒ Object private
-
#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.
- #waiter_names ⇒ Object deprecated private Deprecated.
Constructor Details
#initialize(options) ⇒ Client
Returns a new instance of Client.
473 474 475 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 473 def initialize(*args) super end |
Class Attribute Details
.identifier ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
7626 7627 7628 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 7626 def identifier @identifier end |
Class Method Details
.errors_module ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
7629 7630 7631 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 7629 def errors_module Errors 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 [Detach or attach instances] in the *Amazon EC2 Auto Scaling User Guide*.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-detach-attach-instances.html
531 532 533 534 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 531 def attach_instances(params = {}, = {}) req = build_request(:attach_instances, params) req.send_request() end |
#attach_load_balancer_target_groups(params = {}) ⇒ Struct
<note markdown=“1”> This API operation is superseded by [AttachTrafficSources], which can attach multiple traffic sources types. We recommend using ‘AttachTrafficSources` to simplify how you manage traffic sources. However, we continue to support `AttachLoadBalancerTargetGroups`. You can use both the original `AttachLoadBalancerTargetGroups` API operation and `AttachTrafficSources` on the same Auto Scaling group.
</note>
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][2
-
API. To detach the target group
from the Auto Scaling group, call the
- DetachLoadBalancerTargetGroups][3
-
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*.
[1]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_AttachTrafficSources.html [2]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeLoadBalancerTargetGroups.html [3]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DetachLoadBalancerTargetGroups.html [4]: docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html
614 615 616 617 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 614 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
<note markdown=“1”> This API operation is superseded by [docs.aws.amazon.com/autoscaling/ec2/APIReference/API_AttachTrafficSources.html][1], which can attach multiple traffic sources types. We recommend using ‘AttachTrafficSources` to simplify how you manage traffic sources. However, we continue to support `AttachLoadBalancers`. You can use both the original `AttachLoadBalancers` API operation and `AttachTrafficSources` on the same Auto Scaling group.
</note>
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][2
-
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*.
[1]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_AttachTrafficSources.html [2]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeLoadBalancers.html [3]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DetachLoadBalancers.html [4]: docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html
683 684 685 686 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 683 def attach_load_balancers(params = {}, = {}) req = build_request(:attach_load_balancers, params) req.send_request() end |
#attach_traffic_sources(params = {}) ⇒ Struct
Attaches one or more traffic sources to the specified Auto Scaling group.
You can use any of the following as traffic sources for an Auto Scaling group:
-
Application Load Balancer
-
Classic Load Balancer
-
Gateway Load Balancer
-
Network Load Balancer
-
VPC Lattice
This operation is additive and does not detach existing traffic sources from the Auto Scaling group.
After the operation completes, use the [DescribeTrafficSources] API to return details about the state of the attachments between traffic sources and your Auto Scaling group. To detach a traffic source from the Auto Scaling group, call the [DetachTrafficSources] API.
[1]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeTrafficSources.html [2]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DetachTrafficSources.html
772 773 774 775 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 772 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.
809 810 811 812 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 809 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.
856 857 858 859 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 856 def batch_put_scheduled_update_group_action(params = {}, = {}) req = build_request(:batch_put_scheduled_update_group_action, params) req.send_request() end |
#build_request(operation_name, params = {}) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
7482 7483 7484 7485 7486 7487 7488 7489 7490 7491 7492 7493 7494 7495 7496 7497 7498 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 7482 def build_request(operation_name, params = {}) handlers = @handlers.for(operation_name) tracer = config.telemetry_provider.tracer_provider.tracer( Aws::Telemetry.module_to_tracer_name('Aws::AutoScaling') ) context = Seahorse::Client::RequestContext.new( operation_name: operation_name, operation: config.api.operation(operation_name), client: self, params: params, config: config, tracer: tracer ) context[:gem_name] = 'aws-sdk-autoscaling' context[:gem_version] = '1.144.0' Seahorse::Client::Request.new(handlers, context) end |
#cancel_instance_refresh(params = {}) ⇒ Types::CancelInstanceRefreshAnswer
Cancels an instance refresh or rollback that is in progress. If an instance refresh or rollback is not in progress, an ‘ActiveInstanceRefreshNotFound` error occurs.
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.
When you cancel an instance refresh, this does not roll back any changes that it made. Use the [RollbackInstanceRefresh] API to roll back instead.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-refresh.html [2]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_RollbackInstanceRefresh.html
923 924 925 926 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 923 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 [Complete a lifecycle action] in the *Amazon EC2 Auto Scaling User Guide*.
[1]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_CompleteLifecycleAction.html [2]: docs.aws.amazon.com/autoscaling/ec2/userguide/completing-lifecycle-hooks.html
1012 1013 1014 1015 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 1012 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*.
If you’re new to Amazon EC2 Auto Scaling, see the introductory tutorials in [Get started with Amazon EC2 Auto Scaling] 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.
[1]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html [2]: docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-quotas.html [3]: docs.aws.amazon.com/autoscaling/ec2/userguide/get-started-with-ec2-auto-scaling.html
1678 1679 1680 1681 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 1678 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*.
<note markdown=“1”> Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group using either a launch template or a launch configuration. We strongly recommend that you do not use launch configurations. They do not provide full functionality for Amazon EC2 Auto Scaling or Amazon EC2. For information about using launch templates, see [Launch templates] in the *Amazon EC2 Auto Scaling User Guide*.
</note>
[1]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAccountLimits.html [2]: docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-quotas.html [3]: docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html [4]: docs.aws.amazon.com/autoscaling/ec2/userguide/launch-templates.html
1998 1999 2000 2001 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 1998 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*.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-tagging.html
2063 2064 2065 2066 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 2063 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*.
[1]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DetachInstances.html [2]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_UpdateAutoScalingGroup.html [3]: docs.aws.amazon.com/autoscaling/ec2/userguide/as-process-shutdown.html
2138 2139 2140 2141 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 2138 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.
2173 2174 2175 2176 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 2173 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).
2213 2214 2215 2216 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 2213 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.
2249 2250 2251 2252 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 2249 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 [Delete a scaling policy] in the *Amazon EC2 Auto Scaling User Guide*.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/deleting-scaling-policy.html
2296 2297 2298 2299 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 2296 def delete_policy(params = {}, = {}) req = build_request(:delete_policy, params) req.send_request() end |
#delete_scheduled_action(params = {}) ⇒ Struct
Deletes the specified scheduled action.
2332 2333 2334 2335 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 2332 def delete_scheduled_action(params = {}, = {}) req = build_request(:delete_scheduled_action, params) req.send_request() end |
#delete_tags(params = {}) ⇒ Struct
Deletes the specified tags.
2378 2379 2380 2381 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 2378 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*.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-warm-pools.html
2414 2415 2416 2417 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 2414 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*.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-quotas.html
2466 2467 2468 2469 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 2466 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`
2518 2519 2520 2521 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 2518 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.
[1]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeWarmPool.html
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
2807 2808 2809 2810 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 2807 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.
2893 2894 2895 2896 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 2893 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.
2933 2934 2935 2936 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 2933 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 from the previous six weeks.
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, Amazon EC2 Auto Scaling returns information about the instance refreshes you previously initiated, including their status, start time, 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. If a rollback is initiated while an instance refresh is in progress, Amazon EC2 Auto Scaling also returns information about the rollback of the instance refresh.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-refresh.html
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
3152 3153 3154 3155 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 3152 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.
3266 3267 3268 3269 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 3266 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`
3308 3309 3310 3311 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 3308 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.
3376 3377 3378 3379 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 3376 def describe_lifecycle_hooks(params = {}, = {}) req = build_request(:describe_lifecycle_hooks, params) req.send_request() end |
#describe_load_balancer_target_groups(params = {}) ⇒ Types::DescribeLoadBalancerTargetGroupsResponse
<note markdown=“1”> This API operation is superseded by [DescribeTrafficSources], which can describe multiple traffic sources types. We recommend using ‘DetachTrafficSources` to simplify how you manage traffic sources. However, we continue to support `DescribeLoadBalancerTargetGroups`. You can use both the original `DescribeLoadBalancerTargetGroups` API operation and `DescribeTrafficSources` on the same Auto Scaling group.
</note>
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][2
-
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*.
<note markdown=“1”> You can use this operation to describe target groups that were attached by using [AttachLoadBalancerTargetGroups], but not for target groups that were attached by using [AttachTrafficSources].
</note>
[1]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeTrafficSources.html [2]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_CreateAutoScalingGroup.html [3]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeScalingActivities.html [4]: docs.aws.amazon.com/autoscaling/ec2/userguide/ts-as-healthchecks.html [5]: docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html [6]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_AttachLoadBalancerTargetGroups.html [7]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_AttachTrafficSources.html
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
3489 3490 3491 3492 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 3489 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
<note markdown=“1”> This API operation is superseded by [DescribeTrafficSources], which can describe multiple traffic sources types. We recommend using ‘DescribeTrafficSources` to simplify how you manage traffic sources. However, we continue to support `DescribeLoadBalancers`. You can use both the original `DescribeLoadBalancers` API operation and `DescribeTrafficSources` on the same Auto Scaling group.
</note>
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 Balancers, 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*.
[1]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeTrafficSources.html [2]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeLoadBalancerTargetGroups.html [3]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_CreateAutoScalingGroup.html [4]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeScalingActivities.html [5]: docs.aws.amazon.com/autoscaling/ec2/userguide/ts-as-healthchecks.html [6]: docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
3599 3600 3601 3602 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 3599 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.
3666 3667 3668 3669 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 3666 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.
3739 3740 3741 3742 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 3739 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.
3923 3924 3925 3926 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 3923 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 [Verify 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][2
-
in the *Amazon EC2 Auto
Scaling User Guide*.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/as-verify-scaling-activity.html [2]: docs.aws.amazon.com/autoscaling/ec2/userguide/CHAP_Troubleshooting.html
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
4038 4039 4040 4041 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 4038 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][1
-
and [SuspendProcesses] APIs.
[1]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_ResumeProcesses.html [2]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_SuspendProcesses.html
4102 4103 4104 4105 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 4102 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.
[1]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeScalingActivities.html
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
4207 4208 4209 4210 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 4207 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*.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-tagging.html
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
4312 4313 4314 4315 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 4312 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 [Configure termination policies for Amazon EC2 Auto Scaling] in the *Amazon EC2 Auto Scaling User Guide*.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-termination-policies.html
4359 4360 4361 4362 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 4359 def describe_termination_policy_types(params = {}, = {}) req = build_request(:describe_termination_policy_types, params) req.send_request() end |
#describe_traffic_sources(params = {}) ⇒ Types::DescribeTrafficSourcesResponse
Gets information about the traffic sources for the specified Auto Scaling group.
You can optionally provide a traffic source type. If you provide a traffic source type, then the results only include that traffic source type.
If you do not provide a traffic source type, then the results include all the traffic sources for the specified Auto Scaling group.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
4447 4448 4449 4450 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 4447 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*.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-warm-pools.html
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
4513 4514 4515 4516 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 4513 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 or attach instances] in the *Amazon EC2 Auto Scaling User Guide*.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-detach-attach-instances.html
4610 4611 4612 4613 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 4610 def detach_instances(params = {}, = {}) req = build_request(:detach_instances, params) req.send_request() end |
#detach_load_balancer_target_groups(params = {}) ⇒ Struct
<note markdown=“1”> This API operation is superseded by [DetachTrafficSources], which can detach multiple traffic sources types. We recommend using ‘DetachTrafficSources` to simplify how you manage traffic sources. However, we continue to support `DetachLoadBalancerTargetGroups`. You can use both the original `DetachLoadBalancerTargetGroups` API operation and `DetachTrafficSources` on the same Auto Scaling group.
</note>
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.
<note markdown=“1”> You can use this operation to detach target groups that were attached by using [AttachLoadBalancerTargetGroups], but not for target groups that were attached by using [AttachTrafficSources].
</note>
[1]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeTrafficSources.html [2]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeLoadBalancerTargetGroups.html [3]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_AttachLoadBalancerTargetGroups.html [4]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_AttachTrafficSources.html
4678 4679 4680 4681 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 4678 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
<note markdown=“1”> This API operation is superseded by [DetachTrafficSources], which can detach multiple traffic sources types. We recommend using ‘DetachTrafficSources` to simplify how you manage traffic sources. However, we continue to support `DetachLoadBalancers`. You can use both the original `DetachLoadBalancers` API operation and `DetachTrafficSources` on the same Auto Scaling group.
</note>
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 Balancers, 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.
[1]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DetachTrafficSources.html [2]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DetachLoadBalancerTargetGroups.html [3]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeLoadBalancers.html
4742 4743 4744 4745 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 4742 def detach_load_balancers(params = {}, = {}) req = build_request(:detach_load_balancers, params) req.send_request() end |
#detach_traffic_sources(params = {}) ⇒ Struct
Detaches one or more traffic sources from the specified Auto Scaling group.
When you detach a traffic source, it enters the ‘Removing` state while deregistering the instances in the group. When all instances are deregistered, then you can no longer describe the traffic source using the [DescribeTrafficSources] API call. The instances continue to run.
[1]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeTrafficSources.html
4803 4804 4805 4806 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 4803 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.
4893 4894 4895 4896 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 4893 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*.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-cloudwatch-monitoring.html
4997 4998 4999 5000 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 4997 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*.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/as-enter-exit-standby.html
5091 5092 5093 5094 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 5091 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.
5164 5165 5166 5167 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 5164 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*.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/as-enter-exit-standby.html
5246 5247 5248 5249 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 5246 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*.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-predictive-scaling.html
5365 5366 5367 5368 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 5365 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][1
-
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][4
-
API call. If you are no longer using a
lifecycle hook, you can delete it by calling the
- DeleteLifecycleHook][5
-
API.
[1]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_RecordLifecycleActionHeartbeat.html [2]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_CompleteLifecycleAction.html [3]: docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html [4]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeLifecycleHooks.html [5]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DeleteLifecycleHook.html
5513 5514 5515 5516 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 5513 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 [Amazon SNS notification options for Amazon EC2 Auto Scaling] 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.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-sns-notifications.html
5577 5578 5579 5580 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 5577 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][4
-
API call. If you are no longer using a scaling
policy, you can delete it by calling the [DeletePolicy] API.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html [2]: docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html [3]: docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-predictive-scaling.html [4]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribePolicies.html [5]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DeletePolicy.html
5985 5986 5987 5988 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 5985 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][2
-
API call. If you are no longer using a
scheduled action, you can delete it by calling the
- DeleteScheduledAction][3
-
API.
If you try to schedule your action in the past, Amazon EC2 Auto Scaling returns an error message.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-scheduled-scaling.html [2]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeScheduledActions.html [3]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DeleteScheduledAction.html
6114 6115 6116 6117 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 6114 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.
This operation must be called from the Region in which the Auto Scaling group was created.
You can view the instances in the warm pool using the
- DescribeWarmPool][1
-
API call. If you are no longer using a warm
pool, you can delete it by calling the [DeleteWarmPool] API.
For more information, see [Warm pools for Amazon EC2 Auto Scaling] in the *Amazon EC2 Auto Scaling User Guide*.
[1]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeWarmPool.html [2]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DeleteWarmPool.html [3]: docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-warm-pools.html
6214 6215 6216 6217 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 6214 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*.
[1]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_PutLifecycleHook.html [2]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_CompleteLifecycleAction.html [3]: docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html
6298 6299 6300 6301 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 6298 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 [Suspend and resume Amazon EC2 Auto Scaling processes] in the *Amazon EC2 Auto Scaling User Guide*.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html
6364 6365 6366 6367 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 6364 def resume_processes(params = {}, = {}) req = build_request(:resume_processes, params) req.send_request() end |
#rollback_instance_refresh(params = {}) ⇒ Types::RollbackInstanceRefreshAnswer
Cancels an instance refresh that is in progress and rolls back any changes that it made. Amazon EC2 Auto Scaling replaces any instances that were replaced during the instance refresh. This restores your Auto Scaling group to the configuration that it was using before the start of the instance refresh.
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.
A rollback is not supported in the following situations:
-
There is no desired configuration specified for the instance refresh.
-
The Auto Scaling group has a launch template that uses an Amazon Web Services Systems Manager parameter instead of an AMI ID for the ‘ImageId` property.
-
The Auto Scaling group uses the launch template’s ‘$Latest` or `$Default` version.
When you receive a successful response from this operation, Amazon EC2 Auto Scaling immediately begins replacing instances. You can check the status of this operation through the [DescribeInstanceRefreshes] API operation.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-refresh.html [2]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeInstanceRefreshes.html
6422 6423 6424 6425 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 6422 def rollback_instance_refresh(params = {}, = {}) req = build_request(:rollback_instance_refresh, 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*.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-scaling-manually.html
6481 6482 6483 6484 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 6481 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 [Set up a custom health check for your Auto Scaling group] in the *Amazon EC2 Auto Scaling User Guide*.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/set-up-a-custom-health-check.html
6542 6543 6544 6545 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 6542 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, see [Use 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.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-protection.html
6609 6610 6611 6612 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 6609 def set_instance_protection(params = {}, = {}) req = build_request(:set_instance_protection, params) req.send_request() end |
#start_instance_refresh(params = {}) ⇒ Types::StartInstanceRefreshAnswer
Starts an instance refresh.
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 successful, the request’s response contains a unique ID that you can use to track the progress of the instance refresh. To query its status, call the [DescribeInstanceRefreshes] API. To describe the instance refreshes that have already run, call the
- DescribeInstanceRefreshes][2
-
API. To cancel an instance refresh that
is in progress, use the [CancelInstanceRefresh] API.
An instance refresh might fail for several reasons, such as EC2 launch failures, misconfigured health checks, or not ignoring or allowing the termination of instances that are in ‘Standby` state or protected from scale in. You can monitor for failed EC2 launches using the scaling activities. To find the scaling activities, call the
- DescribeScalingActivities][4
-
API.
If you enable auto rollback, your Auto Scaling group will be rolled back automatically when the instance refresh fails. You can enable this feature before starting an instance refresh by specifying the ‘AutoRollback` property in the instance refresh preferences. Otherwise, to roll back an instance refresh before it finishes, use the [RollbackInstanceRefresh] API.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-refresh.html [2]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeInstanceRefreshes.html [3]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_CancelInstanceRefresh.html [4]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeScalingActivities.html [5]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_RollbackInstanceRefresh.html
6858 6859 6860 6861 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 6858 def start_instance_refresh(params = {}, = {}) req = build_request(:start_instance_refresh, params) req.send_request() end |
#suspend_processes(params = {}) ⇒ Struct
Suspends the specified auto scaling processes, or all processes, for the specified Auto Scaling group.
If you suspend either the ‘Launch` or `Terminate` process types, it can prevent other process types from functioning properly. For more information, see [Suspend and resume Amazon EC2 Auto Scaling processes] in the *Amazon EC2 Auto Scaling User Guide*.
To resume processes that have been suspended, call the
- ResumeProcesses][2
-
API.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html [2]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_ResumeProcesses.html
6930 6931 6932 6933 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 6930 def suspend_processes(params = {}, = {}) req = build_request(:suspend_processes, params) req.send_request() end |
#terminate_instance_in_auto_scaling_group(params = {}) ⇒ Types::ActivityType
Terminates the specified instance and optionally adjusts the desired group size. This operation cannot be called on instances in a warm pool.
This call simply makes a termination request. The instance is not terminated immediately. When an instance is terminated, the instance status changes to ‘terminated`. You can’t connect to or start an instance after you’ve terminated it.
If you do not specify the option to decrement the desired capacity, Amazon EC2 Auto Scaling launches instances to replace the ones that are terminated.
By default, Amazon EC2 Auto Scaling balances instances across all Availability Zones. If you decrement the desired capacity, your Auto Scaling group can become unbalanced between Availability Zones. Amazon EC2 Auto Scaling tries to rebalance the group, and rebalancing might terminate instances in other zones. For more information, see [Manual scaling] in the *Amazon EC2 Auto Scaling User Guide*.
[1]: docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-scaling-manually.html
7007 7008 7009 7010 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 7007 def terminate_instance_in_auto_scaling_group(params = {}, = {}) req = build_request(:terminate_instance_in_auto_scaling_group, params) req.send_request() end |
#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.**
Updates the configuration for the specified Auto Scaling group.
To update an Auto Scaling group, specify the name of the group and the property that you want to change. Any properties that you don’t specify are not changed by this update request. The new settings take effect on any scaling activities after this call returns.
If you associate a new launch configuration or template with an Auto Scaling group, all new instances will get the updated configuration. Existing instances continue to run with the configuration that they were originally launched with. When you update a group to specify a mixed instances policy instead of a launch configuration or template, existing instances may be replaced to match the new purchasing options that you specified in the policy. For example, if the group currently has 100% On-Demand capacity and the policy specifies 50% Spot capacity, this means that half of your instances will be gradually terminated and relaunched as Spot Instances. When replacing instances, Amazon EC2 Auto Scaling launches new instances before terminating the old ones, so that updating your group does not compromise the performance or availability of your application.
Note the following about changing ‘DesiredCapacity`, `MaxSize`, or `MinSize`:
-
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.
-
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, this sets the group’s ‘DesiredCapacity` to the new `MinSize` value.
-
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, this sets the group’s ‘DesiredCapacity` to the new `MaxSize` value.
To see which properties have been set, call the
- DescribeAutoScalingGroups][1
-
API. To view the scaling policies for
an Auto Scaling group, call the [DescribePolicies] API. If the group has scaling policies, you can update them by calling the
- PutScalingPolicy][3
-
API.
[1]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAutoScalingGroups.html [2]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribePolicies.html [3]: docs.aws.amazon.com/autoscaling/ec2/APIReference/API_PutScalingPolicy.html
7473 7474 7475 7476 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 7473 def update_auto_scaling_group(params = {}, = {}) req = build_request(:update_auto_scaling_group, params) req.send_request() end |
#wait_until(waiter_name, params = {}, options = {}) {|w.waiter| ... } ⇒ Boolean
Polls an API operation until a resource enters a desired state.
## Basic Usage
A waiter will call an API operation until:
-
It is successful
-
It enters a terminal state
-
It makes the maximum number of attempts
In between attempts, the waiter will sleep.
# polls in a loop, sleeping between attempts
client.wait_until(waiter_name, params)
## Configuration
You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. You can pass configuration as the final arguments hash.
# poll for ~25 seconds
client.wait_until(waiter_name, params, {
max_attempts: 5,
delay: 5,
})
## Callbacks
You can be notified before each polling attempt and before each delay. If you throw ‘:success` or `:failure` from these callbacks, it will terminate the waiter.
started_at = Time.now
client.wait_until(waiter_name, params, {
# disable max attempts
max_attempts: nil,
# poll for 1 hour, instead of a number of attempts
before_wait: -> (attempts, response) do
throw :failure if Time.now - started_at > 3600
end
})
## Handling Errors
When a waiter is unsuccessful, it will raise an error. All of the failure errors extend from Waiters::Errors::WaiterFailed.
begin
client.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
# resource did not enter the desired state in time
end
## Valid Waiters
The following table lists the valid waiter names, the operations they call, and the default ‘:delay` and `:max_attempts` values.
| waiter_name | params | :delay | :max_attempts | | —————- | ————————————- | ——– | ————- | | group_exists | #describe_auto_scaling_groups | 5 | 10 | | group_in_service | #describe_auto_scaling_groups | 15 | 40 | | group_not_exists | #describe_auto_scaling_groups | 15 | 40 |
7590 7591 7592 7593 7594 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 7590 def wait_until(waiter_name, params = {}, = {}) w = waiter(waiter_name, ) yield(w.waiter) if block_given? # deprecated w.wait(params) end |
#waiter_names ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
7598 7599 7600 |
# File 'lib/aws-sdk-autoscaling/client.rb', line 7598 def waiter_names waiters.keys end |