aws-sdk-autoscaling 1.75.0 → 1.99.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -27,7 +27,11 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
- require 'aws-sdk-core/plugins/signature_v4.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/request_compression.rb'
32
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
33
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
34
+ require 'aws-sdk-core/plugins/sign.rb'
31
35
  require 'aws-sdk-core/plugins/protocols/query.rb'
32
36
 
33
37
  Aws::Plugins::GlobalConfiguration.add_identifier(:autoscaling)
@@ -73,8 +77,13 @@ module Aws::AutoScaling
73
77
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
78
  add_plugin(Aws::Plugins::TransferEncoding)
75
79
  add_plugin(Aws::Plugins::HttpChecksum)
76
- add_plugin(Aws::Plugins::SignatureV4)
80
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
81
+ add_plugin(Aws::Plugins::RequestCompression)
82
+ add_plugin(Aws::Plugins::DefaultsMode)
83
+ add_plugin(Aws::Plugins::RecursionDetection)
84
+ add_plugin(Aws::Plugins::Sign)
77
85
  add_plugin(Aws::Plugins::Protocols::Query)
86
+ add_plugin(Aws::AutoScaling::Plugins::Endpoints)
78
87
 
79
88
  # @overload initialize(options)
80
89
  # @param [Hash] options
@@ -175,10 +184,18 @@ module Aws::AutoScaling
175
184
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
176
185
  # a clock skew correction and retry requests with skewed client clocks.
177
186
  #
187
+ # @option options [String] :defaults_mode ("legacy")
188
+ # See {Aws::DefaultsModeConfiguration} for a list of the
189
+ # accepted modes and the configuration defaults that are included.
190
+ #
178
191
  # @option options [Boolean] :disable_host_prefix_injection (false)
179
192
  # Set to true to disable SDK automatically adding host prefix
180
193
  # to default service endpoint when available.
181
194
  #
195
+ # @option options [Boolean] :disable_request_compression (false)
196
+ # When set to 'true' the request body will not be compressed
197
+ # for supported operations.
198
+ #
182
199
  # @option options [String] :endpoint
183
200
  # The client endpoint is normally constructed from the `:region`
184
201
  # option. You should only configure an `:endpoint` when connecting
@@ -199,6 +216,10 @@ module Aws::AutoScaling
199
216
  # @option options [Boolean] :endpoint_discovery (false)
200
217
  # When set to `true`, endpoint discovery will be enabled for operations when available.
201
218
  #
219
+ # @option options [Boolean] :ignore_configured_endpoint_urls
220
+ # Setting to true disables use of endpoint URLs provided via environment
221
+ # variables and the shared configuration file.
222
+ #
202
223
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
203
224
  # The log formatter.
204
225
  #
@@ -219,6 +240,11 @@ module Aws::AutoScaling
219
240
  # Used when loading credentials from the shared credentials file
220
241
  # at HOME/.aws/credentials. When not specified, 'default' is used.
221
242
  #
243
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
244
+ # The minimum size in bytes that triggers compression for request
245
+ # bodies. The value must be non-negative integer value between 0
246
+ # and 10485780 bytes inclusive.
247
+ #
222
248
  # @option options [Proc] :retry_backoff
223
249
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
224
250
  # This option is only used in the `legacy` retry mode.
@@ -264,6 +290,11 @@ module Aws::AutoScaling
264
290
  # in the future.
265
291
  #
266
292
  #
293
+ # @option options [String] :sdk_ua_app_id
294
+ # A unique and opaque application ID that is appended to the
295
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
296
+ # maximum length of 50.
297
+ #
267
298
  # @option options [String] :secret_access_key
268
299
  #
269
300
  # @option options [String] :session_token
@@ -277,6 +308,19 @@ module Aws::AutoScaling
277
308
  # ** Please note ** When response stubbing is enabled, no HTTP
278
309
  # requests are made, and retries are disabled.
279
310
  #
311
+ # @option options [Aws::TokenProvider] :token_provider
312
+ # A Bearer Token Provider. This can be an instance of any one of the
313
+ # following classes:
314
+ #
315
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
316
+ # tokens.
317
+ #
318
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
319
+ # access token generated from `aws login`.
320
+ #
321
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
322
+ # will be used to search for tokens configured for your profile in shared configuration files.
323
+ #
280
324
  # @option options [Boolean] :use_dualstack_endpoint
281
325
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
282
326
  # will be used if available.
@@ -290,6 +334,9 @@ module Aws::AutoScaling
290
334
  # When `true`, request parameters are validated before
291
335
  # sending the request.
292
336
  #
