aws-sdk-autoscaling 1.75.0 → 1.99.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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