337
+ # @option options [Aws::AutoScaling::EndpointProvider] :endpoint_provider
338
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::AutoScaling::EndpointParameters`
339
+ #
293
340
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
294
341
  # requests through. Formatted like 'http://proxy.com:123'.
295
342
  #
@@ -297,7 +344,7 @@ module Aws::AutoScaling
297
344
  # seconds to wait when opening a HTTP session before raising a
298
345
  # `Timeout::Error`.
299
346
  #
300
- # @option options [Integer] :http_read_timeout (60) The default
347
+ # @option options [Float] :http_read_timeout (60) The default
301
348
  # number of seconds to wait for response data. This value can
302
349
  # safely be set per-request on the session.
303
350
  #
@@ -313,6 +360,9 @@ module Aws::AutoScaling
313
360
  # disables this behaviour. This value can safely be set per
314
361
  # request on the session.
315
362
  #
363
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
364
+ # in seconds.
365
+ #
316
366
  # @option options [Boolean] :http_wire_trace (false) When `true`,
317
367
  # HTTP debug output will be sent to the `:logger`.
318
368
  #
@@ -395,6 +445,15 @@ module Aws::AutoScaling
395
445
  req.send_request(options)
396
446
  end
397
447
 
448
+ # <note markdown="1"> This API operation is superseded by AttachTrafficSources, which can
449
+ # attach multiple traffic sources types. We recommend using
450
+ # `AttachTrafficSources` to simplify how you manage traffic sources.
451
+ # However, we continue to support `AttachLoadBalancerTargetGroups`. You
452
+ # can use both the original `AttachLoadBalancerTargetGroups` API
453
+ # operation and `AttachTrafficSources` on the same Auto Scaling group.
454
+ #
455
+ # </note>
456
+ #
398
457
  # Attaches one or more target groups to the specified Auto Scaling
399
458
  # group.
400
459
  #
@@ -415,8 +474,9 @@ module Aws::AutoScaling
415
474
  # This operation is additive and does not detach existing target groups
416
475
  # or Classic Load Balancers from the Auto Scaling group.
417
476
  #
418
- # For more information, see [Elastic Load Balancing and Amazon EC2 Auto
419
- # Scaling][1] in the *Amazon EC2 Auto Scaling User Guide*.
477
+ # For more information, see [Use Elastic Load Balancing to distribute
478
+ # traffic across the instances in your Auto Scaling group][1] in the
479
+ # *Amazon EC2 Auto Scaling User Guide*.
420
480
  #
421
481
  #
422
482
  #
@@ -426,7 +486,7 @@ module Aws::AutoScaling
426
486
  # The name of the Auto Scaling group.
427
487
  #
428
488
  # @option params [required, Array<String>] :target_group_arns
429
- # The Amazon Resource Names (ARN) of the target groups. You can specify
489
+ # The Amazon Resource Names (ARNs) of the target groups. You can specify
430
490
  # up to 10 target groups. To get the ARN of a target group, use the
431
491
  # Elastic Load Balancing [DescribeTargetGroups][1] API operation.
432
492
  #
@@ -464,9 +524,12 @@ module Aws::AutoScaling
464
524
  req.send_request(options)
465
525
  end
466
526
 
467
- # <note markdown="1"> To attach an Application Load Balancer, Network Load Balancer, or
468
- # Gateway Load Balancer, use the AttachLoadBalancerTargetGroups API
469
- # operation instead.
527
+ # <note markdown="1"> This API operation is superseded by AttachTrafficSources, which can
528
+ # attach multiple traffic sources types. We recommend using
529
+ # `AttachTrafficSources` to simplify how you manage traffic sources.
530
+ # However, we continue to support `AttachLoadBalancers`. You can use
531
+ # both the original `AttachLoadBalancers` API operation and
532
+ # `AttachTrafficSources` on the same Auto Scaling group.
470
533
  #
471
534
  # </note>
472
535
  #
@@ -475,14 +538,15 @@ module Aws::AutoScaling
475
538
  # with these Classic Load Balancers.
476
539
  #
477
540
  # To describe the load balancers for an Auto Scaling group, call the
478
- # DescribeLoadBalancers API. To detach the load balancer from the Auto
541
+ # DescribeLoadBalancers API. To detach a load balancer from the Auto
479
542
  # Scaling group, call the DetachLoadBalancers API.
480
543
  #
481
544
  # This operation is additive and does not detach existing Classic Load
482
545
  # Balancers or target groups from the Auto Scaling group.
483
546
  #
484
- # For more information, see [Elastic Load Balancing and Amazon EC2 Auto
485
- # Scaling][1] in the *Amazon EC2 Auto Scaling User Guide*.
547
+ # For more information, see [Use Elastic Load Balancing to distribute
548
+ # traffic across the instances in your Auto Scaling group][1] in the
549
+ # *Amazon EC2 Auto Scaling User Guide*.
486
550
  #
487
551
  #
488
552
  #
@@ -525,6 +589,78 @@ module Aws::AutoScaling
525
589
  req.send_request(options)
526
590
  end
527
591
 
592
+ # Attaches one or more traffic sources to the specified Auto Scaling
593
+ # group.
594
+ #
595
+ # You can use any of the following as traffic sources for an Auto
596
+ # Scaling group:
597
+ #
598
+ # * Application Load Balancer
599
+ #
600
+ # * Classic Load Balancer
601
+ #
602
+ # * Gateway Load Balancer
603
+ #
604
+ # * Network Load Balancer
605
+ #
606
+ # * VPC Lattice
607
+ #
608
+ # This operation is additive and does not detach existing traffic
609
+ # sources from the Auto Scaling group.
610
+ #
611
+ # After the operation completes, use the DescribeTrafficSources API to
612
+ # return details about the state of the attachments between traffic
613
+ # sources and your Auto Scaling group. To detach a traffic source from
614
+ # the Auto Scaling group, call the DetachTrafficSources API.
615
+ #
616
+ # @option params [required, String] :auto_scaling_group_name
617
+ # The name of the Auto Scaling group.
618
+ #
619
+ # @option params [required, Array<Types::TrafficSourceIdentifier>] :traffic_sources
620
+ # The unique identifiers of one or more traffic sources. You can specify
621
+ # up to 10 traffic sources.
622
+ #
623
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
624
+ #
625
+ #
626
+ # @example Example: To attach a target group to an Auto Scaling group
627
+ #
628
+ # # This example attaches the specified target group to the specified Auto Scaling group.
629
+ #
630
+ # resp = client.attach_traffic_sources({
631
+ # auto_scaling_group_name: "my-auto-scaling-group",
632
+ # traffic_sources: [
633
+ # {
634
+ # identifier: "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067",
635
+ # },
636
+ # ],
637
+ # })
638
+ #
639
+ # resp.to_h outputs the following:
640
+ # {
641
+ # }
642
+ #
643
+ # @example Request syntax with placeholder values
644
+ #
645
+ # resp = client.attach_traffic_sources({
646
+ # auto_scaling_group_name: "XmlStringMaxLen255", # required
647
+ # traffic_sources: [ # required
648
+ # {
649
+ # identifier: "XmlStringMaxLen511", # required
650
+ # type: "XmlStringMaxLen511",
651
+ # },
652
+ # ],
653
+ # })
654
+ #
655
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/AttachTrafficSources AWS API Documentation
656
+ #
657
+ # @overload attach_traffic_sources(params = {})
658
+ # @param [Hash] params ({})
659
+ def attach_traffic_sources(params = {}, options = {})
660
+ req = build_request(:attach_traffic_sources, params)
661
+ req.send_request(options)
662
+ end
663
+
528
664
  # Deletes one or more scheduled actions for the specified Auto Scaling
529
665
  # group.
530
666
  #
@@ -609,14 +745,18 @@ module Aws::AutoScaling
609
745
  req.send_request(options)
610
746
  end
611
747
 
612
- # Cancels an instance refresh operation in progress. Cancellation does
613
- # not roll back any replacements that have already been completed, but
614
- # it prevents new replacements from being started.
748
+ # Cancels an instance refresh or rollback that is in progress. If an
749
+ # instance refresh or rollback is not in progress, an
750
+ # `ActiveInstanceRefreshNotFound` error occurs.
615
751
  #
616
752
  # This operation is part of the [instance refresh feature][1] in Amazon
617
753
  # EC2 Auto Scaling, which helps you update instances in your Auto
618
754
  # Scaling group after you make configuration changes.
619
755
  #
756
+ # When you cancel an instance refresh, this does not roll back any
757
+ # changes that it made. Use the RollbackInstanceRefresh API to roll back
758
+ # instead.
759
+ #
620
760
  #
621
761
  #
622
762
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-refresh.html
@@ -667,30 +807,34 @@ module Aws::AutoScaling
667
807
  # This step is a part of the procedure for adding a lifecycle hook to an
668
808
  # Auto Scaling group:
669
809
  #
670
- # 1. (Optional) Create a Lambda function and a rule that allows Amazon
671
- # EventBridge to invoke your Lambda function when Amazon EC2 Auto
672
- # Scaling launches or terminates instances.
810
+ # 1. (Optional) Create a launch template or launch configuration with a
811
+ # user data script that runs while an instance is in a wait state
812
+ # due to a lifecycle hook.
673
813
  #
674
- # 2. (Optional) Create a notification target and an IAM role. The
814
+ # 2. (Optional) Create a Lambda function and a rule that allows Amazon
815
+ # EventBridge to invoke your Lambda function when an instance is put
816
+ # into a wait state due to a lifecycle hook.
817
+ #
818
+ # 3. (Optional) Create a notification target and an IAM role. The
675
819
  # target can be either an Amazon SQS queue or an Amazon SNS topic.
676
820
  # The role allows Amazon EC2 Auto Scaling to publish lifecycle
677
821
  # notifications to the target.
678
822
  #
679
- # 3. Create the lifecycle hook. Specify whether the hook is used when
823
+ # 4. Create the lifecycle hook. Specify whether the hook is used when
680
824
  # the instances launch or terminate.
681
825
  #
682
- # 4. If you need more time, record the lifecycle action heartbeat to
683
- # keep the instance in a pending state.
826
+ # 5. If you need more time, record the lifecycle action heartbeat to
827
+ # keep the instance in a wait state.
684
828
  #
685
- # 5. **If you finish before the timeout period ends, send a callback by
829
+ # 6. **If you finish before the timeout period ends, send a callback by
686
830
  # using the CompleteLifecycleAction API call.**
687
831
  #
688
- # For more information, see [Amazon EC2 Auto Scaling lifecycle hooks][1]
689
- # in the *Amazon EC2 Auto Scaling User Guide*.
832
+ # For more information, see [Complete a lifecycle action][1] in the
833
+ # *Amazon EC2 Auto Scaling User Guide*.
690
834
  #
691
835
  #
692
836
  #
693
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html
837
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/completing-lifecycle-hooks.html
694
838
  #
695
839
  # @option params [required, String] :lifecycle_hook_name
696
840
  # The name of the lifecycle hook.
@@ -705,8 +849,8 @@ module Aws::AutoScaling
705
849
  # created the lifecycle hook.
706
850
  #
707
851
  # @option params [required, String] :lifecycle_action_result
708
- # The action for the group to take. This parameter can be either
709
- # `CONTINUE` or `ABANDON`.
852
+ # The action for the group to take. You can specify either `CONTINUE` or
853
+ # `ABANDON`.
710
854
  #
711
855
  # @option params [String] :instance_id
712
856
  # The ID of the instance.
@@ -753,8 +897,8 @@ module Aws::AutoScaling
753
897
  #
754
898
  # If you exceed your maximum limit of Auto Scaling groups, the call
755
899
  # fails. To query this limit, call the DescribeAccountLimits API. For
756
- # information about updating this limit, see [Amazon EC2 Auto Scaling
757
- # service quotas][1] in the *Amazon EC2 Auto Scaling User Guide*.
900
+ # information about updating this limit, see [Quotas for Amazon EC2 Auto
901
+ # Scaling][1] in the *Amazon EC2 Auto Scaling User Guide*.
758
902
  #
759
903
  # For introductory exercises for creating an Auto Scaling group, see
760
904
  # [Getting started with Amazon EC2 Auto Scaling][2] and [Tutorial: Set
@@ -762,7 +906,7 @@ module Aws::AutoScaling
762
906
  # Scaling User Guide*. For more information, see [Auto Scaling
763
907
  # groups][4] in the *Amazon EC2 Auto Scaling User Guide*.
764
908
  #
765
- # Every Auto Scaling group has three size parameters (`DesiredCapacity`,
909
+ # Every Auto Scaling group has three size properties (`DesiredCapacity`,
766
910
  # `MaxSize`, and `MinSize`). Usually, you set these sizes based on a
767
911
  # specific number of instances. However, if you configure a mixed
768
912
  # instances policy that defines weights for the instance types, you must
@@ -771,7 +915,7 @@ module Aws::AutoScaling
771
915
  #
772
916
  #
773
917
  #
774
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html
918
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-quotas.html
775
919
  # [2]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/GettingStartedTutorial.html
776
920
  # [3]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-register-lbs-with-asg.html
777
921
  # [4]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroup.html
@@ -780,6 +924,13 @@ module Aws::AutoScaling
780
924
  # The name of the Auto Scaling group. This name must be unique per
781
925
  # Region per account.
782
926
  #
927
+ # The name can contain any ASCII character 33 to 126 including most
928
+ # punctuation characters, digits, and upper and lowercased letters.
929
+ #
930
+ # <note markdown="1"> You cannot use a colon (:) in the name.
931
+ #
932
+ # </note>
933
+ #
783
934
  # @option params [String] :launch_configuration_name
784
935
  # The name of the launch configuration to use to launch instances.
785
936
  #
@@ -788,7 +939,7 @@ module Aws::AutoScaling
788
939
  # (`LaunchConfigurationName` or `InstanceId`).
789
940
  #
790
941
  # @option params [Types::LaunchTemplateSpecification] :launch_template
791
- # Parameters used to specify the launch template and version to use to
942
+ # Information used to specify the launch template and version to use to
792
943
  # launch instances.
793
944
  #
794
945
  # Conditional: You must specify either a launch template
@@ -807,11 +958,9 @@ module Aws::AutoScaling
807
958
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html
808
959
  #
809
960
  # @option params [Types::MixedInstancesPolicy] :mixed_instances_policy
810
- # An embedded object that specifies a mixed instances policy.
811
- #
812
- # For more information, see [Auto Scaling groups with multiple instance
813
- # types and purchase options][1] in the *Amazon EC2 Auto Scaling User
814
- # Guide*.
961
+ # The mixed instances policy. For more information, see [Auto Scaling
962
+ # groups with multiple instance types and purchase options][1] in the
963
+ # *Amazon EC2 Auto Scaling User Guide*.
815
964
  #
816
965
  #
817
966
  #
@@ -855,24 +1004,25 @@ module Aws::AutoScaling
855
1004
  # group.
856
1005
  #
857
1006
  # @option params [Integer] :default_cooldown
858
- # The amount of time, in seconds, after a scaling activity completes
859
- # before another scaling activity can start. The default value is `300`.
860
- # This setting applies when using simple scaling policies, but not when
861
- # using other scaling policies or scheduled scaling. For more
1007
+ # *Only needed if you use simple scaling policies.*
1008
+ #
1009
+ # The amount of time, in seconds, between one scaling activity ending
1010
+ # and another one starting due to simple scaling policies. For more
862
1011
  # information, see [Scaling cooldowns for Amazon EC2 Auto Scaling][1] in
863
1012
  # the *Amazon EC2 Auto Scaling User Guide*.
864
1013
  #
1014
+ # Default: `300` seconds
1015
+ #
865
1016
  #
866
1017
  #
867
1018
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html
868
1019
  #
869
1020
  # @option params [Array<String>] :availability_zones
870
1021
  # A list of Availability Zones where instances in the Auto Scaling group
871
- # can be created. This parameter is optional if you specify one or more
872
- # subnets for `VPCZoneIdentifier`.
873
- #
874
- # Conditional: If your account supports EC2-Classic and VPC, this
875
- # parameter is required to launch instances into EC2-Classic.
1022
+ # can be created. Used for launching into the default VPC subnet in each
1023
+ # Availability Zone when not using the `VPCZoneIdentifier` property, or
1024
+ # for attaching a network interface when an existing network interface
1025
+ # ID is specified in a launch template.
876
1026
  #
877
1027
  # @option params [Array<String>] :load_balancer_names
878
1028
  # A list of Classic Load Balancers associated with this Auto Scaling
@@ -881,23 +1031,27 @@ module Aws::AutoScaling
881
1031
  # instead.
882
1032
  #
883
1033
  # @option params [Array<String>] :target_group_arns
884
- # The Amazon Resource Names (ARN) of the target groups to associate with
885
- # the Auto Scaling group. Instances are registered as targets in a
886
- # target group, and traffic is routed to the target group. For more
887
- # information, see [Elastic Load Balancing and Amazon EC2 Auto
888
- # Scaling][1] in the *Amazon EC2 Auto Scaling User Guide*.
1034
+ # The Amazon Resource Names (ARN) of the Elastic Load Balancing target
1035
+ # groups to associate with the Auto Scaling group. Instances are
1036
+ # registered as targets with the target groups. The target groups
1037
+ # receive incoming traffic and route requests to one or more registered
1038
+ # targets. For more information, see [Use Elastic Load Balancing to
1039
+ # distribute traffic across the instances in your Auto Scaling group][1]
1040
+ # in the *Amazon EC2 Auto Scaling User Guide*.
889
1041
  #
890
1042
  #
891
1043
  #
892
1044
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html
893
1045
  #
894
1046
  # @option params [String] :health_check_type
895
- # The service to use for the health checks. The valid values are `EC2`
896
- # (default) and `ELB`. If you configure an Auto Scaling group to use
897
- # load balancer (ELB) health checks, it considers the instance unhealthy
898
- # if it fails either the EC2 status checks or the load balancer health
899
- # checks. For more information, see [Health checks for Auto Scaling
900
- # instances][1] in the *Amazon EC2 Auto Scaling User Guide*.
1047
+ # A comma-separated value string of one or more health check types.
1048
+ #
1049
+ # The valid values are `EC2`, `ELB`, and `VPC_LATTICE`. `EC2` is the
1050
+ # default health check and cannot be disabled. For more information, see
1051
+ # [Health checks for Auto Scaling instances][1] in the *Amazon EC2 Auto
1052
+ # Scaling User Guide*.
1053
+ #
1054
+ # Only specify `EC2` if you must clear a value that was previously set.
901
1055
  #
902
1056
  #
903
1057
  #
@@ -907,22 +1061,27 @@ module Aws::AutoScaling
907
1061
  # The amount of time, in seconds, that Amazon EC2 Auto Scaling waits
908
1062
  # before checking the health status of an EC2 instance that has come
909
1063
  # into service and marking it unhealthy due to a failed health check.
910
- # The default value is `0`. For more information, see [Health check
911
- # grace period][1] in the *Amazon EC2 Auto Scaling User Guide*.
1064
+ # This is useful if your instances do not immediately pass their health
1065
+ # checks after they enter the `InService` state. For more information,
1066
+ # see [Set the health check grace period for an Auto Scaling group][1]
1067
+ # in the *Amazon EC2 Auto Scaling User Guide*.
912
1068
  #
913
- # Conditional: Required if you are adding an `ELB` health check.
1069
+ # Default: `0` seconds
914
1070
  #
915
1071
  #
916
1072
  #
917
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html#health-check-grace-period
1073
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/health-check-grace-period.html
918
1074
  #
919
1075
  # @option params [String] :placement_group
920
- # The name of an existing placement group into which to launch your
921
- # instances, if any. A placement group is a logical grouping of
922
- # instances within a single Availability Zone. You cannot specify
923
- # multiple Availability Zones and a placement group. For more
924
- # information, see [Placement Groups][1] in the *Amazon EC2 User Guide
925
- # for Linux Instances*.
1076
+ # The name of the placement group into which to launch your instances.
1077
+ # For more information, see [Placement groups][1] in the *Amazon EC2
1078
+ # User Guide for Linux Instances*.
1079
+ #
1080
+ # <note markdown="1"> A *cluster* placement group is a logical grouping of instances within
1081
+ # a single Availability Zone. You cannot specify multiple Availability
1082
+ # Zones and a cluster placement group.
1083
+ #
1084
+ # </note>
926
1085
  #
927
1086
  #
928
1087
  #
@@ -932,22 +1091,22 @@ module Aws::AutoScaling
932
1091
  # A comma-separated list of subnet IDs for a virtual private cloud (VPC)
933
1092
  # where instances in the Auto Scaling group can be created. If you
934
1093
  # specify `VPCZoneIdentifier` with `AvailabilityZones`, the subnets that
935
- # you specify for this parameter must reside in those Availability
936
- # Zones.
937
- #
938
- # Conditional: If your account supports EC2-Classic and VPC, this
939
- # parameter is required to launch instances into a VPC.
1094
+ # you specify must reside in those Availability Zones.
940
1095
  #
941
1096
  # @option params [Array<String>] :termination_policies
942
1097
  # A policy or a list of policies that are used to select the instance to
943
1098
  # terminate. These policies are executed in the order that you list
944
- # them. For more information, see [Controlling which Auto Scaling
945
- # instances terminate during scale in][1] in the *Amazon EC2 Auto
946
- # Scaling User Guide*.
1099
+ # them. For more information, see [Work with Amazon EC2 Auto Scaling
1100
+ # termination policies][1] in the *Amazon EC2 Auto Scaling User Guide*.
947
1101
  #
1102
+ # Valid values: `Default` \| `AllocationStrategy` \|
1103
+ # `ClosestToNextInstanceHour` \| `NewestInstance` \| `OldestInstance` \|
1104
+ # `OldestLaunchConfiguration` \| `OldestLaunchTemplate` \|
1105
+ # `arn:aws:lambda:region:account-id:function:my-function:my-alias`
948
1106
  #
949
1107
  #
950
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html
1108
+ #
1109
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-termination-policies.html
951
1110
  #
952
1111
  # @option params [Boolean] :new_instances_protected_from_scale_in
953
1112
  # Indicates whether newly launched instances are protected from
@@ -966,16 +1125,17 @@ module Aws::AutoScaling
966
1125
  # EC2 Auto Scaling attempts to launch a Spot Instance whenever Amazon
967
1126
  # EC2 notifies that a Spot Instance is at an elevated risk of
968
1127
  # interruption. After launching a new instance, it then terminates an
969
- # old instance. For more information, see [Amazon EC2 Auto Scaling
970
- # Capacity Rebalancing][1] in the *Amazon EC2 Auto Scaling User Guide*.
1128
+ # old instance. For more information, see [Use Capacity Rebalancing to
1129
+ # handle Amazon EC2 Spot Interruptions][1] in the in the *Amazon EC2
1130
+ # Auto Scaling User Guide*.
971
1131
  #
972
1132
  #
973
1133
  #
974
1134
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html
975
1135
  #
976
1136
  # @option params [Array<Types::LifecycleHookSpecification>] :lifecycle_hook_specification_list
977
- # One or more lifecycle hooks for the group, which specify actions to
978
- # perform when Amazon EC2 Auto Scaling launches or terminates instances.
1137
+ # One or more lifecycle hooks to add to the Auto Scaling group before
1138
+ # instances are launched.
979
1139
  #
980
1140
  # @option params [Array<Types::Tag>] :tags
981
1141
  # One or more tags. You can tag your Auto Scaling group and propagate
@@ -985,19 +1145,19 @@ module Aws::AutoScaling
985
1145
  # template specifies an instance tag with a key that is also specified
986
1146
  # for the Auto Scaling group, Amazon EC2 Auto Scaling overrides the
987
1147
  # value of that instance tag with the value specified by the Auto
988
- # Scaling group. For more information, see [Tagging Auto Scaling groups
989
- # and instances][1] in the *Amazon EC2 Auto Scaling User Guide*.
1148
+ # Scaling group. For more information, see [Tag Auto Scaling groups and
1149
+ # instances][1] in the *Amazon EC2 Auto Scaling User Guide*.
990
1150
  #
991
1151
  #
992
1152
  #
993
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html
1153
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-tagging.html
994
1154
  #
995
1155
  # @option params [String] :service_linked_role_arn
996
1156
  # The Amazon Resource Name (ARN) of the service-linked role that the
997
- # Auto Scaling group uses to call other Amazon Web Services on your
998
- # behalf. By default, Amazon EC2 Auto Scaling uses a service-linked role
999
- # named `AWSServiceRoleForAutoScaling`, which it creates if it does not
1000
- # exist. For more information, see [Service-linked roles][1] in the
1157
+ # Auto Scaling group uses to call other Amazon Web Services service on
1158
+ # your behalf. By default, Amazon EC2 Auto Scaling uses a service-linked
1159
+ # role named `AWSServiceRoleForAutoScaling`, which it creates if it does
1160
+ # not exist. For more information, see [Service-linked roles][1] in the
1001
1161
  # *Amazon EC2 Auto Scaling User Guide*.
1002
1162
  #
1003
1163
  #
@@ -1034,6 +1194,39 @@ module Aws::AutoScaling
1034
1194
  #
1035
1195
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html
1036
1196
  #
1197
+ # @option params [Integer] :default_instance_warmup
1198
+ # The amount of time, in seconds, until a new instance is considered to
1199
+ # have finished initializing and resource consumption to become stable
1200
+ # after it enters the `InService` state.
1201
+ #
1202
+ # During an instance refresh, Amazon EC2 Auto Scaling waits for the
1203
+ # warm-up period after it replaces an instance before it moves on to
1204
+ # replacing the next instance. Amazon EC2 Auto Scaling also waits for
1205
+ # the warm-up period before aggregating the metrics for new instances
1206
+ # with existing instances in the Amazon CloudWatch metrics that are used
1207
+ # for scaling, resulting in more reliable usage data. For more
1208
+ # information, see [Set the default instance warmup for an Auto Scaling
1209
+ # group][1] in the *Amazon EC2 Auto Scaling User Guide*.
1210
+ #
1211
+ # To manage various warm-up settings at the group level, we recommend
1212
+ # that you set the default instance warmup, *even if it is set to 0
1213
+ # seconds*. To remove a value that you previously set, include the
1214
+ # property but specify `-1` for the value. However, we strongly
1215
+ # recommend keeping the default instance warmup enabled by specifying a
1216
+ # value of `0` or other nominal value.
1217
+ #
1218
+ # Default: None
1219
+ #
1220
+ #
1221
+ #
1222
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-default-instance-warmup.html
1223
+ #
1224
+ # @option params [Array<Types::TrafficSourceIdentifier>] :traffic_sources
1225
+ # The list of traffic sources to attach to this Auto Scaling group. You
1226
+ # can use any of the following as traffic sources for an Auto Scaling
1227
+ # group: Classic Load Balancer, Application Load Balancer, Gateway Load
1228
+ # Balancer, Network Load Balancer, and VPC Lattice.
1229
+ #
1037
1230
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1038
1231
  #
1039
1232
  #
@@ -1043,9 +1236,10 @@ module Aws::AutoScaling
1043
1236
  #
1044
1237
  # resp = client.create_auto_scaling_group({
1045
1238
  # auto_scaling_group_name: "my-auto-scaling-group",
1239
+ # default_instance_warmup: 120,
1046
1240
  # launch_template: {
1047
- # launch_template_id: "lt-0a20c965061f64abc",
1048
- # version: "$Latest",
1241
+ # launch_template_name: "my-template-for-auto-scaling",
1242
+ # version: "$Default",
1049
1243
  # },
1050
1244
  # max_instance_lifetime: 2592000,
1051
1245
  # max_size: 3,
@@ -1062,7 +1256,7 @@ module Aws::AutoScaling
1062
1256
  # health_check_grace_period: 300,
1063
1257
  # health_check_type: "ELB",
1064
1258
  # launch_template: {
1065
- # launch_template_id: "lt-0a20c965061f64abc",
1259
+ # launch_template_name: "my-template-for-auto-scaling",
1066
1260
  # version: "$Default",
1067
1261
  # },
1068
1262
  # max_size: 3,
@@ -1087,19 +1281,19 @@ module Aws::AutoScaling
1087
1281
  # instances_distribution: {
1088
1282
  # on_demand_base_capacity: 1,
1089
1283
  # on_demand_percentage_above_base_capacity: 50,
1090
- # spot_allocation_strategy: "capacity-optimized",
1284
+ # spot_allocation_strategy: "price-capacity-optimized",
1091
1285
  # },
1092
1286
  # launch_template: {
1093
1287
  # launch_template_specification: {
1094
1288
  # launch_template_name: "my-launch-template-for-x86",
1095
- # version: "$Latest",
1289
+ # version: "$Default",
1096
1290
  # },
1097
1291
  # overrides: [
1098
1292
  # {
1099
1293
  # instance_type: "c6g.large",
1100
1294
  # launch_template_specification: {
1101
1295
  # launch_template_name: "my-launch-template-for-arm",
1102
- # version: "$Latest",
1296
+ # version: "$Default",
1103
1297
  # },
1104
1298
  # },
1105
1299
  # {
@@ -1114,6 +1308,49 @@ module Aws::AutoScaling
1114
1308
  # vpc_zone_identifier: "subnet-057fa0918fEXAMPLE, subnet-610acd08EXAMPLE",
1115
1309
  # })
1116
1310
  #
1311
+ # @example Example: To create an Auto Scaling group using attribute-based instance type selection
1312
+ #
1313
+ # # This example creates an Auto Scaling group using attribute-based instance type selection. It requires the instance types
1314
+ # # to have a minimum of four vCPUs and a maximum of eight vCPUs, a minimum of 16,384 MiB of memory, and an Intel
1315
+ # # manufactured CPU.
1316
+ #
1317
+ # resp = client.create_auto_scaling_group({
1318
+ # auto_scaling_group_name: "my-asg",
1319
+ # desired_capacity: 4,
1320
+ # desired_capacity_type: "units",
1321
+ # max_size: 100,
1322
+ # min_size: 0,
1323
+ # mixed_instances_policy: {
1324
+ # instances_distribution: {
1325
+ # on_demand_percentage_above_base_capacity: 50,
1326
+ # spot_allocation_strategy: "price-capacity-optimized",
1327
+ # },
1328
+ # launch_template: {
1329
+ # launch_template_specification: {
1330
+ # launch_template_name: "my-template-for-auto-scaling",
1331
+ # version: "$Default",
1332
+ # },
1333
+ # overrides: [
1334
+ # {
1335
+ # instance_requirements: {
1336
+ # cpu_manufacturers: [
1337
+ # "intel",
1338
+ # ],
1339
+ # memory_mi_b: {
1340
+ # min: 16384,
1341
+ # },
1342
+ # v_cpu_count: {
1343
+ # max: 8,
1344
+ # min: 4,
1345
+ # },
1346
+ # },
1347
+ # },
1348
+ # ],
1349
+ # },
1350
+ # },
1351
+ # vpc_zone_identifier: "subnet-057fa0918fEXAMPLE, subnet-610acd08EXAMPLE",
1352
+ # })
1353
+ #
1117
1354
  # @example Request syntax with placeholder values
1118
1355
  #
1119
1356
  # resp = client.create_auto_scaling_group({
@@ -1186,6 +1423,11 @@ module Aws::AutoScaling
1186
1423
  # min: 1,
1187
1424
  # max: 1,
1188
1425
  # },
1426
+ # network_bandwidth_gbps: {
1427
+ # min: 1.0,
1428
+ # max: 1.0,
1429
+ # },
1430
+ # allowed_instance_types: ["AllowedInstanceType"],
1189
1431
  # },
1190
1432
  # },
1191
1433
  # ],
@@ -1218,7 +1460,7 @@ module Aws::AutoScaling
1218
1460
  # {
1219
1461
  # lifecycle_hook_name: "AsciiStringMaxLen255", # required
1220
1462
  # lifecycle_transition: "LifecycleTransition", # required
1221
- # notification_metadata: "XmlStringMaxLen1023",
1463
+ # notification_metadata: "AnyPrintableAsciiStringMaxLen4000",
1222
1464
  # heartbeat_timeout: 1,
1223
1465
  # default_result: "LifecycleActionResult",
1224
1466
  # notification_target_arn: "NotificationTargetResourceName",
@@ -1238,6 +1480,13 @@ module Aws::AutoScaling
1238
1480
  # max_instance_lifetime: 1,
1239
1481
  # context: "Context",
1240
1482
  # desired_capacity_type: "XmlStringMaxLen255",
1483
+ # default_instance_warmup: 1,
1484
+ # traffic_sources: [
1485
+ # {
1486
+ # identifier: "XmlStringMaxLen511", # required
1487
+ # type: "XmlStringMaxLen511",
1488
+ # },
1489
+ # ],
1241
1490
  # })
1242
1491
  #
1243
1492
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/CreateAutoScalingGroup AWS API Documentation
@@ -1253,16 +1502,27 @@ module Aws::AutoScaling
1253
1502
  #
1254
1503
  # If you exceed your maximum limit of launch configurations, the call
1255
1504
  # fails. To query this limit, call the DescribeAccountLimits API. For
1256
- # information about updating this limit, see [Amazon EC2 Auto Scaling
1257
- # service quotas][1] in the *Amazon EC2 Auto Scaling User Guide*.
1505
+ # information about updating this limit, see [Quotas for Amazon EC2 Auto
1506
+ # Scaling][1] in the *Amazon EC2 Auto Scaling User Guide*.
1258
1507
  #
1259
1508
  # For more information, see [Launch configurations][2] in the *Amazon
1260
1509
  # EC2 Auto Scaling User Guide*.
1261
1510
  #
1511
+ # <note markdown="1"> Amazon EC2 Auto Scaling configures instances launched as part of an
1512
+ # Auto Scaling group using either a launch template or a launch
1513
+ # configuration. We strongly recommend that you do not use launch
1514
+ # configurations. They do not provide full functionality for Amazon EC2
1515
+ # Auto Scaling or Amazon EC2. For information about using launch
1516
+ # templates, see [Launch templates][3] in the *Amazon EC2 Auto Scaling
1517
+ # User Guide*.
1518
+ #
1519
+ # </note>
1520
+ #
1262
1521
  #
1263
1522
  #
1264
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html
1523
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-quotas.html
1265
1524
  # [2]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/LaunchConfiguration.html
1525
+ # [3]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-templates.html
1266
1526
  #
1267
1527
  # @option params [required, String] :launch_configuration_name
1268
1528
  # The name of the launch configuration. This name must be unique per
@@ -1270,68 +1530,39 @@ module Aws::AutoScaling
1270
1530
  #
1271
1531
  # @option params [String] :image_id
1272
1532
  # The ID of the Amazon Machine Image (AMI) that was assigned during
1273
- # registration. For more information, see [Finding an AMI][1] in the
1274
- # *Amazon EC2 User Guide for Linux Instances*.
1533
+ # registration. For more information, see [Finding a Linux AMI][1] in
1534
+ # the *Amazon EC2 User Guide for Linux Instances*.
1275
1535
  #
1276
- # If you do not specify `InstanceId`, you must specify `ImageId`.
1536
+ # If you specify `InstanceId`, an `ImageId` is not required.
1277
1537
  #
1278
1538
  #
1279
1539
  #
1280
1540
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html
1281
1541
  #
1282
1542
  # @option params [String] :key_name
1283
- # The name of the key pair. For more information, see [Amazon EC2 Key
1284
- # Pairs][1] in the *Amazon EC2 User Guide for Linux Instances*.
1543
+ # The name of the key pair. For more information, see [Amazon EC2 key
1544
+ # pairs and Linux instances][1] in the *Amazon EC2 User Guide for Linux
1545
+ # Instances*.
1285
1546
  #
1286
1547
  #
1287
1548
  #
1288
1549
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html
1289
1550
  #
1290
1551
  # @option params [Array<String>] :security_groups
1291
- # A list that contains the security groups to assign to the instances in
1292
- # the Auto Scaling group.
1293
- #
1294
- # \[EC2-VPC\] Specify the security group IDs. For more information, see
1295
- # [Security Groups for Your VPC][1] in the *Amazon Virtual Private Cloud
1296
- # User Guide*.
1297
- #
1298
- # \[EC2-Classic\] Specify either the security group names or the
1299
- # security group IDs. For more information, see [Amazon EC2 Security
1300
- # Groups][2] in the *Amazon EC2 User Guide for Linux Instances*.
1552
+ # A list that contains the security group IDs to assign to the instances
1553
+ # in the Auto Scaling group. For more information, see [Control traffic
1554
+ # to resources using security groups][1] in the *Amazon Virtual Private
1555
+ # Cloud User Guide*.
1301
1556
  #
1302
1557
  #
1303
1558
  #
1304
1559
  # [1]: https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html
1305
- # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html
1306
1560
  #
1307
1561
  # @option params [String] :classic_link_vpc_id
1308
- # The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances
1309
- # to. For more information, see [ClassicLink][1] in the *Amazon EC2 User
1310
- # Guide for Linux Instances* and [Linking EC2-Classic instances to a
1311
- # VPC][2] in the *Amazon EC2 Auto Scaling User Guide*.
1312
- #
1313
- # This parameter can only be used if you are launching EC2-Classic
1314
- # instances.
1315
- #
1316
- #
1317
- #
1318
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html
1319
- # [2]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink
1562
+ # Available for backward compatibility.
1320
1563
  #
1321
1564
  # @option params [Array<String>] :classic_link_vpc_security_groups
1322
- # The IDs of one or more security groups for the specified
1323
- # ClassicLink-enabled VPC. For more information, see [ClassicLink][1] in
1324
- # the *Amazon EC2 User Guide for Linux Instances* and [Linking
1325
- # EC2-Classic instances to a VPC][2] in the *Amazon EC2 Auto Scaling
1326
- # User Guide*.
1327
- #
1328
- # If you specify the `ClassicLinkVPCId` parameter, you must specify this
1329
- # parameter.
1330
- #
1331
- #
1332
- #
1333
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html
1334
- # [2]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html#as-ClassicLink
1565
+ # Available for backward compatibility.
1335
1566
  #
1336
1567
  # @option params [String] :user_data
1337
1568
  # The user data to make available to the launched EC2 instances. For
@@ -1358,20 +1589,16 @@ module Aws::AutoScaling
1358
1589
  # For more information, see [Creating a launch configuration using an
1359
1590
  # EC2 instance][1] in the *Amazon EC2 Auto Scaling User Guide*.
1360
1591
  #
1361
- # If you do not specify `InstanceId`, you must specify both `ImageId`
1362
- # and `InstanceType`.
1363
- #
1364
1592
  #
1365
1593
  #
1366
1594
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-lc-with-instanceID.html
1367
1595
  #
1368
1596
  # @option params [String] :instance_type
1369
- # Specifies the instance type of the EC2 instance.
1370
- #
1371
- # For information about available instance types, see [Available
1372
- # Instance Types][1] in the *Amazon EC2 User Guide for Linux Instances*.
1597
+ # Specifies the instance type of the EC2 instance. For information about
1598
+ # available instance types, see [Available instance types][1] in the
1599
+ # *Amazon EC2 User Guide for Linux Instances*.
1373
1600
  #
1374
- # If you do not specify `InstanceId`, you must specify `InstanceType`.
1601
+ # If you specify `InstanceId`, an `InstanceType` is not required.
1375
1602
  #
1376
1603
  #
1377
1604
  #
@@ -1380,13 +1607,34 @@ module Aws::AutoScaling
1380
1607
  # @option params [String] :kernel_id
1381
1608
  # The ID of the kernel associated with the AMI.
1382
1609
  #
1610
+ # <note markdown="1"> We recommend that you use PV-GRUB instead of kernels and RAM disks.
1611
+ # For more information, see [User provided kernels][1] in the *Amazon
1612
+ # EC2 User Guide for Linux Instances*.
1613
+ #
1614
+ # </note>
1615
+ #
1616
+ #
1617
+ #
1618
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html
1619
+ #
1383
1620
  # @option params [String] :ramdisk_id
1384
1621
  # The ID of the RAM disk to select.
1385
1622
  #
1623
+ # <note markdown="1"> We recommend that you use PV-GRUB instead of kernels and RAM disks.
1624
+ # For more information, see [User provided kernels][1] in the *Amazon
1625
+ # EC2 User Guide for Linux Instances*.
1626
+ #
1627
+ # </note>
1628
+ #
1629
+ #
1630
+ #
1631
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html
1632
+ #
1386
1633
  # @option params [Array<Types::BlockDeviceMapping>] :block_device_mappings
1387
- # A block device mapping, which specifies the block devices for the
1388
- # instance. You can specify virtual devices and EBS volumes. For more
1389
- # information, see [Block Device Mapping][1] in the *Amazon EC2 User
1634
+ # The block device mapping entries that define the block devices to
1635
+ # attach to the instances at launch. By default, the block devices
1636
+ # specified in the block device mapping for the AMI are used. For more
1637
+ # information, see [Block device mappings][1] in the *Amazon EC2 User
1390
1638
  # Guide for Linux Instances*.
1391
1639
  #
1392
1640
  #
@@ -1413,8 +1661,10 @@ module Aws::AutoScaling
1413
1661
  # The maximum hourly price to be paid for any Spot Instance launched to
1414
1662
  # fulfill the request. Spot Instances are launched when the price you
1415
1663
  # specify exceeds the current Spot price. For more information, see
1416
- # [Requesting Spot Instances][1] in the *Amazon EC2 Auto Scaling User
1417
- # Guide*.
1664
+ # [Request Spot Instances for fault-tolerant and flexible
1665
+ # applications][1] in the *Amazon EC2 Auto Scaling User Guide*.
1666
+ #
1667
+ # Valid Range: Minimum value of 0.001
1418
1668
  #
1419
1669
  # <note markdown="1"> When you change your maximum price by creating a new launch
1420
1670
  # configuration, running instances will continue to run as long as the
@@ -1425,15 +1675,14 @@ module Aws::AutoScaling
1425
1675
  #
1426
1676
  #
1427
1677
  #
1428
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-launch-spot-instances.html
1678
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-template-spot-instances.html
1429
1679
  #
1430
1680
  # @option params [String] :iam_instance_profile
1431
1681
  # The name or the Amazon Resource Name (ARN) of the instance profile
1432
1682
  # associated with the IAM role for the instance. The instance profile
1433
- # contains the IAM role.
1434
- #
1435
- # For more information, see [IAM role for applications that run on
1436
- # Amazon EC2 instances][1] in the *Amazon EC2 Auto Scaling User Guide*.
1683
+ # contains the IAM role. For more information, see [IAM role for
1684
+ # applications that run on Amazon EC2 instances][1] in the *Amazon EC2
1685
+ # Auto Scaling User Guide*.
1437
1686
  #
1438
1687
  #
1439
1688
  #
@@ -1456,45 +1705,40 @@ module Aws::AutoScaling
1456
1705
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html
1457
1706
  #
1458
1707
  # @option params [Boolean] :associate_public_ip_address
1459
- # For Auto Scaling groups that are running in a virtual private cloud
1460
- # (VPC), specifies whether to assign a public IP address to the group's
1461
- # instances. If you specify `true`, each instance in the Auto Scaling
1462
- # group receives a unique public IP address. For more information, see
1708
+ # Specifies whether to assign a public IPv4 address to the group's
1709
+ # instances. If the instance is launched into a default subnet, the
1710
+ # default is to assign a public IPv4 address, unless you disabled the
1711
+ # option to assign a public IPv4 address on the subnet. If the instance
1712
+ # is launched into a nondefault subnet, the default is not to assign a
1713
+ # public IPv4 address, unless you enabled the option to assign a public
1714
+ # IPv4 address on the subnet.
1715
+ #
1716
+ # If you specify `true`, each instance in the Auto Scaling group
1717
+ # receives a unique public IPv4 address. For more information, see
1463
1718
  # [Launching Auto Scaling instances in a VPC][1] in the *Amazon EC2 Auto
1464
1719
  # Scaling User Guide*.
1465
1720
  #
1466
- # If you specify this parameter, you must specify at least one subnet
1467
- # for `VPCZoneIdentifier` when you create your group.
1468
- #
1469
- # <note markdown="1"> If the instance is launched into a default subnet, the default is to
1470
- # assign a public IP address, unless you disabled the option to assign a
1471
- # public IP address on the subnet. If the instance is launched into a
1472
- # nondefault subnet, the default is not to assign a public IP address,
1473
- # unless you enabled the option to assign a public IP address on the
1474
- # subnet.
1475
- #
1476
- # </note>
1721
+ # If you specify this property, you must specify at least one subnet for
1722
+ # `VPCZoneIdentifier` when you create your group.
1477
1723
  #
1478
1724
  #
1479
1725
  #
1480
1726
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-in-vpc.html
1481
1727
  #
1482
1728
  # @option params [String] :placement_tenancy
1483
- # The tenancy of the instance. An instance with `dedicated` tenancy runs
1484
- # on isolated, single-tenant hardware and can only be launched into a
1485
- # VPC.
1486
- #
1487
- # To launch dedicated instances into a shared tenancy VPC (a VPC with
1488
- # the instance placement tenancy attribute set to `default`), you must
1489
- # set the value of this parameter to `dedicated`.
1729
+ # The tenancy of the instance, either `default` or `dedicated`. An
1730
+ # instance with `dedicated` tenancy runs on isolated, single-tenant
1731
+ # hardware and can only be launched into a VPC. To launch dedicated
1732
+ # instances into a shared tenancy VPC (a VPC with the instance placement
1733
+ # tenancy attribute set to `default`), you must set the value of this
1734
+ # property to `dedicated`. For more information, see [Configuring
1735
+ # instance tenancy with Amazon EC2 Auto Scaling][1] in the *Amazon EC2
1736
+ # Auto Scaling User Guide*.
1490
1737
  #
1491
1738
  # If you specify `PlacementTenancy`, you must specify at least one
1492
1739
  # subnet for `VPCZoneIdentifier` when you create your group.
1493
1740
  #
1494
- # For more information, see [Configuring instance tenancy with Amazon
1495
- # EC2 Auto Scaling][1] in the *Amazon EC2 Auto Scaling User Guide*.
1496
- #
1497
- # Valid Values: `default` \| `dedicated`
1741
+ # Valid values: `default` \| `dedicated`
1498
1742
  #
1499
1743
  #
1500
1744
  #
@@ -1586,12 +1830,12 @@ module Aws::AutoScaling
1586
1830
  # overwrites the previous tag definition, and you do not get an error
1587
1831
  # message.
1588
1832
  #
1589
- # For more information, see [Tagging Auto Scaling groups and
1590
- # instances][1] in the *Amazon EC2 Auto Scaling User Guide*.
1833
+ # For more information, see [Tag Auto Scaling groups and instances][1]
1834
+ # in the *Amazon EC2 Auto Scaling User Guide*.
1591
1835
  #
1592
1836
  #
1593
1837
  #
1594
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html
1838
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-tagging.html
1595
1839
  #
1596
1840
  # @option params [required, Array<Types::Tag>] :tags
1597
1841
  # One or more tags.
@@ -1649,10 +1893,9 @@ module Aws::AutoScaling
1649
1893
  #
1650
1894
  # If the group has instances or scaling activities in progress, you must
1651
1895
  # specify the option to force the deletion in order for it to succeed.
1652
- #
1653
- # If the group has policies, deleting the group deletes the policies,
1654
- # the underlying alarm actions, and any alarm that no longer has an
1655
- # associated action.
1896
+ # The force delete operation will also terminate the EC2 instances. If
1897
+ # the group has a warm pool, the force delete option also deletes the
1898
+ # warm pool.
1656
1899
  #
1657
1900
  # To remove instances from the Auto Scaling group before deleting it,
1658
1901
  # call the DetachInstances API with the list of instances and the option
@@ -1663,14 +1906,25 @@ module Aws::AutoScaling
1663
1906
  # call the UpdateAutoScalingGroup API and set the minimum size and
1664
1907
  # desired capacity of the Auto Scaling group to zero.
1665
1908
  #
1909
+ # If the group has scaling policies, deleting the group deletes the
1910
+ # policies, the underlying alarm actions, and any alarm that no longer
1911
+ # has an associated action.
1912
+ #
1913
+ # For more information, see [Delete your Auto Scaling infrastructure][1]
1914
+ # in the *Amazon EC2 Auto Scaling User Guide*.
1915
+ #
1916
+ #
1917
+ #
1918
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-process-shutdown.html
1919
+ #
1666
1920
  # @option params [required, String] :auto_scaling_group_name
1667
1921
  # The name of the Auto Scaling group.
1668
1922
  #
1669
1923
  # @option params [Boolean] :force_delete
1670
1924
  # Specifies that the group is to be deleted along with all instances
1671
1925
  # associated with the group, without waiting for all instances to be
1672
- # terminated. This parameter also deletes any outstanding lifecycle
1673
- # actions associated with the group.
1926
+ # terminated. This action also deletes any outstanding lifecycle actions
1927
+ # associated with the group.
1674
1928
  #
1675
1929
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1676
1930
  #
@@ -1990,12 +2244,12 @@ module Aws::AutoScaling
1990
2244
  # When you establish an Amazon Web Services account, the account has
1991
2245
  # initial quotas on the maximum number of Auto Scaling groups and launch
1992
2246
  # configurations that you can create in a given Region. For more
1993
- # information, see [Amazon EC2 Auto Scaling service quotas][1] in the
2247
+ # information, see [Quotas for Amazon EC2 Auto Scaling][1] in the
1994
2248
  # *Amazon EC2 Auto Scaling User Guide*.
1995
2249
  #
1996
2250
  #
1997
2251
  #
1998
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-account-limits.html
2252
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-quotas.html
1999
2253
  #
2000
2254
  # @return [Types::DescribeAccountLimitsAnswer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2001
2255
  #
@@ -2105,9 +2359,9 @@ module Aws::AutoScaling
2105
2359
  # @option params [Array<String>] :auto_scaling_group_names
2106
2360
  # The names of the Auto Scaling groups. By default, you can only specify
2107
2361
  # up to 50 names. You can optionally increase this limit using the
2108
- # `MaxRecords` parameter.
2362
+ # `MaxRecords` property.
2109
2363
  #
2110
- # If you omit this parameter, all Auto Scaling groups are described.
2364
+ # If you omit this property, all Auto Scaling groups are described.
2111
2365
  #
2112
2366
  # @option params [String] :next_token
2113
2367
  # The token for the next set of items to return. (You received this
@@ -2142,14 +2396,16 @@ module Aws::AutoScaling
2142
2396
  # {
2143
2397
  # auto_scaling_groups: [
2144
2398
  # {
2145
- # auto_scaling_group_arn: "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:930d940e-891e-4781-a11a-7b0acd480f03:autoScalingGroupName/my-auto-scaling-group",
2399
+ # auto_scaling_group_arn: "arn:aws:autoscaling:us-west-1:123456789012:autoScalingGroup:12345678-1234-1234-1234-123456789012:autoScalingGroupName/my-auto-scaling-group",
2146
2400
  # auto_scaling_group_name: "my-auto-scaling-group",
2147
2401
  # availability_zones: [
2402
+ # "us-west-2a",
2403
+ # "us-west-2b",
2148
2404
  # "us-west-2c",
2149
2405
  # ],
2150
- # created_time: Time.parse("2013-08-19T20:53:25.584Z"),
2406
+ # created_time: Time.parse("2023-03-09T22:15:11.611Z"),
2151
2407
  # default_cooldown: 300,
2152
- # desired_capacity: 1,
2408
+ # desired_capacity: 2,
2153
2409
  # enabled_metrics: [
2154
2410
  # ],
2155
2411
  # health_check_grace_period: 300,
@@ -2158,7 +2414,17 @@ module Aws::AutoScaling
2158
2414
  # {
2159
2415
  # availability_zone: "us-west-2c",
2160
2416
  # health_status: "Healthy",
2161
- # instance_id: "i-4ba0837f",
2417
+ # instance_id: "i-05b4f7d5be44822a6",
2418
+ # instance_type: "t3.micro",
2419
+ # launch_configuration_name: "my-launch-config",
2420
+ # lifecycle_state: "InService",
2421
+ # protected_from_scale_in: false,
2422
+ # },
2423
+ # {
2424
+ # availability_zone: "us-west-2b",
2425
+ # health_status: "Healthy",
2426
+ # instance_id: "i-0c20ac468fa3049e8",
2427
+ # instance_type: "t3.micro",
2162
2428
  # launch_configuration_name: "my-launch-config",
2163
2429
  # lifecycle_state: "InService",
2164
2430
  # protected_from_scale_in: false,
@@ -2167,17 +2433,22 @@ module Aws::AutoScaling
2167
2433
  # launch_configuration_name: "my-launch-config",
2168
2434
  # load_balancer_names: [
2169
2435
  # ],
2170
- # max_size: 1,
2171
- # min_size: 0,
2436
+ # max_size: 5,
2437
+ # min_size: 1,
2172
2438
  # new_instances_protected_from_scale_in: false,
2439
+ # service_linked_role_arn: "arn:aws:iam::123456789012:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling",
2173
2440
  # suspended_processes: [
2174
2441
  # ],
2175
2442
  # tags: [
2176
2443
  # ],
2444
+ # target_group_arns: [
2445
+ # ],
2177
2446
  # termination_policies: [
2178
2447
  # "Default",
2179
2448
  # ],
2180
- # vpc_zone_identifier: "subnet-12345678",
2449
+ # traffic_sources: [
2450
+ # ],
2451
+ # vpc_zone_identifier: "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782",
2181
2452
  # },
2182
2453
  # ],
2183
2454
  # }
@@ -2250,6 +2521,10 @@ module Aws::AutoScaling
2250
2521
  # resp.auto_scaling_groups[0].mixed_instances_policy.launch_template.overrides[0].instance_requirements.accelerator_names[0] #=> String, one of "a100", "v100", "k80", "t4", "m60", "radeon-pro-v520", "vu9p"
2251
2522
  # resp.auto_scaling_groups[0].mixed_instances_policy.launch_template.overrides[0].instance_requirements.accelerator_total_memory_mi_b.min #=> Integer
2252
2523
  # resp.auto_scaling_groups[0].mixed_instances_policy.launch_template.overrides[0].instance_requirements.accelerator_total_memory_mi_b.max #=> Integer
2524
+ # resp.auto_scaling_groups[0].mixed_instances_policy.launch_template.overrides[0].instance_requirements.network_bandwidth_gbps.min #=> Float
2525
+ # resp.auto_scaling_groups[0].mixed_instances_policy.launch_template.overrides[0].instance_requirements.network_bandwidth_gbps.max #=> Float
2526
+ # resp.auto_scaling_groups[0].mixed_instances_policy.launch_template.overrides[0].instance_requirements.allowed_instance_types #=> Array
2527
+ # resp.auto_scaling_groups[0].mixed_instances_policy.launch_template.overrides[0].instance_requirements.allowed_instance_types[0] #=> String
2253
2528
  # resp.auto_scaling_groups[0].mixed_instances_policy.instances_distribution.on_demand_allocation_strategy #=> String
2254
2529
  # resp.auto_scaling_groups[0].mixed_instances_policy.instances_distribution.on_demand_base_capacity #=> Integer
2255
2530
  # resp.auto_scaling_groups[0].mixed_instances_policy.instances_distribution.on_demand_percentage_above_base_capacity #=> Integer
@@ -2273,7 +2548,7 @@ module Aws::AutoScaling
2273
2548
  # resp.auto_scaling_groups[0].instances[0].instance_id #=> String
2274
2549
  # resp.auto_scaling_groups[0].instances[0].instance_type #=> String
2275
2550
  # resp.auto_scaling_groups[0].instances[0].availability_zone #=> String
2276
- # resp.auto_scaling_groups[0].instances[0].lifecycle_state #=> String, one of "Pending", "Pending:Wait", "Pending:Proceed", "Quarantined", "InService", "Terminating", "Terminating:Wait", "Terminating:Proceed", "Terminated", "Detaching", "Detached", "EnteringStandby", "Standby", "Warmed:Pending", "Warmed:Pending:Wait", "Warmed:Pending:Proceed", "Warmed:Terminating", "Warmed:Terminating:Wait", "Warmed:Terminating:Proceed", "Warmed:Terminated", "Warmed:Stopped", "Warmed:Running"
2551
+ # resp.auto_scaling_groups[0].instances[0].lifecycle_state #=> String, one of "Pending", "Pending:Wait", "Pending:Proceed", "Quarantined", "InService", "Terminating", "Terminating:Wait", "Terminating:Proceed", "Terminated", "Detaching", "Detached", "EnteringStandby", "Standby", "Warmed:Pending", "Warmed:Pending:Wait", "Warmed:Pending:Proceed", "Warmed:Terminating", "Warmed:Terminating:Wait", "Warmed:Terminating:Proceed", "Warmed:Terminated", "Warmed:Stopped", "Warmed:Running", "Warmed:Hibernated"
2277
2552
  # resp.auto_scaling_groups[0].instances[0].health_status #=> String
2278
2553
  # resp.auto_scaling_groups[0].instances[0].launch_configuration_name #=> String
2279
2554
  # resp.auto_scaling_groups[0].instances[0].launch_template.launch_template_id #=> String
@@ -2305,11 +2580,16 @@ module Aws::AutoScaling
2305
2580
  # resp.auto_scaling_groups[0].capacity_rebalance #=> Boolean
2306
2581
  # resp.auto_scaling_groups[0].warm_pool_configuration.max_group_prepared_capacity #=> Integer
2307
2582
  # resp.auto_scaling_groups[0].warm_pool_configuration.min_size #=> Integer
2308
- # resp.auto_scaling_groups[0].warm_pool_configuration.pool_state #=> String, one of "Stopped", "Running"
2583
+ # resp.auto_scaling_groups[0].warm_pool_configuration.pool_state #=> String, one of "Stopped", "Running", "Hibernated"
2309
2584
  # resp.auto_scaling_groups[0].warm_pool_configuration.status #=> String, one of "PendingDelete"
2585
+ # resp.auto_scaling_groups[0].warm_pool_configuration.instance_reuse_policy.reuse_on_scale_in #=> Boolean
2310
2586
  # resp.auto_scaling_groups[0].warm_pool_size #=> Integer
2311
2587
  # resp.auto_scaling_groups[0].context #=> String
2312
2588
  # resp.auto_scaling_groups[0].desired_capacity_type #=> String
2589
+ # resp.auto_scaling_groups[0].default_instance_warmup #=> Integer
2590
+ # resp.auto_scaling_groups[0].traffic_sources #=> Array
2591
+ # resp.auto_scaling_groups[0].traffic_sources[0].identifier #=> String
2592
+ # resp.auto_scaling_groups[0].traffic_sources[0].type #=> String
2313
2593
  # resp.next_token #=> String
2314
2594
  #
2315
2595
  #
@@ -2332,7 +2612,7 @@ module Aws::AutoScaling
2332
2612
  # Region.
2333
2613
  #
2334
2614
  # @option params [Array<String>] :instance_ids
2335
- # The IDs of the instances. If you omit this parameter, all Auto Scaling
2615
+ # The IDs of the instances. If you omit this property, all Auto Scaling
2336
2616
  # instances are described. If you specify an ID that does not exist, it
2337
2617
  # is ignored with no error.
2338
2618
  #
@@ -2360,7 +2640,7 @@ module Aws::AutoScaling
2360
2640
  #
2361
2641
  # resp = client.describe_auto_scaling_instances({
2362
2642
  # instance_ids: [
2363
- # "i-4ba0837f",
2643
+ # "i-05b4f7d5be44822a6",
2364
2644
  # ],
2365
2645
  # })
2366
2646
  #
@@ -2371,7 +2651,8 @@ module Aws::AutoScaling
2371
2651
  # auto_scaling_group_name: "my-auto-scaling-group",
2372
2652
  # availability_zone: "us-west-2c",
2373
2653
  # health_status: "HEALTHY",
2374
- # instance_id: "i-4ba0837f",
2654
+ # instance_id: "i-05b4f7d5be44822a6",
2655
+ # instance_type: "t3.micro",
2375
2656
  # launch_configuration_name: "my-launch-config",
2376
2657
  # lifecycle_state: "InService",
2377
2658
  # protected_from_scale_in: false,
@@ -2460,29 +2741,14 @@ module Aws::AutoScaling
2460
2741
  # EC2 Auto Scaling, which helps you update instances in your Auto
2461
2742
  # Scaling group after you make configuration changes.
2462
2743
  #
2463
- # To help you determine the status of an instance refresh, this
2464
- # operation returns information about the instance refreshes you
2465
- # previously initiated, including their status, end time, the percentage
2466
- # of the instance refresh that is complete, and the number of instances
2467
- # remaining to update before the instance refresh is complete.
2468
- #
2469
- # The following are the possible statuses:
2470
- #
2471
- # * `Pending` - The request was created, but the operation has not
2472
- # started.
2473
- #
2474
- # * `InProgress` - The operation is in progress.
2475
- #
2476
- # * `Successful` - The operation completed successfully.
2477
- #
2478
- # * `Failed` - The operation failed to complete. You can troubleshoot
2479
- # using the status reason and the scaling activities.
2480
- #
2481
- # * `Cancelling` - An ongoing operation is being cancelled. Cancellation
2482
- # does not roll back any replacements that have already been
2483
- # completed, but it prevents new replacements from being started.
2484
- #
2485
- # * `Cancelled` - The operation is cancelled.
2744
+ # To help you determine the status of an instance refresh, Amazon EC2
2745
+ # Auto Scaling returns information about the instance refreshes you
2746
+ # previously initiated, including their status, start time, end time,
2747
+ # the percentage of the instance refresh that is complete, and the
2748
+ # number of instances remaining to update before the instance refresh is
2749
+ # complete. If a rollback is initiated while an instance refresh is in
2750
+ # progress, Amazon EC2 Auto Scaling also returns information about the
2751
+ # rollback of the instance refresh.
2486
2752
  #
2487
2753
  #
2488
2754
  #
@@ -2507,6 +2773,8 @@ module Aws::AutoScaling
2507
2773
  # * {Types::DescribeInstanceRefreshesAnswer#instance_refreshes #instance_refreshes} => Array&lt;Types::InstanceRefresh&gt;
2508
2774
  # * {Types::DescribeInstanceRefreshesAnswer#next_token #next_token} => String
2509
2775
  #
2776
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2777
+ #
2510
2778
  #
2511
2779
  # @example Example: To list instance refreshes
2512
2780
  #
@@ -2522,18 +2790,45 @@ module Aws::AutoScaling
2522
2790
  # {
2523
2791
  # auto_scaling_group_name: "my-auto-scaling-group",
2524
2792
  # instance_refresh_id: "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b",
2525
- # instances_to_update: 5,
2526
- # percentage_complete: 0,
2527
- # start_time: Time.parse("2020-06-02T18:11:27Z"),
2793
+ # instances_to_update: 0,
2794
+ # percentage_complete: 50,
2795
+ # preferences: {
2796
+ # alarm_specification: {
2797
+ # alarms: [
2798
+ # "my-alarm",
2799
+ # ],
2800
+ # },
2801
+ # auto_rollback: true,
2802
+ # instance_warmup: 200,
2803
+ # min_healthy_percentage: 90,
2804
+ # scale_in_protected_instances: "Ignore",
2805
+ # skip_matching: false,
2806
+ # standby_instances: "Ignore",
2807
+ # },
2808
+ # start_time: Time.parse("2023-06-13T16:46:52+00:00"),
2528
2809
  # status: "InProgress",
2810
+ # status_reason: "Waiting for instances to warm up before continuing. For example: i-0645704820a8e83ff is warming up.",
2529
2811
  # },
2530
2812
  # {
2531
2813
  # auto_scaling_group_name: "my-auto-scaling-group",
2532
- # end_time: Time.parse("2020-06-02T16:53:37Z"),
2533
- # instance_refresh_id: "dd7728d0-5bc4-4575-96a3-1b2c52bf8bb1",
2814
+ # end_time: Time.parse("2023-06-02T13:59:45+00:00"),
2815
+ # instance_refresh_id: "0e151305-1e57-4a32-a256-1fd14157c5ec",
2534
2816
  # instances_to_update: 0,
2535
2817
  # percentage_complete: 100,
2536
- # start_time: Time.parse("2020-06-02T16:43:19Z"),
2818
+ # preferences: {
2819
+ # alarm_specification: {
2820
+ # alarms: [
2821
+ # "my-alarm",
2822
+ # ],
2823
+ # },
2824
+ # auto_rollback: true,
2825
+ # instance_warmup: 200,
2826
+ # min_healthy_percentage: 90,
2827
+ # scale_in_protected_instances: "Ignore",
2828
+ # skip_matching: false,
2829
+ # standby_instances: "Ignore",
2830
+ # },
2831
+ # start_time: Time.parse("2023-06-02T13:53:37+00:00"),
2537
2832
  # status: "Successful",
2538
2833
  # },
2539
2834
  # ],
@@ -2553,7 +2848,7 @@ module Aws::AutoScaling
2553
2848
  # resp.instance_refreshes #=> Array
2554
2849
  # resp.instance_refreshes[0].instance_refresh_id #=> String
2555
2850
  # resp.instance_refreshes[0].auto_scaling_group_name #=> String
2556
- # resp.instance_refreshes[0].status #=> String, one of "Pending", "InProgress", "Successful", "Failed", "Cancelling", "Cancelled"
2851
+ # resp.instance_refreshes[0].status #=> String, one of "Pending", "InProgress", "Successful", "Failed", "Cancelling", "Cancelled", "RollbackInProgress", "RollbackFailed", "RollbackSuccessful"
2557
2852
  # resp.instance_refreshes[0].status_reason #=> String
2558
2853
  # resp.instance_refreshes[0].start_time #=> Time
2559
2854
  # resp.instance_refreshes[0].end_time #=> Time
@@ -2569,6 +2864,11 @@ module Aws::AutoScaling
2569
2864
  # resp.instance_refreshes[0].preferences.checkpoint_percentages[0] #=> Integer
2570
2865
  # resp.instance_refreshes[0].preferences.checkpoint_delay #=> Integer
2571
2866
  # resp.instance_refreshes[0].preferences.skip_matching #=> Boolean
2867
+ # resp.instance_refreshes[0].preferences.auto_rollback #=> Boolean
2868
+ # resp.instance_refreshes[0].preferences.scale_in_protected_instances #=> String, one of "Refresh", "Ignore", "Wait"
2869
+ # resp.instance_refreshes[0].preferences.standby_instances #=> String, one of "Terminate", "Ignore", "Wait"
2870
+ # resp.instance_refreshes[0].preferences.alarm_specification.alarms #=> Array
2871
+ # resp.instance_refreshes[0].preferences.alarm_specification.alarms[0] #=> String
2572
2872
  # resp.instance_refreshes[0].desired_configuration.launch_template.launch_template_id #=> String
2573
2873
  # resp.instance_refreshes[0].desired_configuration.launch_template.launch_template_name #=> String
2574
2874
  # resp.instance_refreshes[0].desired_configuration.launch_template.version #=> String
@@ -2617,12 +2917,24 @@ module Aws::AutoScaling
2617
2917
  # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.launch_template.overrides[0].instance_requirements.accelerator_names[0] #=> String, one of "a100", "v100", "k80", "t4", "m60", "radeon-pro-v520", "vu9p"
2618
2918
  # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.launch_template.overrides[0].instance_requirements.accelerator_total_memory_mi_b.min #=> Integer
2619
2919
  # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.launch_template.overrides[0].instance_requirements.accelerator_total_memory_mi_b.max #=> Integer
2920
+ # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.launch_template.overrides[0].instance_requirements.network_bandwidth_gbps.min #=> Float
2921
+ # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.launch_template.overrides[0].instance_requirements.network_bandwidth_gbps.max #=> Float
2922
+ # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.launch_template.overrides[0].instance_requirements.allowed_instance_types #=> Array
2923
+ # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.launch_template.overrides[0].instance_requirements.allowed_instance_types[0] #=> String
2620
2924
  # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.instances_distribution.on_demand_allocation_strategy #=> String
2621
2925
  # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.instances_distribution.on_demand_base_capacity #=> Integer
2622
2926
  # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.instances_distribution.on_demand_percentage_above_base_capacity #=> Integer
2623
2927
  # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.instances_distribution.spot_allocation_strategy #=> String
2624
2928
  # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.instances_distribution.spot_instance_pools #=> Integer
2625
2929
  # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.instances_distribution.spot_max_price #=> String
2930
+ # resp.instance_refreshes[0].rollback_details.rollback_reason #=> String
2931
+ # resp.instance_refreshes[0].rollback_details.rollback_start_time #=> Time
2932
+ # resp.instance_refreshes[0].rollback_details.percentage_complete_on_rollback #=> Integer
2933
+ # resp.instance_refreshes[0].rollback_details.instances_to_update_on_rollback #=> Integer
2934
+ # resp.instance_refreshes[0].rollback_details.progress_details_on_rollback.live_pool_progress.percentage_complete #=> Integer
2935
+ # resp.instance_refreshes[0].rollback_details.progress_details_on_rollback.live_pool_progress.instances_to_update #=> Integer
2936
+ # resp.instance_refreshes[0].rollback_details.progress_details_on_rollback.warm_pool_progress.percentage_complete #=> Integer
2937
+ # resp.instance_refreshes[0].rollback_details.progress_details_on_rollback.warm_pool_progress.instances_to_update #=> Integer
2626
2938
  # resp.next_token #=> String
2627
2939
  #
2628
2940
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeInstanceRefreshes AWS API Documentation
@@ -2638,7 +2950,7 @@ module Aws::AutoScaling
2638
2950
  # Region.
2639
2951
  #
2640
2952
  # @option params [Array<String>] :launch_configuration_names
2641
- # The launch configuration names. If you omit this parameter, all launch
2953
+ # The launch configuration names. If you omit this property, all launch
2642
2954
  # configurations are described.
2643
2955
  #
2644
2956
  # Array Members: Maximum number of 50 items.
@@ -2797,7 +3109,7 @@ module Aws::AutoScaling
2797
3109
  # The name of the Auto Scaling group.
2798
3110
  #
2799
3111
  # @option params [Array<String>] :lifecycle_hook_names
2800
- # The names of one or more lifecycle hooks. If you omit this parameter,
3112
+ # The names of one or more lifecycle hooks. If you omit this property,
2801
3113
  # all lifecycle hooks are described.
2802
3114
  #
2803
3115
  # @return [Types::DescribeLifecycleHooksAnswer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -2858,12 +3170,21 @@ module Aws::AutoScaling
2858
3170
  req.send_request(options)
2859
3171
  end
2860
3172
 
2861
- # Gets information about the load balancer target groups for the
2862
- # specified Auto Scaling group.
3173
+ # <note markdown="1"> This API operation is superseded by DescribeTrafficSources, which can
3174
+ # describe multiple traffic sources types. We recommend using
3175
+ # `DetachTrafficSources` to simplify how you manage traffic sources.
3176
+ # However, we continue to support `DescribeLoadBalancerTargetGroups`.
3177
+ # You can use both the original `DescribeLoadBalancerTargetGroups` API
3178
+ # operation and `DescribeTrafficSources` on the same Auto Scaling group.
3179
+ #
3180
+ # </note>
2863
3181
  #
2864
- # To determine the availability of registered instances, use the `State`
2865
- # element in the response. When you attach a target group to an Auto
2866
- # Scaling group, the initial `State` value is `Adding`. The state
3182
+ # Gets information about the Elastic Load Balancing target groups for
3183
+ # the specified Auto Scaling group.
3184
+ #
3185
+ # To determine the attachment status of the target group, use the
3186
+ # `State` element in the response. When you attach a target group to an
3187
+ # Auto Scaling group, the initial `State` value is `Adding`. The state
2867
3188
  # transitions to `Added` after all Auto Scaling instances are registered
2868
3189
  # with the target group. If Elastic Load Balancing health checks are
2869
3190
  # enabled for the Auto Scaling group, the state transitions to
@@ -2881,8 +3202,15 @@ module Aws::AutoScaling
2881
3202
  #
2882
3203
  # For help with failed health checks, see [Troubleshooting Amazon EC2
2883
3204
  # Auto Scaling: Health checks][1] in the *Amazon EC2 Auto Scaling User
2884
- # Guide*. For more information, see [Elastic Load Balancing and Amazon
2885
- # EC2 Auto Scaling][2] in the *Amazon EC2 Auto Scaling User Guide*.
3205
+ # Guide*. For more information, see [Use Elastic Load Balancing to
3206
+ # distribute traffic across the instances in your Auto Scaling group][2]
3207
+ # in the *Amazon EC2 Auto Scaling User Guide*.
3208
+ #
3209
+ # <note markdown="1"> You can use this operation to describe target groups that were
3210
+ # attached by using AttachLoadBalancerTargetGroups, but not for target
3211
+ # groups that were attached by using AttachTrafficSources.
3212
+ #
3213
+ # </note>
2886
3214
  #
2887
3215
  #
2888
3216
  #
@@ -2905,6 +3233,8 @@ module Aws::AutoScaling
2905
3233
  # * {Types::DescribeLoadBalancerTargetGroupsResponse#load_balancer_target_groups #load_balancer_target_groups} => Array&lt;Types::LoadBalancerTargetGroupState&gt;
2906
3234
  # * {Types::DescribeLoadBalancerTargetGroupsResponse#next_token #next_token} => String
2907
3235
  #
3236
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3237
+ #
2908
3238
  #
2909
3239
  # @example Example: To describe the target groups for an Auto Scaling group
2910
3240
  #
@@ -2948,6 +3278,15 @@ module Aws::AutoScaling
2948
3278
  req.send_request(options)
2949
3279
  end
2950
3280
 
3281
+ # <note markdown="1"> This API operation is superseded by DescribeTrafficSources, which can
3282
+ # describe multiple traffic sources types. We recommend using
3283
+ # `DescribeTrafficSources` to simplify how you manage traffic sources.
3284
+ # However, we continue to support `DescribeLoadBalancers`. You can use
3285
+ # both the original `DescribeLoadBalancers` API operation and
3286
+ # `DescribeTrafficSources` on the same Auto Scaling group.
3287
+ #
3288
+ # </note>
3289
+ #
2951
3290
  # Gets information about the load balancers for the specified Auto
2952
3291
  # Scaling group.
2953
3292
  #
@@ -2955,9 +3294,9 @@ module Aws::AutoScaling
2955
3294
  # Application Load Balancers, Network Load Balancers, or Gateway Load
2956
3295
  # Balancers, use the DescribeLoadBalancerTargetGroups API instead.
2957
3296
  #
2958
- # To determine the availability of registered instances, use the `State`
2959
- # element in the response. When you attach a load balancer to an Auto
2960
- # Scaling group, the initial `State` value is `Adding`. The state
3297
+ # To determine the attachment status of the load balancer, use the
3298
+ # `State` element in the response. When you attach a load balancer to an
3299
+ # Auto Scaling group, the initial `State` value is `Adding`. The state
2961
3300
  # transitions to `Added` after all Auto Scaling instances are registered
2962
3301
  # with the load balancer. If Elastic Load Balancing health checks are
2963
3302
  # enabled for the Auto Scaling group, the state transitions to
@@ -2975,8 +3314,9 @@ module Aws::AutoScaling
2975
3314
  #
2976
3315
  # For help with failed health checks, see [Troubleshooting Amazon EC2
2977
3316
  # Auto Scaling: Health checks][1] in the *Amazon EC2 Auto Scaling User
2978
- # Guide*. For more information, see [Elastic Load Balancing and Amazon
2979
- # EC2 Auto Scaling][2] in the *Amazon EC2 Auto Scaling User Guide*.
3317
+ # Guide*. For more information, see [Use Elastic Load Balancing to
3318
+ # distribute traffic across the instances in your Auto Scaling group][2]
3319
+ # in the *Amazon EC2 Auto Scaling User Guide*.
2980
3320
  #
2981
3321
  #
2982
3322
  #
@@ -2999,6 +3339,8 @@ module Aws::AutoScaling
2999
3339
  # * {Types::DescribeLoadBalancersResponse#load_balancers #load_balancers} => Array&lt;Types::LoadBalancerState&gt;
3000
3340
  # * {Types::DescribeLoadBalancersResponse#next_token #next_token} => String
3001
3341
  #
3342
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3343
+ #
3002
3344
  #
3003
3345
  # @example Example: To describe the load balancers for an Auto Scaling group
3004
3346
  #
@@ -3045,10 +3387,6 @@ module Aws::AutoScaling
3045
3387
  # Describes the available CloudWatch metrics for Amazon EC2 Auto
3046
3388
  # Scaling.
3047
3389
  #
3048
- # The `GroupStandbyInstances` metric is not returned by default. You
3049
- # must explicitly request this metric when calling the
3050
- # EnableMetricsCollection API.
3051
- #
3052
3390
  # @return [Types::DescribeMetricCollectionTypesAnswer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3053
3391
  #
3054
3392
  # * {Types::DescribeMetricCollectionTypesAnswer#metrics #metrics} => Array&lt;Types::MetricCollectionType&gt;
@@ -3192,7 +3530,7 @@ module Aws::AutoScaling
3192
3530
  # The name of the Auto Scaling group.
3193
3531
  #
3194
3532
  # @option params [Array<String>] :policy_names
3195
- # The names of one or more policies. If you omit this parameter, all
3533
+ # The names of one or more policies. If you omit this property, all
3196
3534
  # policies are described. If a group name is provided, the results are
3197
3535
  # limited to that group. If you specify an unknown policy name, it is
3198
3536
  # ignored with no error.
@@ -3293,6 +3631,18 @@ module Aws::AutoScaling
3293
3631
  # resp.scaling_policies[0].target_tracking_configuration.customized_metric_specification.dimensions[0].value #=> String
3294
3632
  # resp.scaling_policies[0].target_tracking_configuration.customized_metric_specification.statistic #=> String, one of "Average", "Minimum", "Maximum", "SampleCount", "Sum"
3295
3633
  # resp.scaling_policies[0].target_tracking_configuration.customized_metric_specification.unit #=> String
3634
+ # resp.scaling_policies[0].target_tracking_configuration.customized_metric_specification.metrics #=> Array
3635
+ # resp.scaling_policies[0].target_tracking_configuration.customized_metric_specification.metrics[0].id #=> String
3636
+ # resp.scaling_policies[0].target_tracking_configuration.customized_metric_specification.metrics[0].expression #=> String
3637
+ # resp.scaling_policies[0].target_tracking_configuration.customized_metric_specification.metrics[0].metric_stat.metric.namespace #=> String
3638
+ # resp.scaling_policies[0].target_tracking_configuration.customized_metric_specification.metrics[0].metric_stat.metric.metric_name #=> String
3639
+ # resp.scaling_policies[0].target_tracking_configuration.customized_metric_specification.metrics[0].metric_stat.metric.dimensions #=> Array
3640
+ # resp.scaling_policies[0].target_tracking_configuration.customized_metric_specification.metrics[0].metric_stat.metric.dimensions[0].name #=> String
3641
+ # resp.scaling_policies[0].target_tracking_configuration.customized_metric_specification.metrics[0].metric_stat.metric.dimensions[0].value #=> String
3642
+ # resp.scaling_policies[0].target_tracking_configuration.customized_metric_specification.metrics[0].metric_stat.stat #=> String
3643
+ # resp.scaling_policies[0].target_tracking_configuration.customized_metric_specification.metrics[0].metric_stat.unit #=> String
3644
+ # resp.scaling_policies[0].target_tracking_configuration.customized_metric_specification.metrics[0].label #=> String
3645
+ # resp.scaling_policies[0].target_tracking_configuration.customized_metric_specification.metrics[0].return_data #=> Boolean
3296
3646
  # resp.scaling_policies[0].target_tracking_configuration.target_value #=> Float
3297
3647
  # resp.scaling_policies[0].target_tracking_configuration.disable_scale_in #=> Boolean
3298
3648
  # resp.scaling_policies[0].enabled #=> Boolean
@@ -3378,7 +3728,7 @@ module Aws::AutoScaling
3378
3728
  #
3379
3729
  # @option params [Array<String>] :activity_ids
3380
3730
  # The activity IDs of the desired scaling activities. If you omit this
3381
- # parameter, all activities for the past six weeks are described. If
3731
+ # property, all activities for the past six weeks are described. If
3382
3732
  # unknown activities are requested, they are ignored with no error. If
3383
3733
  # you specify an Auto Scaling group, the results are limited to that
3384
3734
  # group.
@@ -3421,6 +3771,7 @@ module Aws::AutoScaling
3421
3771
  # activities: [
3422
3772
  # {
3423
3773
  # activity_id: "f9f2d65b-f1f2-43e7-b46d-d86756459699",
3774
+ # auto_scaling_group_arn: "arn:aws:autoscaling:us-east-1:123456789012:autoScalingGroup:12345678-1234-1234-1234-123456789012:autoScalingGroupName/my-auto-scaling-group",
3424
3775
  # auto_scaling_group_name: "my-auto-scaling-group",
3425
3776
  # cause: "At 2013-08-19T20:53:25Z a user request created an AutoScalingGroup changing the desired capacity from 0 to 1. At 2013-08-19T20:53:29Z an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 0 to 1.",
3426
3777
  # description: "Launching a new EC2 instance: i-4ba0837f",
@@ -3452,7 +3803,7 @@ module Aws::AutoScaling
3452
3803
  # resp.activities[0].cause #=> String
3453
3804
  # resp.activities[0].start_time #=> Time
3454
3805
  # resp.activities[0].end_time #=> Time
3455
- # resp.activities[0].status_code #=> String, one of "PendingSpotBidPlacement", "WaitingForSpotInstanceRequestId", "WaitingForSpotInstanceId", "WaitingForInstanceId", "PreInService", "InProgress", "WaitingForELBConnectionDraining", "MidLifecycleAction", "WaitingForInstanceWarmup", "Successful", "Failed", "Cancelled"
3806
+ # resp.activities[0].status_code #=> String, one of "PendingSpotBidPlacement", "WaitingForSpotInstanceRequestId", "WaitingForSpotInstanceId", "WaitingForInstanceId", "PreInService", "InProgress", "WaitingForELBConnectionDraining", "MidLifecycleAction", "WaitingForInstanceWarmup", "Successful", "Failed", "Cancelled", "WaitingForConnectionDraining"
3456
3807
  # resp.activities[0].status_message #=> String
3457
3808
  # resp.activities[0].progress #=> Integer
3458
3809
  # resp.activities[0].details #=> String
@@ -3538,19 +3889,19 @@ module Aws::AutoScaling
3538
3889
  # The name of the Auto Scaling group.
3539
3890
  #
3540
3891
  # @option params [Array<String>] :scheduled_action_names
3541
- # The names of one or more scheduled actions. If you omit this
3542
- # parameter, all scheduled actions are described. If you specify an
3543
- # unknown scheduled action, it is ignored with no error.
3892
+ # The names of one or more scheduled actions. If you omit this property,
3893
+ # all scheduled actions are described. If you specify an unknown
3894
+ # scheduled action, it is ignored with no error.
3544
3895
  #
3545
3896
  # Array Members: Maximum number of 50 actions.
3546
3897
  #
3547
3898
  # @option params [Time,DateTime,Date,Integer,String] :start_time
3548
3899
  # The earliest scheduled start time to return. If scheduled action names
3549
- # are provided, this parameter is ignored.
3900
+ # are provided, this property is ignored.
3550
3901
  #
3551
3902
  # @option params [Time,DateTime,Date,Integer,String] :end_time
3552
3903
  # The latest scheduled start time to return. If scheduled action names
3553
- # are provided, this parameter is ignored.
3904
+ # are provided, this property is ignored.
3554
3905
  #
3555
3906
  # @option params [String] :next_token
3556
3907
  # The token for the next set of items to return. (You received this
@@ -3640,12 +3991,12 @@ module Aws::AutoScaling
3640
3991
  # for a particular tag only if it matches all the filters. If there's
3641
3992
  # no match, no special message is returned.
3642
3993
  #
3643
- # For more information, see [Tagging Auto Scaling groups and
3644
- # instances][1] in the *Amazon EC2 Auto Scaling User Guide*.
3994
+ # For more information, see [Tag Auto Scaling groups and instances][1]
3995
+ # in the *Amazon EC2 Auto Scaling User Guide*.
3645
3996
  #
3646
3997
  #
3647
3998
  #
3648
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html
3999
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-tagging.html
3649
4000
  #
3650
4001
  # @option params [Array<Types::Filter>] :filters
3651
4002
  # One or more filters to scope the tags to return. The maximum number of
@@ -3737,13 +4088,12 @@ module Aws::AutoScaling
3737
4088
  # Describes the termination policies supported by Amazon EC2 Auto
3738
4089
  # Scaling.
3739
4090
  #
3740
- # For more information, see [Controlling which Auto Scaling instances
3741
- # terminate during scale in][1] in the *Amazon EC2 Auto Scaling User
3742
- # Guide*.
4091
+ # For more information, see [Work with Amazon EC2 Auto Scaling
4092
+ # termination policies][1] in the *Amazon EC2 Auto Scaling User Guide*.
3743
4093
  #
3744
4094
  #
3745
4095
  #
3746
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html
4096
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-termination-policies.html
3747
4097
  #
3748
4098
  # @return [Types::DescribeTerminationPolicyTypesAnswer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3749
4099
  #
@@ -3782,6 +4132,94 @@ module Aws::AutoScaling
3782
4132
  req.send_request(options)
3783
4133
  end
3784
4134
 
4135
+ # Gets information about the traffic sources for the specified Auto
4136
+ # Scaling group.
4137
+ #
4138
+ # You can optionally provide a traffic source type. If you provide a
4139
+ # traffic source type, then the results only include that traffic source
4140
+ # type.
4141
+ #
4142
+ # If you do not provide a traffic source type, then the results include
4143
+ # all the traffic sources for the specified Auto Scaling group.
4144
+ #
4145
+ # @option params [required, String] :auto_scaling_group_name
4146
+ # The name of the Auto Scaling group.
4147
+ #
4148
+ # @option params [String] :traffic_source_type
4149
+ # The traffic source type that you want to describe.
4150
+ #
4151
+ # The following lists the valid values:
4152
+ #
4153
+ # * `elb` if the traffic source is a Classic Load Balancer.
4154
+ #
4155
+ # * `elbv2` if the traffic source is a Application Load Balancer,
4156
+ # Gateway Load Balancer, or Network Load Balancer.
4157
+ #
4158
+ # * `vpc-lattice` if the traffic source is VPC Lattice.
4159
+ #
4160
+ # @option params [String] :next_token
4161
+ # The token for the next set of items to return. (You received this
4162
+ # token from a previous call.)
4163
+ #
4164
+ # @option params [Integer] :max_records
4165
+ # The maximum number of items to return with this call. The maximum
4166
+ # value is `50`.
4167
+ #
4168
+ # @return [Types::DescribeTrafficSourcesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4169
+ #
4170
+ # * {Types::DescribeTrafficSourcesResponse#traffic_sources #traffic_sources} => Array&lt;Types::TrafficSourceState&gt;
4171
+ # * {Types::DescribeTrafficSourcesResponse#next_token #next_token} => String
4172
+ #
4173
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4174
+ #
4175
+ #
4176
+ # @example Example: To describe the target groups for an Auto Scaling group
4177
+ #
4178
+ # # This example describes the target groups attached to the specified Auto Scaling group.
4179
+ #
4180
+ # resp = client.describe_traffic_sources({
4181
+ # auto_scaling_group_name: "my-auto-scaling-group",
4182
+ # })
4183
+ #
4184
+ # resp.to_h outputs the following:
4185
+ # {
4186
+ # next_token: "",
4187
+ # traffic_sources: [
4188
+ # {
4189
+ # identifier: "arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-0e2f2665eEXAMPLE",
4190
+ # state: "InService",
4191
+ # type: "vpc-lattice",
4192
+ # },
4193
+ # ],
4194
+ # }
4195
+ #
4196
+ # @example Request syntax with placeholder values
4197
+ #
4198
+ # resp = client.describe_traffic_sources({
4199
+ # auto_scaling_group_name: "XmlStringMaxLen255", # required
4200
+ # traffic_source_type: "XmlStringMaxLen255",
4201
+ # next_token: "XmlString",
4202
+ # max_records: 1,
4203
+ # })
4204
+ #
4205
+ # @example Response structure
4206
+ #
4207
+ # resp.traffic_sources #=> Array
4208
+ # resp.traffic_sources[0].traffic_source #=> String
4209
+ # resp.traffic_sources[0].state #=> String
4210
+ # resp.traffic_sources[0].identifier #=> String
4211
+ # resp.traffic_sources[0].type #=> String
4212
+ # resp.next_token #=> String
4213
+ #
4214
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeTrafficSources AWS API Documentation
4215
+ #
4216
+ # @overload describe_traffic_sources(params = {})
4217
+ # @param [Hash] params ({})
4218
+ def describe_traffic_sources(params = {}, options = {})
4219
+ req = build_request(:describe_traffic_sources, params)
4220
+ req.send_request(options)
4221
+ end
4222
+
3785
4223
  # Gets information about a warm pool and its instances.
3786
4224
  #
3787
4225
  # For more information, see [Warm pools for Amazon EC2 Auto Scaling][1]
@@ -3808,6 +4246,8 @@ module Aws::AutoScaling
3808
4246
  # * {Types::DescribeWarmPoolAnswer#instances #instances} => Array&lt;Types::Instance&gt;
3809
4247
  # * {Types::DescribeWarmPoolAnswer#next_token #next_token} => String
3810
4248
  #
4249
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4250
+ #
3811
4251
  # @example Request syntax with placeholder values
3812
4252
  #
3813
4253
  # resp = client.describe_warm_pool({
@@ -3820,13 +4260,14 @@ module Aws::AutoScaling
3820
4260
  #
3821
4261
  # resp.warm_pool_configuration.max_group_prepared_capacity #=> Integer
3822
4262
  # resp.warm_pool_configuration.min_size #=> Integer
3823
- # resp.warm_pool_configuration.pool_state #=> String, one of "Stopped", "Running"
4263
+ # resp.warm_pool_configuration.pool_state #=> String, one of "Stopped", "Running", "Hibernated"
3824
4264
  # resp.warm_pool_configuration.status #=> String, one of "PendingDelete"
4265
+ # resp.warm_pool_configuration.instance_reuse_policy.reuse_on_scale_in #=> Boolean
3825
4266
  # resp.instances #=> Array
3826
4267
  # resp.instances[0].instance_id #=> String
3827
4268
  # resp.instances[0].instance_type #=> String
3828
4269
  # resp.instances[0].availability_zone #=> String
3829
- # resp.instances[0].lifecycle_state #=> String, one of "Pending", "Pending:Wait", "Pending:Proceed", "Quarantined", "InService", "Terminating", "Terminating:Wait", "Terminating:Proceed", "Terminated", "Detaching", "Detached", "EnteringStandby", "Standby", "Warmed:Pending", "Warmed:Pending:Wait", "Warmed:Pending:Proceed", "Warmed:Terminating", "Warmed:Terminating:Wait", "Warmed:Terminating:Proceed", "Warmed:Terminated", "Warmed:Stopped", "Warmed:Running"
4270
+ # resp.instances[0].lifecycle_state #=> String, one of "Pending", "Pending:Wait", "Pending:Proceed", "Quarantined", "InService", "Terminating", "Terminating:Wait", "Terminating:Proceed", "Terminated", "Detaching", "Detached", "EnteringStandby", "Standby", "Warmed:Pending", "Warmed:Pending:Wait", "Warmed:Pending:Proceed", "Warmed:Terminating", "Warmed:Terminating:Wait", "Warmed:Terminating:Proceed", "Warmed:Terminated", "Warmed:Stopped", "Warmed:Running", "Warmed:Hibernated"
3830
4271
  # resp.instances[0].health_status #=> String
3831
4272
  # resp.instances[0].launch_configuration_name #=> String
3832
4273
  # resp.instances[0].launch_template.launch_template_id #=> String
@@ -3926,7 +4367,7 @@ module Aws::AutoScaling
3926
4367
  # resp.activities[0].cause #=> String
3927
4368
  # resp.activities[0].start_time #=> Time
3928
4369
  # resp.activities[0].end_time #=> Time
3929
- # resp.activities[0].status_code #=> String, one of "PendingSpotBidPlacement", "WaitingForSpotInstanceRequestId", "WaitingForSpotInstanceId", "WaitingForInstanceId", "PreInService", "InProgress", "WaitingForELBConnectionDraining", "MidLifecycleAction", "WaitingForInstanceWarmup", "Successful", "Failed", "Cancelled"
4370
+ # resp.activities[0].status_code #=> String, one of "PendingSpotBidPlacement", "WaitingForSpotInstanceRequestId", "WaitingForSpotInstanceId", "WaitingForInstanceId", "PreInService", "InProgress", "WaitingForELBConnectionDraining", "MidLifecycleAction", "WaitingForInstanceWarmup", "Successful", "Failed", "Cancelled", "WaitingForConnectionDraining"
3930
4371
  # resp.activities[0].status_message #=> String
3931
4372
  # resp.activities[0].progress #=> Integer
3932
4373
  # resp.activities[0].details #=> String
@@ -3942,9 +4383,30 @@ module Aws::AutoScaling
3942
4383
  req.send_request(options)
3943
4384
  end
3944
4385
 
4386
+ # <note markdown="1"> This API operation is superseded by DetachTrafficSources, which can
4387
+ # detach multiple traffic sources types. We recommend using
4388
+ # `DetachTrafficSources` to simplify how you manage traffic sources.
4389
+ # However, we continue to support `DetachLoadBalancerTargetGroups`. You
4390
+ # can use both the original `DetachLoadBalancerTargetGroups` API
4391
+ # operation and `DetachTrafficSources` on the same Auto Scaling group.
4392
+ #
4393
+ # </note>
4394
+ #
3945
4395
  # Detaches one or more target groups from the specified Auto Scaling
3946
4396
  # group.
3947
4397
  #
4398
+ # When you detach a target group, it enters the `Removing` state while
4399
+ # deregistering the instances in the group. When all instances are
4400
+ # deregistered, then you can no longer describe the target group using
4401
+ # the DescribeLoadBalancerTargetGroups API call. The instances remain
4402
+ # running.
4403
+ #
4404
+ # <note markdown="1"> You can use this operation to detach target groups that were attached
4405
+ # by using AttachLoadBalancerTargetGroups, but not for target groups
4406
+ # that were attached by using AttachTrafficSources.
4407
+ #
4408
+ # </note>
4409
+ #
3948
4410
  # @option params [required, String] :auto_scaling_group_name
3949
4411
  # The name of the Auto Scaling group.
3950
4412
  #
@@ -3982,6 +4444,15 @@ module Aws::AutoScaling
3982
4444
  req.send_request(options)
3983
4445
  end
3984
4446
 
4447
+ # <note markdown="1"> This API operation is superseded by DetachTrafficSources, which can
4448
+ # detach multiple traffic sources types. We recommend using
4449
+ # `DetachTrafficSources` to simplify how you manage traffic sources.
4450
+ # However, we continue to support `DetachLoadBalancers`. You can use
4451
+ # both the original `DetachLoadBalancers` API operation and
4452
+ # `DetachTrafficSources` on the same Auto Scaling group.
4453
+ #
4454
+ # </note>
4455
+ #
3985
4456
  # Detaches one or more Classic Load Balancers from the specified Auto
3986
4457
  # Scaling group.
3987
4458
  #
@@ -4031,13 +4502,72 @@ module Aws::AutoScaling
4031
4502
  req.send_request(options)
4032
4503
  end
4033
4504
 
4034
- # Disables group metrics for the specified Auto Scaling group.
4505
+ # Detaches one or more traffic sources from the specified Auto Scaling
4506
+ # group.
4507
+ #
4508
+ # When you detach a traffic source, it enters the `Removing` state while
4509
+ # deregistering the instances in the group. When all instances are
4510
+ # deregistered, then you can no longer describe the traffic source using
4511
+ # the DescribeTrafficSources API call. The instances continue to run.
4512
+ #
4513
+ # @option params [required, String] :auto_scaling_group_name
4514
+ # The name of the Auto Scaling group.
4515
+ #
4516
+ # @option params [required, Array<Types::TrafficSourceIdentifier>] :traffic_sources
4517
+ # The unique identifiers of one or more traffic sources. You can specify
4518
+ # up to 10 traffic sources.
4519
+ #
4520
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4521
+ #
4522
+ #
4523
+ # @example Example: To detach a target group from an Auto Scaling group
4524
+ #
4525
+ # # This example detaches the specified target group from the specified Auto Scaling group.
4526
+ #
4527
+ # resp = client.detach_traffic_sources({
4528
+ # auto_scaling_group_name: "my-auto-scaling-group",
4529
+ # traffic_sources: [
4530
+ # {
4531
+ # identifier: "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067",
4532
+ # },
4533
+ # ],
4534
+ # })
4535
+ #
4536
+ # resp.to_h outputs the following:
4537
+ # {
4538
+ # }
4539
+ #
4540
+ # @example Request syntax with placeholder values
4541
+ #
4542
+ # resp = client.detach_traffic_sources({
4543
+ # auto_scaling_group_name: "XmlStringMaxLen255", # required
4544
+ # traffic_sources: [ # required
4545
+ # {
4546
+ # identifier: "XmlStringMaxLen511", # required
4547
+ # type: "XmlStringMaxLen511",
4548
+ # },
4549
+ # ],
4550
+ # })
4551
+ #
4552
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DetachTrafficSources AWS API Documentation
4553
+ #
4554
+ # @overload detach_traffic_sources(params = {})
4555
+ # @param [Hash] params ({})
4556
+ def detach_traffic_sources(params = {}, options = {})
4557
+ req = build_request(:detach_traffic_sources, params)
4558
+ req.send_request(options)
4559
+ end
4560
+
4561
+ # Disables group metrics collection for the specified Auto Scaling
4562
+ # group.
4035
4563
  #
4036
4564
  # @option params [required, String] :auto_scaling_group_name
4037
4565
  # The name of the Auto Scaling group.
4038
4566
  #
4039
4567
  # @option params [Array<String>] :metrics
4040
- # Specifies one or more of the following metrics:
4568
+ # Identifies the metrics to disable.
4569
+ #
4570
+ # You can specify one or more of the following metrics:
4041
4571
  #
4042
4572
  # * `GroupMinSize`
4043
4573
  #
@@ -4079,7 +4609,14 @@ module Aws::AutoScaling
4079
4609
  #
4080
4610
  # * `GroupAndWarmPoolTotalCapacity`
4081
4611
  #
4082
- # If you omit this parameter, all metrics are disabled.
4612
+ # If you omit this property, all metrics are disabled.
4613
+ #
4614
+ # For more information, see [Auto Scaling group metrics][1] in the
4615
+ # *Amazon EC2 Auto Scaling User Guide*.
4616
+ #
4617
+ #
4618
+ #
4619
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-cloudwatch-monitoring.html#as-group-metrics
4083
4620
  #
4084
4621
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4085
4622
  #
@@ -4111,20 +4648,26 @@ module Aws::AutoScaling
4111
4648
  req.send_request(options)
4112
4649
  end
4113
4650
 
4114
- # Enables group metrics for the specified Auto Scaling group. For more
4115
- # information, see [Monitoring CloudWatch metrics for your Auto Scaling
4116
- # groups and instances][1] in the *Amazon EC2 Auto Scaling User Guide*.
4651
+ # Enables group metrics collection for the specified Auto Scaling group.
4652
+ #
4653
+ # You can use these metrics to track changes in an Auto Scaling group
4654
+ # and to set alarms on threshold values. You can view group metrics
4655
+ # using the Amazon EC2 Auto Scaling console or the CloudWatch console.
4656
+ # For more information, see [Monitor CloudWatch metrics for your Auto
4657
+ # Scaling groups and instances][1] in the *Amazon EC2 Auto Scaling User
4658
+ # Guide*.
4117
4659
  #
4118
4660
  #
4119
4661
  #
4120
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-monitoring.html
4662
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-cloudwatch-monitoring.html
4121
4663
  #
4122
4664
  # @option params [required, String] :auto_scaling_group_name
4123
4665
  # The name of the Auto Scaling group.
4124
4666
  #
4125
4667
  # @option params [Array<String>] :metrics
4126
- # Specifies which group-level metrics to start collecting. You can
4127
- # specify one or more of the following metrics:
4668
+ # Identifies the metrics to enable.
4669
+ #
4670
+ # You can specify one or more of the following metrics:
4128
4671
  #
4129
4672
  # * `GroupMinSize`
4130
4673
  #
@@ -4142,9 +4685,6 @@ module Aws::AutoScaling
4142
4685
  #
4143
4686
  # * `GroupTotalInstances`
4144
4687
  #
4145
- # The instance weighting feature supports the following additional
4146
- # metrics:
4147
- #
4148
4688
  # * `GroupInServiceCapacity`
4149
4689
  #
4150
4690
  # * `GroupPendingCapacity`
@@ -4155,8 +4695,6 @@ module Aws::AutoScaling
4155
4695
  #
4156
4696
  # * `GroupTotalCapacity`
4157
4697
  #
4158
- # The warm pools feature supports the following additional metrics:
4159
- #
4160
4698
  # * `WarmPoolDesiredCapacity`
4161
4699
  #
4162
4700
  # * `WarmPoolWarmedCapacity`
@@ -4171,11 +4709,19 @@ module Aws::AutoScaling
4171
4709
  #
4172
4710
  # * `GroupAndWarmPoolTotalCapacity`
4173
4711
  #
4174
- # If you omit this parameter, all metrics are enabled.
4712
+ # If you specify `Granularity` and don't specify any metrics, all
4713
+ # metrics are enabled.
4714
+ #
4715
+ # For more information, see [Auto Scaling group metrics][1] in the
4716
+ # *Amazon EC2 Auto Scaling User Guide*.
4717
+ #
4718
+ #
4719
+ #
4720
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-cloudwatch-monitoring.html#as-group-metrics
4175
4721
  #
4176
4722
  # @option params [required, String] :granularity
4177
- # The granularity to associate with the metrics to collect. The only
4178
- # valid value is `1Minute`.
4723
+ # The frequency at which Amazon EC2 Auto Scaling sends aggregated data
4724
+ # to CloudWatch. The only valid value is `1Minute`.
4179
4725
  #
4180
4726
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4181
4727
  #
@@ -4284,7 +4830,7 @@ module Aws::AutoScaling
4284
4830
  # resp.activities[0].cause #=> String
4285
4831
  # resp.activities[0].start_time #=> Time
4286
4832
  # resp.activities[0].end_time #=> Time
4287
- # resp.activities[0].status_code #=> String, one of "PendingSpotBidPlacement", "WaitingForSpotInstanceRequestId", "WaitingForSpotInstanceId", "WaitingForInstanceId", "PreInService", "InProgress", "WaitingForELBConnectionDraining", "MidLifecycleAction", "WaitingForInstanceWarmup", "Successful", "Failed", "Cancelled"
4833
+ # resp.activities[0].status_code #=> String, one of "PendingSpotBidPlacement", "WaitingForSpotInstanceRequestId", "WaitingForSpotInstanceId", "WaitingForInstanceId", "PreInService", "InProgress", "WaitingForELBConnectionDraining", "MidLifecycleAction", "WaitingForInstanceWarmup", "Successful", "Failed", "Cancelled", "WaitingForConnectionDraining"
4288
4834
  # resp.activities[0].status_message #=> String
4289
4835
  # resp.activities[0].progress #=> Integer
4290
4836
  # resp.activities[0].details #=> String
@@ -4439,7 +4985,7 @@ module Aws::AutoScaling
4439
4985
  # resp.activities[0].cause #=> String
4440
4986
  # resp.activities[0].start_time #=> Time
4441
4987
  # resp.activities[0].end_time #=> Time
4442
- # resp.activities[0].status_code #=> String, one of "PendingSpotBidPlacement", "WaitingForSpotInstanceRequestId", "WaitingForSpotInstanceId", "WaitingForInstanceId", "PreInService", "InProgress", "WaitingForELBConnectionDraining", "MidLifecycleAction", "WaitingForInstanceWarmup", "Successful", "Failed", "Cancelled"
4988
+ # resp.activities[0].status_code #=> String, one of "PendingSpotBidPlacement", "WaitingForSpotInstanceRequestId", "WaitingForSpotInstanceId", "WaitingForInstanceId", "PreInService", "InProgress", "WaitingForELBConnectionDraining", "MidLifecycleAction", "WaitingForInstanceWarmup", "Successful", "Failed", "Cancelled", "WaitingForConnectionDraining"
4443
4989
  # resp.activities[0].status_message #=> String
4444
4990
  # resp.activities[0].progress #=> Integer
4445
4991
  # resp.activities[0].details #=> String
@@ -4577,30 +5123,34 @@ module Aws::AutoScaling
4577
5123
  # Creates or updates a lifecycle hook for the specified Auto Scaling
4578
5124
  # group.
4579
5125
  #
4580
- # A lifecycle hook enables an Auto Scaling group to be aware of events
4581
- # in the Auto Scaling instance lifecycle, and then perform a custom
4582
- # action when the corresponding lifecycle event occurs.
5126
+ # Lifecycle hooks let you create solutions that are aware of events in
5127
+ # the Auto Scaling instance lifecycle, and then perform a custom action
5128
+ # on instances when the corresponding lifecycle event occurs.
4583
5129
  #
4584
5130
  # This step is a part of the procedure for adding a lifecycle hook to an
4585
5131
  # Auto Scaling group:
4586
5132
  #
4587
- # 1. (Optional) Create a Lambda function and a rule that allows Amazon
4588
- # EventBridge to invoke your Lambda function when Amazon EC2 Auto
4589
- # Scaling launches or terminates instances.
5133
+ # 1. (Optional) Create a launch template or launch configuration with a
5134
+ # user data script that runs while an instance is in a wait state
5135
+ # due to a lifecycle hook.
5136
+ #
5137
+ # 2. (Optional) Create a Lambda function and a rule that allows Amazon
5138
+ # EventBridge to invoke your Lambda function when an instance is put
5139
+ # into a wait state due to a lifecycle hook.
4590
5140
  #
4591
- # 2. (Optional) Create a notification target and an IAM role. The
5141
+ # 3. (Optional) Create a notification target and an IAM role. The
4592
5142
  # target can be either an Amazon SQS queue or an Amazon SNS topic.
4593
5143
  # The role allows Amazon EC2 Auto Scaling to publish lifecycle
4594
5144
  # notifications to the target.
4595
5145
  #
4596
- # 3. **Create the lifecycle hook. Specify whether the hook is used when
5146
+ # 4. **Create the lifecycle hook. Specify whether the hook is used when
4597
5147
  # the instances launch or terminate.**
4598
5148
  #
4599
- # 4. If you need more time, record the lifecycle action heartbeat to
4600
- # keep the instance in a pending state using the
5149
+ # 5. If you need more time, record the lifecycle action heartbeat to
5150
+ # keep the instance in a wait state using the
4601
5151
  # RecordLifecycleActionHeartbeat API call.
4602
5152
  #
4603
- # 5. If you finish before the timeout period ends, send a callback by
5153
+ # 6. If you finish before the timeout period ends, send a callback by
4604
5154
  # using the CompleteLifecycleAction API call.
4605
5155
  #
4606
5156
  # For more information, see [Amazon EC2 Auto Scaling lifecycle hooks][1]
@@ -4625,29 +5175,31 @@ module Aws::AutoScaling
4625
5175
  # The name of the Auto Scaling group.
4626
5176
  #
4627
5177
  # @option params [String] :lifecycle_transition
4628
- # The instance state to which you want to attach the lifecycle hook. The
4629
- # valid values are:
5178
+ # The lifecycle transition. For Auto Scaling groups, there are two major
5179
+ # lifecycle transitions.
4630
5180
  #
4631
- # * autoscaling:EC2\_INSTANCE\_LAUNCHING
5181
+ # * To create a lifecycle hook for scale-out events, specify
5182
+ # `autoscaling:EC2_INSTANCE_LAUNCHING`.
4632
5183
  #
4633
- # * autoscaling:EC2\_INSTANCE\_TERMINATING
5184
+ # * To create a lifecycle hook for scale-in events, specify
5185
+ # `autoscaling:EC2_INSTANCE_TERMINATING`.
4634
5186
  #
4635
5187
  # Required for new lifecycle hooks, but optional when updating existing
4636
5188
  # hooks.
4637
5189
  #
4638
5190
  # @option params [String] :role_arn
4639
5191
  # The ARN of the IAM role that allows the Auto Scaling group to publish
4640
- # to the specified notification target, for example, an Amazon SNS topic
4641
- # or an Amazon SQS queue.
5192
+ # to the specified notification target.
4642
5193
  #
4643
- # Required for new lifecycle hooks, but optional when updating existing
4644
- # hooks.
5194
+ # Valid only if the notification target is an Amazon SNS topic or an
5195
+ # Amazon SQS queue. Required for new lifecycle hooks, but optional when
5196
+ # updating existing hooks.
4645
5197
  #
4646
5198
  # @option params [String] :notification_target_arn
4647
- # The ARN of the notification target that Amazon EC2 Auto Scaling uses
4648
- # to notify you when an instance is in the transition state for the
4649
- # lifecycle hook. This target can be either an SQS queue or an SNS
4650
- # topic.
5199
+ # The Amazon Resource Name (ARN) of the notification target that Amazon
5200
+ # EC2 Auto Scaling uses to notify you when an instance is in a wait
5201
+ # state for the lifecycle hook. You can specify either an Amazon SNS
5202
+ # topic or an Amazon SQS queue.
4651
5203
  #
4652
5204
  # If you specify an empty string, this overrides the current ARN.
4653
5205
  #
@@ -4668,30 +5220,26 @@ module Aws::AutoScaling
4668
5220
  # hook times out. The range is from `30` to `7200` seconds. The default
4669
5221
  # value is `3600` seconds (1 hour).
4670
5222
  #
4671
- # If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the
4672
- # action that you specified in the `DefaultResult` parameter. You can
4673
- # prevent the lifecycle hook from timing out by calling the
4674
- # RecordLifecycleActionHeartbeat API.
4675
- #
4676
5223
  # @option params [String] :default_result
4677
- # Defines the action the Auto Scaling group should take when the
4678
- # lifecycle hook timeout elapses or if an unexpected failure occurs.
4679
- # This parameter can be either `CONTINUE` or `ABANDON`. The default
4680
- # value is `ABANDON`.
5224
+ # The action the Auto Scaling group takes when the lifecycle hook
5225
+ # timeout elapses or if an unexpected failure occurs. The default value
5226
+ # is `ABANDON`.
5227
+ #
5228
+ # Valid values: `CONTINUE` \| `ABANDON`
4681
5229
  #
4682
5230
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4683
5231
  #
4684
5232
  #
4685
- # @example Example: To create a lifecycle hook
5233
+ # @example Example: To create a launch lifecycle hook
4686
5234
  #
4687
- # # This example creates a lifecycle hook.
5235
+ # # This example creates a lifecycle hook for instance launch.
4688
5236
  #
4689
5237
  # resp = client.put_lifecycle_hook({
4690
5238
  # auto_scaling_group_name: "my-auto-scaling-group",
4691
- # lifecycle_hook_name: "my-lifecycle-hook",
5239
+ # default_result: "CONTINUE",
5240
+ # heartbeat_timeout: 300,
5241
+ # lifecycle_hook_name: "my-launch-lifecycle-hook",
4692
5242
  # lifecycle_transition: "autoscaling:EC2_INSTANCE_LAUNCHING",
4693
- # notification_target_arn: "arn:aws:sns:us-west-2:123456789012:my-sns-topic --role-arn",
4694
- # role_arn: "arn:aws:iam::123456789012:role/my-auto-scaling-role",
4695
5243
  # })
4696
5244
  #
4697
5245
  # @example Request syntax with placeholder values
@@ -4702,7 +5250,7 @@ module Aws::AutoScaling
4702
5250
  # lifecycle_transition: "LifecycleTransition",
4703
5251
  # role_arn: "XmlStringMaxLen255",
4704
5252
  # notification_target_arn: "NotificationTargetResourceName",
4705
- # notification_metadata: "XmlStringMaxLen1023",
5253
+ # notification_metadata: "AnyPrintableAsciiStringMaxLen4000",
4706
5254
  # heartbeat_timeout: 1,
4707
5255
  # default_result: "LifecycleActionResult",
4708
5256
  # })
@@ -4861,20 +5409,22 @@ module Aws::AutoScaling
4861
5409
  # The amount by which to scale, based on the specified adjustment type.
4862
5410
  # A positive value adds to the current capacity while a negative number
4863
5411
  # removes from the current capacity. For exact capacity, you must
4864
- # specify a positive value.
5412
+ # specify a non-negative value.
4865
5413
  #
4866
5414
  # Required if the policy type is `SimpleScaling`. (Not used with any
4867
5415
  # other policy type.)
4868
5416
  #
4869
5417
  # @option params [Integer] :cooldown
4870
- # The duration of the policy's cooldown period, in seconds. When a
4871
- # cooldown period is specified here, it overrides the default cooldown
4872
- # period defined for the Auto Scaling group.
5418
+ # A cooldown period, in seconds, that applies to a specific simple
5419
+ # scaling policy. When a cooldown period is specified here, it overrides
5420
+ # the default cooldown.
4873
5421
  #
4874
5422
  # Valid only if the policy type is `SimpleScaling`. For more
4875
5423
  # information, see [Scaling cooldowns for Amazon EC2 Auto Scaling][1] in
4876
5424
  # the *Amazon EC2 Auto Scaling User Guide*.
4877
5425
  #
5426
+ # Default: None
5427
+ #
4878
5428
  #
4879
5429
  #
4880
5430
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html
@@ -4894,14 +5444,23 @@ module Aws::AutoScaling
4894
5444
  # policy type.)
4895
5445
  #
4896
5446
  # @option params [Integer] :estimated_instance_warmup
5447
+ # *Not needed if the default instance warmup is defined for the group.*
5448
+ #
4897
5449
  # The estimated time, in seconds, until a newly launched instance can
4898
- # contribute to the CloudWatch metrics. If not provided, the default is
4899
- # to use the value from the default cooldown period for the Auto Scaling
4900
- # group.
5450
+ # contribute to the CloudWatch metrics. This warm-up period applies to
5451
+ # instances launched due to a specific target tracking or step scaling
5452
+ # policy. When a warm-up period is specified here, it overrides the
5453
+ # default instance warmup.
4901
5454
  #
4902
5455
  # Valid only if the policy type is `TargetTrackingScaling` or
4903
5456
  # `StepScaling`.
4904
5457
  #
5458
+ # <note markdown="1"> The default is to use the value for the default instance warmup
5459
+ # defined for the group. If default instance warmup is null, then
5460
+ # `EstimatedInstanceWarmup` falls back to the value of default cooldown.
5461
+ #
5462
+ # </note>
5463
+ #
4905
5464
  # @option params [Types::TargetTrackingConfiguration] :target_tracking_configuration
4906
5465
  # A target tracking scaling policy. Provides support for predefined or
4907
5466
  # custom metrics.
@@ -4917,7 +5476,7 @@ module Aws::AutoScaling
4917
5476
  # * `ALBRequestCountPerTarget`
4918
5477
  #
4919
5478
  # If you specify `ALBRequestCountPerTarget` for the metric, you must
4920
- # specify the `ResourceLabel` parameter with the
5479
+ # specify the `ResourceLabel` property with the
4921
5480
  # `PredefinedMetricSpecification`.
4922
5481
  #
4923
5482
  # For more information, see [TargetTrackingConfiguration][1] in the
@@ -5019,16 +5578,38 @@ module Aws::AutoScaling
5019
5578
  # resource_label: "XmlStringMaxLen1023",
5020
5579
  # },
5021
5580
  # customized_metric_specification: {
5022
- # metric_name: "MetricName", # required
5023
- # namespace: "MetricNamespace", # required
5581
+ # metric_name: "MetricName",
5582
+ # namespace: "MetricNamespace",
5024
5583
  # dimensions: [
5025
5584
  # {
5026
5585
  # name: "MetricDimensionName", # required
5027
5586
  # value: "MetricDimensionValue", # required
5028
5587
  # },
5029
5588
  # ],
5030
- # statistic: "Average", # required, accepts Average, Minimum, Maximum, SampleCount, Sum
5589
+ # statistic: "Average", # accepts Average, Minimum, Maximum, SampleCount, Sum
5031
5590
  # unit: "MetricUnit",
5591
+ # metrics: [
5592
+ # {
5593
+ # id: "XmlStringMaxLen255", # required
5594
+ # expression: "XmlStringMaxLen2047",
5595
+ # metric_stat: {
5596
+ # metric: { # required
5597
+ # namespace: "MetricNamespace", # required
5598
+ # metric_name: "MetricName", # required
5599
+ # dimensions: [
5600
+ # {
5601
+ # name: "MetricDimensionName", # required
5602
+ # value: "MetricDimensionValue", # required
5603
+ # },
5604
+ # ],
5605
+ # },
5606
+ # stat: "XmlStringMetricStat", # required
5607
+ # unit: "MetricUnit",
5608
+ # },
5609
+ # label: "XmlStringMetricLabel",
5610
+ # return_data: false,
5611
+ # },
5612
+ # ],
5032
5613
  # },
5033
5614
  # target_value: 1.0, # required
5034
5615
  # disable_scale_in: false,
@@ -5158,6 +5739,9 @@ module Aws::AutoScaling
5158
5739
  # scheduled action, you can delete it by calling the
5159
5740
  # DeleteScheduledAction API.
5160
5741
  #
5742
+ # If you try to schedule your action in the past, Amazon EC2 Auto
5743
+ # Scaling returns an error message.
5744
+ #
5161
5745
  #
5162
5746
  #
5163
5747
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/schedule_time.html
@@ -5169,22 +5753,20 @@ module Aws::AutoScaling
5169
5753
  # The name of this scaling action.
5170
5754
  #
5171
5755
  # @option params [Time,DateTime,Date,Integer,String] :time
5172
- # This parameter is no longer used.
5756
+ # This property is no longer used.
5173
5757
  #
5174
5758
  # @option params [Time,DateTime,Date,Integer,String] :start_time
5175
5759
  # The date and time for this action to start, in YYYY-MM-DDThh:mm:ssZ
5176
5760
  # format in UTC/GMT only and in quotes (for example,
5177
- # `"2019-06-01T00:00:00Z"`).
5761
+ # `"2021-06-01T00:00:00Z"`).
5178
5762
  #
5179
5763
  # If you specify `Recurrence` and `StartTime`, Amazon EC2 Auto Scaling
5180
5764
  # performs the action at this time, and then performs the action based
5181
5765
  # on the specified recurrence.
5182
5766
  #
5183
- # If you try to schedule your action in the past, Amazon EC2 Auto
5184
- # Scaling returns an error message.
5185
- #
5186
5767
  # @option params [Time,DateTime,Date,Integer,String] :end_time
5187
- # The date and time for the recurring schedule to end, in UTC.
5768
+ # The date and time for the recurring schedule to end, in UTC. For
5769
+ # example, `"2021-06-01T00:00:00Z"`.
5188
5770
  #
5189
5771
  # @option params [String] :recurrence
5190
5772
  # The recurring schedule for this action. This format consists of five
@@ -5214,6 +5796,11 @@ module Aws::AutoScaling
5214
5796
  # maintain. It can scale beyond this capacity if you add more scaling
5215
5797
  # conditions.
5216
5798
  #
5799
+ # <note markdown="1"> You must specify at least one of the following properties: `MaxSize`,
5800
+ # `MinSize`, or `DesiredCapacity`.
5801
+ #
5802
+ # </note>
5803
+ #
5217
5804
  # @option params [String] :time_zone
5218
5805
  # Specifies the time zone for a cron expression. If a time zone is not
5219
5806
  # provided, UTC is used by default.
@@ -5325,17 +5912,25 @@ module Aws::AutoScaling
5325
5912
  # Sets the instance state to transition to after the lifecycle actions
5326
5913
  # are complete. Default is `Stopped`.
5327
5914
  #
5915
+ # @option params [Types::InstanceReusePolicy] :instance_reuse_policy
5916
+ # Indicates whether instances in the Auto Scaling group can be returned
5917
+ # to the warm pool on scale in. The default is to terminate instances in
5918
+ # the Auto Scaling group when the group scales in.
5919
+ #
5328
5920
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
5329
5921
  #
5330
5922
  #
5331
- # @example Example: To add a warm pool to an Auto Scaling group
5923
+ # @example Example: To create a warm pool for an Auto Scaling group
5332
5924
  #
5333
- # # This example adds a warm pool to the specified Auto Scaling group.
5925
+ # # This example creates a warm pool for the specified Auto Scaling group.
5334
5926
  #
5335
5927
  # resp = client.put_warm_pool({
5336
5928
  # auto_scaling_group_name: "my-auto-scaling-group",
5929
+ # instance_reuse_policy: {
5930
+ # reuse_on_scale_in: true,
5931
+ # },
5337
5932
  # min_size: 30,
5338
- # pool_state: "Stopped",
5933
+ # pool_state: "Hibernated",
5339
5934
  # })
5340
5935
  #
5341
5936
  # @example Request syntax with placeholder values
@@ -5344,7 +5939,10 @@ module Aws::AutoScaling
5344
5939
  # auto_scaling_group_name: "XmlStringMaxLen255", # required
5345
5940
  # max_group_prepared_capacity: 1,
5346
5941
  # min_size: 1,
5347
- # pool_state: "Stopped", # accepts Stopped, Running
5942
+ # pool_state: "Stopped", # accepts Stopped, Running, Hibernated
5943
+ # instance_reuse_policy: {
5944
+ # reuse_on_scale_in: false,
5945
+ # },
5348
5946
  # })
5349
5947
  #
5350
5948
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/PutWarmPool AWS API Documentation
@@ -5363,22 +5961,26 @@ module Aws::AutoScaling
5363
5961
  # This step is a part of the procedure for adding a lifecycle hook to an
5364
5962
  # Auto Scaling group:
5365
5963
  #
5366
- # 1. (Optional) Create a Lambda function and a rule that allows Amazon
5367
- # EventBridge to invoke your Lambda function when Amazon EC2 Auto
5368
- # Scaling launches or terminates instances.
5964
+ # 1. (Optional) Create a launch template or launch configuration with a
5965
+ # user data script that runs while an instance is in a wait state
5966
+ # due to a lifecycle hook.
5369
5967
  #
5370
- # 2. (Optional) Create a notification target and an IAM role. The
5968
+ # 2. (Optional) Create a Lambda function and a rule that allows Amazon
5969
+ # EventBridge to invoke your Lambda function when an instance is put
5970
+ # into a wait state due to a lifecycle hook.
5971
+ #
5972
+ # 3. (Optional) Create a notification target and an IAM role. The
5371
5973
  # target can be either an Amazon SQS queue or an Amazon SNS topic.
5372
5974
  # The role allows Amazon EC2 Auto Scaling to publish lifecycle
5373
5975
  # notifications to the target.
5374
5976
  #
5375
- # 3. Create the lifecycle hook. Specify whether the hook is used when
5977
+ # 4. Create the lifecycle hook. Specify whether the hook is used when
5376
5978
  # the instances launch or terminate.
5377
5979
  #
5378
- # 4. **If you need more time, record the lifecycle action heartbeat to
5379
- # keep the instance in a pending state.**
5980
+ # 5. **If you need more time, record the lifecycle action heartbeat to
5981
+ # keep the instance in a wait state.**
5380
5982
  #
5381
- # 5. If you finish before the timeout period ends, send a callback by
5983
+ # 6. If you finish before the timeout period ends, send a callback by
5382
5984
  # using the CompleteLifecycleAction API call.
5383
5985
  #
5384
5986
  # For more information, see [Amazon EC2 Auto Scaling lifecycle hooks][1]
@@ -5468,7 +6070,7 @@ module Aws::AutoScaling
5468
6070
  #
5469
6071
  # * `ScheduledActions`
5470
6072
  #
5471
- # If you omit this parameter, all processes are specified.
6073
+ # If you omit this property, all processes are specified.
5472
6074
  #
5473
6075
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
5474
6076
  #
@@ -5500,6 +6102,63 @@ module Aws::AutoScaling
5500
6102
  req.send_request(options)
5501
6103
  end
5502
6104
 
6105
+ # Cancels an instance refresh that is in progress and rolls back any
6106
+ # changes that it made. Amazon EC2 Auto Scaling replaces any instances
6107
+ # that were replaced during the instance refresh. This restores your
6108
+ # Auto Scaling group to the configuration that it was using before the
6109
+ # start of the instance refresh.
6110
+ #
6111
+ # This operation is part of the [instance refresh feature][1] in Amazon
6112
+ # EC2 Auto Scaling, which helps you update instances in your Auto
6113
+ # Scaling group after you make configuration changes.
6114
+ #
6115
+ # A rollback is not supported in the following situations:
6116
+ #
6117
+ # * There is no desired configuration specified for the instance
6118
+ # refresh.
6119
+ #
6120
+ # * The Auto Scaling group has a launch template that uses an Amazon Web
6121
+ # Services Systems Manager parameter instead of an AMI ID for the
6122
+ # `ImageId` property.
6123
+ #
6124
+ # * The Auto Scaling group uses the launch template's `$Latest` or
6125
+ # `$Default` version.
6126
+ #
6127
+ # When you receive a successful response from this operation, Amazon EC2
6128
+ # Auto Scaling immediately begins replacing instances. You can check the
6129
+ # status of this operation through the DescribeInstanceRefreshes API
6130
+ # operation.
6131
+ #
6132
+ #
6133
+ #
6134
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-refresh.html
6135
+ #
6136
+ # @option params [required, String] :auto_scaling_group_name
6137
+ # The name of the Auto Scaling group.
6138
+ #
6139
+ # @return [Types::RollbackInstanceRefreshAnswer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6140
+ #
6141
+ # * {Types::RollbackInstanceRefreshAnswer#instance_refresh_id #instance_refresh_id} => String
6142
+ #
6143
+ # @example Request syntax with placeholder values
6144
+ #
6145
+ # resp = client.rollback_instance_refresh({
6146
+ # auto_scaling_group_name: "XmlStringMaxLen255", # required
6147
+ # })
6148
+ #
6149
+ # @example Response structure
6150
+ #
6151
+ # resp.instance_refresh_id #=> String
6152
+ #
6153
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/RollbackInstanceRefresh AWS API Documentation
6154
+ #
6155
+ # @overload rollback_instance_refresh(params = {})
6156
+ # @param [Hash] params ({})
6157
+ def rollback_instance_refresh(params = {}, options = {})
6158
+ req = build_request(:rollback_instance_refresh, params)
6159
+ req.send_request(options)
6160
+ end
6161
+
5503
6162
  # Sets the size of the specified Auto Scaling group.
5504
6163
  #
5505
6164
  # If a scale-in activity occurs as a result of a new `DesiredCapacity`
@@ -5688,9 +6347,9 @@ module Aws::AutoScaling
5688
6347
  req.send_request(options)
5689
6348
  end
5690
6349
 
5691
- # Starts a new instance refresh operation. An instance refresh performs
5692
- # a rolling replacement of all or some instances in an Auto Scaling
5693
- # group. Each instance is terminated first and then replaced, which
6350
+ # Starts an instance refresh. During an instance refresh, Amazon EC2
6351
+ # Auto Scaling performs a rolling update of instances in an Auto Scaling
6352
+ # group. Instances are terminated first and then replaced, which
5694
6353
  # temporarily reduces the capacity available within your Auto Scaling
5695
6354
  # group.
5696
6355
  #
@@ -5702,12 +6361,26 @@ module Aws::AutoScaling
5702
6361
  # start an instance refresh to immediately begin the process of updating
5703
6362
  # instances in the group.
5704
6363
  #
5705
- # If the call succeeds, it creates a new instance refresh request with a
5706
- # unique ID that you can use to track its progress. To query its status,
5707
- # call the DescribeInstanceRefreshes API. To describe the instance
5708
- # refreshes that have already run, call the DescribeInstanceRefreshes
5709
- # API. To cancel an instance refresh operation in progress, use the
5710
- # CancelInstanceRefresh API.
6364
+ # If successful, the request's response contains a unique ID that you
6365
+ # can use to track the progress of the instance refresh. To query its
6366
+ # status, call the DescribeInstanceRefreshes API. To describe the
6367
+ # instance refreshes that have already run, call the
6368
+ # DescribeInstanceRefreshes API. To cancel an instance refresh that is
6369
+ # in progress, use the CancelInstanceRefresh API.
6370
+ #
6371
+ # An instance refresh might fail for several reasons, such as EC2 launch
6372
+ # failures, misconfigured health checks, or not ignoring or allowing the
6373
+ # termination of instances that are in `Standby` state or protected from
6374
+ # scale in. You can monitor for failed EC2 launches using the scaling
6375
+ # activities. To find the scaling activities, call the
6376
+ # DescribeScalingActivities API.
6377
+ #
6378
+ # If you enable auto rollback, your Auto Scaling group will be rolled
6379
+ # back automatically when the instance refresh fails. You can enable
6380
+ # this feature before starting an instance refresh by specifying the
6381
+ # `AutoRollback` property in the instance refresh preferences.
6382
+ # Otherwise, to roll back an instance refresh before it finishes, use
6383
+ # the RollbackInstanceRefresh API.
5711
6384
  #
5712
6385
  #
5713
6386
  #
@@ -5720,12 +6393,6 @@ module Aws::AutoScaling
5720
6393
  # The strategy to use for the instance refresh. The only valid value is
5721
6394
  # `Rolling`.
5722
6395
  #
5723
- # A rolling update helps you update your instances gradually. A rolling
5724
- # update can fail due to failed health checks or if instances are on
5725
- # standby or are protected from scale in. If the rolling update process
5726
- # fails, any instances that are replaced are not rolled back to their
5727
- # previous configuration.
5728
- #
5729
6396
  # @option params [Types::DesiredConfiguration] :desired_configuration
5730
6397
  # The desired configuration. For example, the desired configuration can
5731
6398
  # specify a new launch template or a new version of the current launch
@@ -5739,14 +6406,26 @@ module Aws::AutoScaling
5739
6406
  # launch template for your desired configuration, consider enabling the
5740
6407
  # `SkipMatching` property in preferences. If it's enabled, Amazon EC2
5741
6408
  # Auto Scaling skips replacing instances that already use the specified
5742
- # launch template and version. This can help you reduce the number of
5743
- # replacements that are required to apply updates.
6409
+ # launch template and instance types. This can help you reduce the
6410
+ # number of replacements that are required to apply updates.
5744
6411
  #
5745
6412
  # </note>
5746
6413
  #
5747
6414
  # @option params [Types::RefreshPreferences] :preferences
5748
- # Set of preferences associated with the instance refresh request. If
5749
- # not provided, the default values are used.
6415
+ # Sets your preferences for the instance refresh so that it performs as
6416
+ # expected when you start it. Includes the instance warmup time, the
6417
+ # minimum healthy percentage, and the behaviors that you want Amazon EC2
6418
+ # Auto Scaling to use if instances that are in `Standby` state or
6419
+ # protected from scale in are found. You can also choose to enable
6420
+ # additional features, such as the following:
6421
+ #
6422
+ # * Auto rollback
6423
+ #
6424
+ # * Checkpoints
6425
+ #
6426
+ # * CloudWatch alarms
6427
+ #
6428
+ # * Skip matching
5750
6429
  #
5751
6430
  # @return [Types::StartInstanceRefreshAnswer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5752
6431
  #
@@ -5759,9 +6438,21 @@ module Aws::AutoScaling
5759
6438
  #
5760
6439
  # resp = client.start_instance_refresh({
5761
6440
  # auto_scaling_group_name: "my-auto-scaling-group",
6441
+ # desired_configuration: {
6442
+ # launch_template: {
6443
+ # launch_template_name: "my-template-for-auto-scaling",
6444
+ # version: "$Latest",
6445
+ # },
6446
+ # },
5762
6447
  # preferences: {
5763
- # instance_warmup: 400,
5764
- # min_healthy_percentage: 50,
6448
+ # alarm_specification: {
6449
+ # alarms: [
6450
+ # "my-alarm",
6451
+ # ],
6452
+ # },
6453
+ # auto_rollback: true,
6454
+ # instance_warmup: 200,
6455
+ # min_healthy_percentage: 90,
5765
6456
  # },
5766
6457
  # })
5767
6458
  #
@@ -5843,6 +6534,11 @@ module Aws::AutoScaling
5843
6534
  # min: 1,
5844
6535
  # max: 1,
5845
6536
  # },
6537
+ # network_bandwidth_gbps: {
6538
+ # min: 1.0,
6539
+ # max: 1.0,
6540
+ # },
6541
+ # allowed_instance_types: ["AllowedInstanceType"],
5846
6542
  # },
5847
6543
  # },
5848
6544
  # ],
@@ -5863,6 +6559,12 @@ module Aws::AutoScaling
5863
6559
  # checkpoint_percentages: [1],
5864
6560
  # checkpoint_delay: 1,
5865
6561
  # skip_matching: false,
6562
+ # auto_rollback: false,
6563
+ # scale_in_protected_instances: "Refresh", # accepts Refresh, Ignore, Wait
6564
+ # standby_instances: "Terminate", # accepts Terminate, Ignore, Wait
6565
+ # alarm_specification: {
6566
+ # alarms: ["XmlStringMaxLen255"],
6567
+ # },
5866
6568
  # },
5867
6569
  # })
5868
6570
  #
@@ -5918,7 +6620,7 @@ module Aws::AutoScaling
5918
6620
  #
5919
6621
  # * `ScheduledActions`
5920
6622
  #
5921
- # If you omit this parameter, all processes are specified.
6623
+ # If you omit this property, all processes are specified.
5922
6624
  #
5923
6625
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
5924
6626
  #
@@ -6012,7 +6714,7 @@ module Aws::AutoScaling
6012
6714
  # resp.activity.cause #=> String
6013
6715
  # resp.activity.start_time #=> Time
6014
6716
  # resp.activity.end_time #=> Time
6015
- # resp.activity.status_code #=> String, one of "PendingSpotBidPlacement", "WaitingForSpotInstanceRequestId", "WaitingForSpotInstanceId", "WaitingForInstanceId", "PreInService", "InProgress", "WaitingForELBConnectionDraining", "MidLifecycleAction", "WaitingForInstanceWarmup", "Successful", "Failed", "Cancelled"
6717
+ # resp.activity.status_code #=> String, one of "PendingSpotBidPlacement", "WaitingForSpotInstanceRequestId", "WaitingForSpotInstanceId", "WaitingForInstanceId", "PreInService", "InProgress", "WaitingForELBConnectionDraining", "MidLifecycleAction", "WaitingForInstanceWarmup", "Successful", "Failed", "Cancelled", "WaitingForConnectionDraining"
6016
6718
  # resp.activity.status_message #=> String
6017
6719
  # resp.activity.progress #=> Integer
6018
6720
  # resp.activity.details #=> String
@@ -6035,7 +6737,7 @@ module Aws::AutoScaling
6035
6737
  # Updates the configuration for the specified Auto Scaling group.
6036
6738
  #
6037
6739
  # To update an Auto Scaling group, specify the name of the group and the
6038
- # parameter that you want to change. Any parameters that you don't
6740
+ # property that you want to change. Any properties that you don't
6039
6741
  # specify are not changed by this update request. The new settings take
6040
6742
  # effect on any scaling activities after this call returns.
6041
6743
  #
@@ -6054,7 +6756,7 @@ module Aws::AutoScaling
6054
6756
  # performance or availability of your application.
6055
6757
  #
6056
6758
  # Note the following about changing `DesiredCapacity`, `MaxSize`, or
6057
- # `MinSize`\:
6759
+ # `MinSize`:
6058
6760
  #
6059
6761
  # * If a scale-in activity occurs as a result of a new `DesiredCapacity`
6060
6762
  # value that is lower than the current size of the group, the Auto
@@ -6071,7 +6773,7 @@ module Aws::AutoScaling
6071
6773
  # current size of the group, this sets the group's `DesiredCapacity`
6072
6774
  # to the new `MaxSize` value.
6073
6775
  #
6074
- # To see which parameters have been set, call the
6776
+ # To see which properties have been set, call the
6075
6777
  # DescribeAutoScalingGroups API. To view the scaling policies for an
6076
6778
  # Auto Scaling group, call the DescribePolicies API. If the group has
6077
6779
  # scaling policies, you can update them by calling the PutScalingPolicy
@@ -6091,9 +6793,9 @@ module Aws::AutoScaling
6091
6793
  # `LaunchConfigurationName` or `MixedInstancesPolicy`.
6092
6794
  #
6093
6795
  # @option params [Types::MixedInstancesPolicy] :mixed_instances_policy
6094
- # An embedded object that specifies a mixed instances policy. For more
6095
- # information, see [Auto Scaling groups with multiple instance types and
6096
- # purchase options][1] in the *Amazon EC2 Auto Scaling User Guide*.
6796
+ # The mixed instances policy. For more information, see [Auto Scaling
6797
+ # groups with multiple instance types and purchase options][1] in the
6798
+ # *Amazon EC2 Auto Scaling User Guide*.
6097
6799
  #
6098
6800
  #
6099
6801
  #
@@ -6122,10 +6824,10 @@ module Aws::AutoScaling
6122
6824
  # group.
6123
6825
  #
6124
6826
  # @option params [Integer] :default_cooldown
6125
- # The amount of time, in seconds, after a scaling activity completes
6126
- # before another scaling activity can start. The default value is `300`.
6127
- # This setting applies when using simple scaling policies, but not when
6128
- # using other scaling policies or scheduled scaling. For more
6827
+ # *Only needed if you use simple scaling policies.*
6828
+ #
6829
+ # The amount of time, in seconds, between one scaling activity ending
6830
+ # and another one starting due to simple scaling policies. For more
6129
6831
  # information, see [Scaling cooldowns for Amazon EC2 Auto Scaling][1] in
6130
6832
  # the *Amazon EC2 Auto Scaling User Guide*.
6131
6833
  #
@@ -6137,31 +6839,42 @@ module Aws::AutoScaling
6137
6839
  # One or more Availability Zones for the group.
6138
6840
  #
6139
6841
  # @option params [String] :health_check_type
6140
- # The service to use for the health checks. The valid values are `EC2`
6141
- # and `ELB`. If you configure an Auto Scaling group to use `ELB` health
6142
- # checks, it considers the instance unhealthy if it fails either the EC2
6143
- # status checks or the load balancer health checks.
6842
+ # A comma-separated value string of one or more health check types.
6843
+ #
6844
+ # The valid values are `EC2`, `ELB`, and `VPC_LATTICE`. `EC2` is the
6845
+ # default health check and cannot be disabled. For more information, see
6846
+ # [Health checks for Auto Scaling instances][1] in the *Amazon EC2 Auto
6847
+ # Scaling User Guide*.
6848
+ #
6849
+ # Only specify `EC2` if you must clear a value that was previously set.
6850
+ #
6851
+ #
6852
+ #
6853
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html
6144
6854
  #
6145
6855
  # @option params [Integer] :health_check_grace_period
6146
6856
  # The amount of time, in seconds, that Amazon EC2 Auto Scaling waits
6147
6857
  # before checking the health status of an EC2 instance that has come
6148
6858
  # into service and marking it unhealthy due to a failed health check.
6149
- # The default value is `0`. For more information, see [Health check
6150
- # grace period][1] in the *Amazon EC2 Auto Scaling User Guide*.
6151
- #
6152
- # Conditional: Required if you are adding an `ELB` health check.
6859
+ # This is useful if your instances do not immediately pass their health
6860
+ # checks after they enter the `InService` state. For more information,
6861
+ # see [Set the health check grace period for an Auto Scaling group][1]
6862
+ # in the *Amazon EC2 Auto Scaling User Guide*.
6153
6863
  #
6154
6864
  #
6155
6865
  #
6156
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html#health-check-grace-period
6866
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/health-check-grace-period.html
6157
6867
  #
6158
6868
  # @option params [String] :placement_group
6159
6869
  # The name of an existing placement group into which to launch your
6160
- # instances, if any. A placement group is a logical grouping of
6161
- # instances within a single Availability Zone. You cannot specify
6162
- # multiple Availability Zones and a placement group. For more
6163
- # information, see [Placement Groups][1] in the *Amazon EC2 User Guide
6164
- # for Linux Instances*.
6870
+ # instances. For more information, see [Placement groups][1] in the
6871
+ # *Amazon EC2 User Guide for Linux Instances*.
6872
+ #
6873
+ # <note markdown="1"> A *cluster* placement group is a logical grouping of instances within
6874
+ # a single Availability Zone. You cannot specify multiple Availability
6875
+ # Zones and a cluster placement group.
6876
+ #
6877
+ # </note>
6165
6878
  #
6166
6879
  #
6167
6880
  #
@@ -6170,19 +6883,22 @@ module Aws::AutoScaling
6170
6883
  # @option params [String] :vpc_zone_identifier
6171
6884
  # A comma-separated list of subnet IDs for a virtual private cloud
6172
6885
  # (VPC). If you specify `VPCZoneIdentifier` with `AvailabilityZones`,
6173
- # the subnets that you specify for this parameter must reside in those
6174
- # Availability Zones.
6886
+ # the subnets that you specify must reside in those Availability Zones.
6175
6887
  #
6176
6888
  # @option params [Array<String>] :termination_policies
6177
6889
  # A policy or a list of policies that are used to select the instances
6178
6890
  # to terminate. The policies are executed in the order that you list
6179
- # them. For more information, see [Controlling which Auto Scaling
6180
- # instances terminate during scale in][1] in the *Amazon EC2 Auto
6181
- # Scaling User Guide*.
6891
+ # them. For more information, see [Work with Amazon EC2 Auto Scaling
6892
+ # termination policies][1] in the *Amazon EC2 Auto Scaling User Guide*.
6182
6893
  #
6894
+ # Valid values: `Default` \| `AllocationStrategy` \|
6895
+ # `ClosestToNextInstanceHour` \| `NewestInstance` \| `OldestInstance` \|
6896
+ # `OldestLaunchConfiguration` \| `OldestLaunchTemplate` \|
6897
+ # `arn:aws:lambda:region:account-id:function:my-function:my-alias`
6183
6898
  #
6184
6899
  #
6185
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html
6900
+ #
6901
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-termination-policies.html
6186
6902
  #
6187
6903
  # @option params [Boolean] :new_instances_protected_from_scale_in
6188
6904
  # Indicates whether newly launched instances are protected from
@@ -6219,8 +6935,8 @@ module Aws::AutoScaling
6219
6935
  #
6220
6936
  # @option params [Boolean] :capacity_rebalance
6221
6937
  # Enables or disables Capacity Rebalancing. For more information, see
6222
- # [Amazon EC2 Auto Scaling Capacity Rebalancing][1] in the *Amazon EC2
6223
- # Auto Scaling User Guide*.
6938
+ # [Use Capacity Rebalancing to handle Amazon EC2 Spot Interruptions][1]
6939
+ # in the *Amazon EC2 Auto Scaling User Guide*.
6224
6940
  #
6225
6941
  #
6226
6942
  #
@@ -6245,34 +6961,46 @@ module Aws::AutoScaling
6245
6961
  #
6246
6962
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html
6247
6963
  #
6248
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
6964
+ # @option params [Integer] :default_instance_warmup
6965
+ # The amount of time, in seconds, until a new instance is considered to
6966
+ # have finished initializing and resource consumption to become stable
6967
+ # after it enters the `InService` state.
6249
6968
  #
6969
+ # During an instance refresh, Amazon EC2 Auto Scaling waits for the
6970
+ # warm-up period after it replaces an instance before it moves on to
6971
+ # replacing the next instance. Amazon EC2 Auto Scaling also waits for
6972
+ # the warm-up period before aggregating the metrics for new instances
6973
+ # with existing instances in the Amazon CloudWatch metrics that are used
6974
+ # for scaling, resulting in more reliable usage data. For more
6975
+ # information, see [Set the default instance warmup for an Auto Scaling
6976
+ # group][1] in the *Amazon EC2 Auto Scaling User Guide*.
6250
6977
  #
6251
- # @example Example: To update the launch configuration
6978
+ # To manage various warm-up settings at the group level, we recommend
6979
+ # that you set the default instance warmup, *even if it is set to 0
6980
+ # seconds*. To remove a value that you previously set, include the
6981
+ # property but specify `-1` for the value. However, we strongly
6982
+ # recommend keeping the default instance warmup enabled by specifying a
6983
+ # value of `0` or other nominal value.
6252
6984
  #
6253
- # # This example updates the launch configuration of the specified Auto Scaling group.
6254
6985
  #
6255
- # resp = client.update_auto_scaling_group({
6256
- # auto_scaling_group_name: "my-auto-scaling-group",
6257
- # launch_configuration_name: "new-launch-config",
6258
- # })
6259
6986
  #
6260
- # @example Example: To update the minimum and maximum size
6987
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-default-instance-warmup.html
6261
6988
  #
6262
- # # This example updates the minimum size and maximum size of the specified Auto Scaling group.
6989
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
6263
6990
  #
6264
- # resp = client.update_auto_scaling_group({
6265
- # auto_scaling_group_name: "my-auto-scaling-group",
6266
- # max_size: 3,
6267
- # min_size: 1,
6268
- # })
6269
6991
  #
6270
- # @example Example: To enable instance protection
6992
+ # @example Example: To update an Auto Scaling group
6271
6993
  #
6272
- # # This example enables instance protection for the specified Auto Scaling group.
6994
+ # # This example updates multiple properties at the same time.
6273
6995
  #
6274
6996
  # resp = client.update_auto_scaling_group({
6275
6997
  # auto_scaling_group_name: "my-auto-scaling-group",
6998
+ # launch_template: {
6999
+ # launch_template_name: "my-template-for-auto-scaling",
7000
+ # version: "2",
7001
+ # },
7002
+ # max_size: 5,
7003
+ # min_size: 1,
6276
7004
  # new_instances_protected_from_scale_in: true,
6277
7005
  # })
6278
7006
  #
@@ -6348,6 +7076,11 @@ module Aws::AutoScaling
6348
7076
  # min: 1,
6349
7077
  # max: 1,
6350
7078
  # },
7079
+ # network_bandwidth_gbps: {
7080
+ # min: 1.0,
7081
+ # max: 1.0,
7082
+ # },
7083
+ # allowed_instance_types: ["AllowedInstanceType"],
6351
7084
  # },
6352
7085
  # },
6353
7086
  # ],
@@ -6377,6 +7110,7 @@ module Aws::AutoScaling
6377
7110
  # capacity_rebalance: false,
6378
7111
  # context: "Context",
6379
7112
  # desired_capacity_type: "XmlStringMaxLen255",
7113
+ # default_instance_warmup: 1,
6380
7114
  # })
6381
7115
  #
6382
7116
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/UpdateAutoScalingGroup AWS API Documentation
@@ -6401,7 +7135,7 @@ module Aws::AutoScaling
6401
7135
  params: params,
6402
7136
  config: config)
6403
7137
  context[:gem_name] = 'aws-sdk-autoscaling'
6404
- context[:gem_version] = '1.75.0'
7138
+ context[:gem_version] = '1.99.0'
6405
7139
  Seahorse::Client::Request.new(handlers, context)
6406
7140
  end
6407
7141