aws-sdk-autoscaling 1.85.0 → 1.87.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.
@@ -425,6 +425,16 @@ module Aws::AutoScaling
425
425
  req.send_request(options)
426
426
  end
427
427
 
428
+ # <note markdown="1"> This API call has been replaced with a new "traffic sources" API
429
+ # call (`AttachTrafficSources`) that can attach multiple traffic sources
430
+ # types. While we continue to support `AttachLoadBalancerTargetGroups`,
431
+ # and you can use both the original `AttachLoadBalancerTargetGroups` API
432
+ # call and the new `AttachTrafficSources` API call on the same Auto
433
+ # Scaling group, we recommend using the new "traffic sources" API call
434
+ # to simplify how you manage traffic sources.
435
+ #
436
+ # </note>
437
+ #
428
438
  # Attaches one or more target groups to the specified Auto Scaling
429
439
  # group.
430
440
  #
@@ -495,9 +505,13 @@ module Aws::AutoScaling
495
505
  req.send_request(options)
496
506
  end
497
507
 
498
- # <note markdown="1"> To attach an Application Load Balancer, Network Load Balancer, or
499
- # Gateway Load Balancer, use the AttachLoadBalancerTargetGroups API
500
- # operation instead.
508
+ # <note markdown="1"> This API call has been replaced with a new "traffic sources" API
509
+ # call (`AttachTrafficSources`) that can attach multiple traffic sources
510
+ # types. While we continue to support `AttachLoadBalancers`, and you can
511
+ # use both the original `AttachLoadBalancers` API call and the new
512
+ # `AttachTrafficSources` API call on the same Auto Scaling group, we
513
+ # recommend using the new "traffic sources" API call to simplify how
514
+ # you manage traffic sources.
501
515
  #
502
516
  # </note>
503
517
  #
@@ -557,20 +571,30 @@ module Aws::AutoScaling
557
571
  req.send_request(options)
558
572
  end
559
573
 
560
- # **Reserved for use with Amazon VPC Lattice, which is in preview and
561
- # subject to change. Do not use this API for production workloads. This
562
- # API is also subject to change.**
563
- #
564
574
  # Attaches one or more traffic sources to the specified Auto Scaling
565
575
  # group.
566
576
  #
567
- # To describe the traffic sources for an Auto Scaling group, call the
568
- # DescribeTrafficSources API. To detach a traffic source from the Auto
569
- # Scaling group, call the DetachTrafficSources API.
577
+ # You can use any of the following as traffic sources for an Auto
578
+ # Scaling group:
579
+ #
580
+ # * Application Load Balancer
581
+ #
582
+ # * Classic Load Balancer
583
+ #
584
+ # * Network Load Balancer
585
+ #
586
+ # * Gateway Load Balancer
587
+ #
588
+ # * VPC Lattice
570
589
  #
571
590
  # This operation is additive and does not detach existing traffic
572
591
  # sources from the Auto Scaling group.
573
592
  #
593
+ # After the operation completes, use the DescribeTrafficSources API to
594
+ # return details about the state of the attachments between traffic
595
+ # sources and your Auto Scaling group. To detach a traffic source from
596
+ # the Auto Scaling group, call the DetachTrafficSources API.
597
+ #
574
598
  # @option params [required, String] :auto_scaling_group_name
575
599
  # The name of the Auto Scaling group.
576
600
  #
@@ -578,21 +602,34 @@ module Aws::AutoScaling
578
602
  # The unique identifiers of one or more traffic sources. You can specify
579
603
  # up to 10 traffic sources.
580
604
  #
581
- # Currently, you must specify an Amazon Resource Name (ARN) for an
582
- # existing VPC Lattice target group. Amazon EC2 Auto Scaling registers
583
- # the running instances with the attached target groups. The target
584
- # groups receive incoming traffic and route requests to one or more
585
- # registered targets.
586
- #
587
605
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
588
606
  #
607
+ #
608
+ # @example Example: To attach a target group to an Auto Scaling group
609
+ #
610
+ # # This example attaches the specified target group to the specified Auto Scaling group.
611
+ #
612
+ # resp = client.attach_traffic_sources({
613
+ # auto_scaling_group_name: "my-auto-scaling-group",
614
+ # traffic_sources: [
615
+ # {
616
+ # identifier: "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067",
617
+ # },
618
+ # ],
619
+ # })
620
+ #
621
+ # resp.to_h outputs the following:
622
+ # {
623
+ # }
624
+ #
589
625
  # @example Request syntax with placeholder values
590
626
  #
591
627
  # resp = client.attach_traffic_sources({
592
628
  # auto_scaling_group_name: "XmlStringMaxLen255", # required
593
629
  # traffic_sources: [ # required
594
630
  # {
595
- # identifier: "XmlStringMaxLen511",
631
+ # identifier: "XmlStringMaxLen511", # required
632
+ # type: "XmlStringMaxLen511",
596
633
  # },
597
634
  # ],
598
635
  # })
@@ -690,14 +727,18 @@ module Aws::AutoScaling
690
727
  req.send_request(options)
691
728
  end
692
729
 
693
- # Cancels an instance refresh operation in progress. Cancellation does
694
- # not roll back any replacements that have already been completed, but
695
- # it prevents new replacements from being started.
730
+ # Cancels an instance refresh or rollback that is in progress. If an
731
+ # instance refresh or rollback is not in progress, an
732
+ # `ActiveInstanceRefreshNotFound` error occurs.
696
733
  #
697
734
  # This operation is part of the [instance refresh feature][1] in Amazon
698
735
  # EC2 Auto Scaling, which helps you update instances in your Auto
699
736
  # Scaling group after you make configuration changes.
700
737
  #
738
+ # When you cancel an instance refresh, this does not roll back any
739
+ # changes that it made. Use the RollbackInstanceRefresh API to roll back
740
+ # instead.
741
+ #
701
742
  #
702
743
  #
703
744
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-refresh.html
@@ -968,7 +1009,8 @@ module Aws::AutoScaling
968
1009
  # @option params [Array<String>] :load_balancer_names
969
1010
  # A list of Classic Load Balancers associated with this Auto Scaling
970
1011
  # group. For Application Load Balancers, Network Load Balancers, and
971
- # Gateway Load Balancer, specify the `TargetGroupARNs` property instead.
1012
+ # Gateway Load Balancers, specify the `TargetGroupARNs` property
1013
+ # instead.
972
1014
  #
973
1015
  # @option params [Array<String>] :target_group_arns
974
1016
  # The Amazon Resource Names (ARN) of the Elastic Load Balancing target
@@ -984,14 +1026,12 @@ module Aws::AutoScaling
984
1026
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html
985
1027
  #
986
1028
  # @option params [String] :health_check_type
987
- # Determines whether any additional health checks are performed on the
988
- # instances in this group. Amazon EC2 health checks are always on. For
989
- # more information, see [Health checks for Auto Scaling instances][1] in
990
- # the *Amazon EC2 Auto Scaling User Guide*.
1029
+ # A comma-separated list of one or more health check types.
991
1030
  #
992
- # The valid values are `EC2` (default), `ELB`, and `VPC_LATTICE`. The
993
- # `VPC_LATTICE` health check type is reserved for use with VPC Lattice,
994
- # which is in preview release and is subject to change.
1031
+ # The valid values are `EC2`, `ELB`, and `VPC_LATTICE`. `EC2` is the
1032
+ # default health check and cannot be disabled. For more information, see
1033
+ # [Health checks for Auto Scaling instances][1] in the *Amazon EC2 Auto
1034
+ # Scaling User Guide*.
995
1035
  #
996
1036
  #
997
1037
  #
@@ -1135,24 +1175,25 @@ module Aws::AutoScaling
1135
1175
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html
1136
1176
  #
1137
1177
  # @option params [Integer] :default_instance_warmup
1138
- # The amount of time, in seconds, until a newly launched instance can
1139
- # contribute to the Amazon CloudWatch metrics. This delay lets an
1140
- # instance finish initializing before Amazon EC2 Auto Scaling aggregates
1141
- # instance metrics, resulting in more reliable usage data. Set this
1142
- # value equal to the amount of time that it takes for resource
1143
- # consumption to become stable after an instance reaches the `InService`
1144
- # state. For more information, see [Set the default instance warmup for
1145
- # an Auto Scaling group][1] in the *Amazon EC2 Auto Scaling User Guide*.
1146
- #
1147
- # To manage your warm-up settings at the group level, we recommend that
1148
- # you set the default instance warmup, *even if its value is set to 0
1149
- # seconds*. This also optimizes the performance of scaling policies that
1150
- # scale continuously, such as target tracking and step scaling policies.
1151
- #
1152
- # If you need to remove a value that you previously set, include the
1178
+ # The amount of time, in seconds, until a new instance is considered to
1179
+ # have finished initializing and resource consumption to become stable
1180
+ # after it enters the `InService` state.
1181
+ #
1182
+ # During an instance refresh, Amazon EC2 Auto Scaling waits for the
1183
+ # warm-up period after it replaces an instance before it moves on to
1184
+ # replacing the next instance. Amazon EC2 Auto Scaling also waits for
1185
+ # the warm-up period before aggregating the metrics for new instances
1186
+ # with existing instances in the Amazon CloudWatch metrics that are used
1187
+ # for scaling, resulting in more reliable usage data. For more
1188
+ # information, see [Set the default instance warmup for an Auto Scaling
1189
+ # group][1] in the *Amazon EC2 Auto Scaling User Guide*.
1190
+ #
1191
+ # To manage various warm-up settings at the group level, we recommend
1192
+ # that you set the default instance warmup, *even if it is set to 0
1193
+ # seconds*. To remove a value that you previously set, include the
1153
1194
  # property but specify `-1` for the value. However, we strongly
1154
1195
  # recommend keeping the default instance warmup enabled by specifying a
1155
- # minimum value of `0`.
1196
+ # value of `0` or other nominal value.
1156
1197
  #
1157
1198
  # Default: None
1158
1199
  #
@@ -1161,17 +1202,10 @@ module Aws::AutoScaling
1161
1202
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-default-instance-warmup.html
1162
1203
  #
1163
1204
  # @option params [Array<Types::TrafficSourceIdentifier>] :traffic_sources
1164
- # **Reserved for use with Amazon VPC Lattice, which is in preview
1165
- # release and is subject to change. Do not use this parameter for
1166
- # production workloads. It is also subject to change.**
1167
- #
1168
- # The unique identifiers of one or more traffic sources.
1169
- #
1170
- # Currently, you must specify an Amazon Resource Name (ARN) for an
1171
- # existing VPC Lattice target group. Amazon EC2 Auto Scaling registers
1172
- # the running instances with the attached target groups. The target
1173
- # groups receive incoming traffic and route requests to one or more
1174
- # registered targets.
1205
+ # The list of traffic sources to attach to this Auto Scaling group. You
1206
+ # can use any of the following as traffic sources for an Auto Scaling
1207
+ # group: Classic Load Balancer, Application Load Balancer, Gateway Load
1208
+ # Balancer, Network Load Balancer, and VPC Lattice.
1175
1209
  #
1176
1210
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1177
1211
  #
@@ -1385,7 +1419,8 @@ module Aws::AutoScaling
1385
1419
  # default_instance_warmup: 1,
1386
1420
  # traffic_sources: [
1387
1421
  # {
1388
- # identifier: "XmlStringMaxLen511",
1422
+ # identifier: "XmlStringMaxLen511", # required
1423
+ # type: "XmlStringMaxLen511",
1389
1424
  # },
1390
1425
  # ],
1391
1426
  # })
@@ -2473,6 +2508,7 @@ module Aws::AutoScaling
2473
2508
  # resp.auto_scaling_groups[0].default_instance_warmup #=> Integer
2474
2509
  # resp.auto_scaling_groups[0].traffic_sources #=> Array
2475
2510
  # resp.auto_scaling_groups[0].traffic_sources[0].identifier #=> String
2511
+ # resp.auto_scaling_groups[0].traffic_sources[0].type #=> String
2476
2512
  # resp.next_token #=> String
2477
2513
  #
2478
2514
  #
@@ -2623,29 +2659,14 @@ module Aws::AutoScaling
2623
2659
  # EC2 Auto Scaling, which helps you update instances in your Auto
2624
2660
  # Scaling group after you make configuration changes.
2625
2661
  #
2626
- # To help you determine the status of an instance refresh, this
2627
- # operation returns information about the instance refreshes you
2628
- # previously initiated, including their status, end time, the percentage
2629
- # of the instance refresh that is complete, and the number of instances
2630
- # remaining to update before the instance refresh is complete.
2631
- #
2632
- # The following are the possible statuses:
2633
- #
2634
- # * `Pending` - The request was created, but the operation has not
2635
- # started.
2636
- #
2637
- # * `InProgress` - The operation is in progress.
2638
- #
2639
- # * `Successful` - The operation completed successfully.
2640
- #
2641
- # * `Failed` - The operation failed to complete. You can troubleshoot
2642
- # using the status reason and the scaling activities.
2643
- #
2644
- # * `Cancelling` - An ongoing operation is being cancelled. Cancellation
2645
- # does not roll back any replacements that have already been
2646
- # completed, but it prevents new replacements from being started.
2647
- #
2648
- # * `Cancelled` - The operation is cancelled.
2662
+ # To help you determine the status of an instance refresh, Amazon EC2
2663
+ # Auto Scaling returns information about the instance refreshes you
2664
+ # previously initiated, including their status, start time, end time,
2665
+ # the percentage of the instance refresh that is complete, and the
2666
+ # number of instances remaining to update before the instance refresh is
2667
+ # complete. If a rollback is initiated while an instance refresh is in
2668
+ # progress, Amazon EC2 Auto Scaling also returns information about the
2669
+ # rollback of the instance refresh.
2649
2670
  #
2650
2671
  #
2651
2672
  #
@@ -2716,7 +2737,7 @@ module Aws::AutoScaling
2716
2737
  # resp.instance_refreshes #=> Array
2717
2738
  # resp.instance_refreshes[0].instance_refresh_id #=> String
2718
2739
  # resp.instance_refreshes[0].auto_scaling_group_name #=> String
2719
- # resp.instance_refreshes[0].status #=> String, one of "Pending", "InProgress", "Successful", "Failed", "Cancelling", "Cancelled"
2740
+ # resp.instance_refreshes[0].status #=> String, one of "Pending", "InProgress", "Successful", "Failed", "Cancelling", "Cancelled", "RollbackInProgress", "RollbackFailed", "RollbackSuccessful"
2720
2741
  # resp.instance_refreshes[0].status_reason #=> String
2721
2742
  # resp.instance_refreshes[0].start_time #=> Time
2722
2743
  # resp.instance_refreshes[0].end_time #=> Time
@@ -2732,6 +2753,9 @@ module Aws::AutoScaling
2732
2753
  # resp.instance_refreshes[0].preferences.checkpoint_percentages[0] #=> Integer
2733
2754
  # resp.instance_refreshes[0].preferences.checkpoint_delay #=> Integer
2734
2755
  # resp.instance_refreshes[0].preferences.skip_matching #=> Boolean
2756
+ # resp.instance_refreshes[0].preferences.auto_rollback #=> Boolean
2757
+ # resp.instance_refreshes[0].preferences.scale_in_protected_instances #=> String, one of "Refresh", "Ignore", "Wait"
2758
+ # resp.instance_refreshes[0].preferences.standby_instances #=> String, one of "Terminate", "Ignore", "Wait"
2735
2759
  # resp.instance_refreshes[0].desired_configuration.launch_template.launch_template_id #=> String
2736
2760
  # resp.instance_refreshes[0].desired_configuration.launch_template.launch_template_name #=> String
2737
2761
  # resp.instance_refreshes[0].desired_configuration.launch_template.version #=> String
@@ -2790,6 +2814,14 @@ module Aws::AutoScaling
2790
2814
  # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.instances_distribution.spot_allocation_strategy #=> String
2791
2815
  # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.instances_distribution.spot_instance_pools #=> Integer
2792
2816
  # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.instances_distribution.spot_max_price #=> String
2817
+ # resp.instance_refreshes[0].rollback_details.rollback_reason #=> String
2818
+ # resp.instance_refreshes[0].rollback_details.rollback_start_time #=> Time
2819
+ # resp.instance_refreshes[0].rollback_details.percentage_complete_on_rollback #=> Integer
2820
+ # resp.instance_refreshes[0].rollback_details.instances_to_update_on_rollback #=> Integer
2821
+ # resp.instance_refreshes[0].rollback_details.progress_details_on_rollback.live_pool_progress.percentage_complete #=> Integer
2822
+ # resp.instance_refreshes[0].rollback_details.progress_details_on_rollback.live_pool_progress.instances_to_update #=> Integer
2823
+ # resp.instance_refreshes[0].rollback_details.progress_details_on_rollback.warm_pool_progress.percentage_complete #=> Integer
2824
+ # resp.instance_refreshes[0].rollback_details.progress_details_on_rollback.warm_pool_progress.instances_to_update #=> Integer
2793
2825
  # resp.next_token #=> String
2794
2826
  #
2795
2827
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeInstanceRefreshes AWS API Documentation
@@ -3025,6 +3057,17 @@ module Aws::AutoScaling
3025
3057
  req.send_request(options)
3026
3058
  end
3027
3059
 
3060
+ # <note markdown="1"> This API call has been replaced with a new "traffic sources" API
3061
+ # call (`DescribeTrafficSources`) that can describe multiple traffic
3062
+ # sources types. While we continue to support
3063
+ # `DescribeLoadBalancerTargetGroups`, and you can use both the original
3064
+ # `DescribeLoadBalancerTargetGroups` API call and the new
3065
+ # `DescribeTrafficSources` API call on the same Auto Scaling group, we
3066
+ # recommend using the new "traffic sources" API call to simplify how
3067
+ # you manage traffic sources.
3068
+ #
3069
+ # </note>
3070
+ #
3028
3071
  # Gets information about the Elastic Load Balancing target groups for
3029
3072
  # the specified Auto Scaling group.
3030
3073
  #
@@ -3122,12 +3165,22 @@ module Aws::AutoScaling
3122
3165
  req.send_request(options)
3123
3166
  end
3124
3167
 
3168
+ # <note markdown="1"> This API call has been replaced with a new "traffic sources" API
3169
+ # call (`DescribeTrafficSources`) that can describe multiple traffic
3170
+ # sources types. While we continue to support `DescribeLoadBalancers`,
3171
+ # and you can use both the original `DescribeLoadBalancers` API call and
3172
+ # the new `DescribeTrafficSources` API call on the same Auto Scaling
3173
+ # group, we recommend using the new "traffic sources" API call to
3174
+ # simplify how you manage traffic sources.
3175
+ #
3176
+ # </note>
3177
+ #
3125
3178
  # Gets information about the load balancers for the specified Auto
3126
3179
  # Scaling group.
3127
3180
  #
3128
3181
  # This operation describes only Classic Load Balancers. If you have
3129
3182
  # Application Load Balancers, Network Load Balancers, or Gateway Load
3130
- # Balancer, use the DescribeLoadBalancerTargetGroups API instead.
3183
+ # Balancers, use the DescribeLoadBalancerTargetGroups API instead.
3131
3184
  #
3132
3185
  # To determine the attachment status of the load balancer, use the
3133
3186
  # `State` element in the response. When you attach a load balancer to an
@@ -3635,7 +3688,7 @@ module Aws::AutoScaling
3635
3688
  # resp.activities[0].cause #=> String
3636
3689
  # resp.activities[0].start_time #=> Time
3637
3690
  # resp.activities[0].end_time #=> Time
3638
- # resp.activities[0].status_code #=> String, one of "PendingSpotBidPlacement", "WaitingForSpotInstanceRequestId", "WaitingForSpotInstanceId", "WaitingForInstanceId", "PreInService", "InProgress", "WaitingForELBConnectionDraining", "MidLifecycleAction", "WaitingForInstanceWarmup", "Successful", "Failed", "Cancelled"
3691
+ # resp.activities[0].status_code #=> String, one of "PendingSpotBidPlacement", "WaitingForSpotInstanceRequestId", "WaitingForSpotInstanceId", "WaitingForInstanceId", "PreInService", "InProgress", "WaitingForELBConnectionDraining", "MidLifecycleAction", "WaitingForInstanceWarmup", "Successful", "Failed", "Cancelled", "WaitingForConnectionDraining"
3639
3692
  # resp.activities[0].status_message #=> String
3640
3693
  # resp.activities[0].progress #=> Integer
3641
3694
  # resp.activities[0].details #=> String
@@ -3964,19 +4017,30 @@ module Aws::AutoScaling
3964
4017
  req.send_request(options)
3965
4018
  end
3966
4019
 
3967
- # **Reserved for use with Amazon VPC Lattice, which is in preview and
3968
- # subject to change. Do not use this API for production workloads. This
3969
- # API is also subject to change.**
3970
- #
3971
4020
  # Gets information about the traffic sources for the specified Auto
3972
4021
  # Scaling group.
3973
4022
  #
4023
+ # You can optionally provide a traffic source type. If you provide a
4024
+ # traffic source type, then the results only include that traffic source
4025
+ # type.
4026
+ #
4027
+ # If you do not provide a traffic source type, then the results include
4028
+ # all the traffic sources for the specified Auto Scaling group.
4029
+ #
3974
4030
  # @option params [required, String] :auto_scaling_group_name
3975
4031
  # The name of the Auto Scaling group.
3976
4032
  #
3977
- # @option params [required, String] :traffic_source_type
3978
- # The type of traffic source you are describing. Currently, the only
3979
- # valid value is `vpc-lattice`.
4033
+ # @option params [String] :traffic_source_type
4034
+ # The traffic source type that you want to describe.
4035
+ #
4036
+ # The following lists the valid values:
4037
+ #
4038
+ # * `elb` if the traffic source is a Classic Load Balancer.
4039
+ #
4040
+ # * `elbv2` if the traffic source is a Application Load Balancer,
4041
+ # Gateway Load Balancer, or Network Load Balancer.
4042
+ #
4043
+ # * `vpc-lattice` if the traffic source is VPC Lattice.
3980
4044
  #
3981
4045
  # @option params [String] :next_token
3982
4046
  # The token for the next set of items to return. (You received this
@@ -3991,11 +4055,34 @@ module Aws::AutoScaling
3991
4055
  # * {Types::DescribeTrafficSourcesResponse#traffic_sources #traffic_sources} => Array&lt;Types::TrafficSourceState&gt;
3992
4056
  # * {Types::DescribeTrafficSourcesResponse#next_token #next_token} => String
3993
4057
  #
4058
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4059
+ #
4060
+ #
4061
+ # @example Example: To describe the target groups for an Auto Scaling group
4062
+ #
4063
+ # # This example describes the target groups attached to the specified Auto Scaling group.
4064
+ #
4065
+ # resp = client.describe_traffic_sources({
4066
+ # auto_scaling_group_name: "my-auto-scaling-group",
4067
+ # })
4068
+ #
4069
+ # resp.to_h outputs the following:
4070
+ # {
4071
+ # next_token: "",
4072
+ # traffic_sources: [
4073
+ # {
4074
+ # identifier: "arn:aws:vpc-lattice:us-west-2:123456789012:targetgroup/tg-0e2f2665eEXAMPLE",
4075
+ # state: "InService",
4076
+ # type: "vpc-lattice",
4077
+ # },
4078
+ # ],
4079
+ # }
4080
+ #
3994
4081
  # @example Request syntax with placeholder values
3995
4082
  #
3996
4083
  # resp = client.describe_traffic_sources({
3997
4084
  # auto_scaling_group_name: "XmlStringMaxLen255", # required
3998
- # traffic_source_type: "XmlStringMaxLen255", # required
4085
+ # traffic_source_type: "XmlStringMaxLen255",
3999
4086
  # next_token: "XmlString",
4000
4087
  # max_records: 1,
4001
4088
  # })
@@ -4005,6 +4092,8 @@ module Aws::AutoScaling
4005
4092
  # resp.traffic_sources #=> Array
4006
4093
  # resp.traffic_sources[0].traffic_source #=> String
4007
4094
  # resp.traffic_sources[0].state #=> String
4095
+ # resp.traffic_sources[0].identifier #=> String
4096
+ # resp.traffic_sources[0].type #=> String
4008
4097
  # resp.next_token #=> String
4009
4098
  #
4010
4099
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeTrafficSources AWS API Documentation
@@ -4161,7 +4250,7 @@ module Aws::AutoScaling
4161
4250
  # resp.activities[0].cause #=> String
4162
4251
  # resp.activities[0].start_time #=> Time
4163
4252
  # resp.activities[0].end_time #=> Time
4164
- # resp.activities[0].status_code #=> String, one of "PendingSpotBidPlacement", "WaitingForSpotInstanceRequestId", "WaitingForSpotInstanceId", "WaitingForInstanceId", "PreInService", "InProgress", "WaitingForELBConnectionDraining", "MidLifecycleAction", "WaitingForInstanceWarmup", "Successful", "Failed", "Cancelled"
4253
+ # resp.activities[0].status_code #=> String, one of "PendingSpotBidPlacement", "WaitingForSpotInstanceRequestId", "WaitingForSpotInstanceId", "WaitingForInstanceId", "PreInService", "InProgress", "WaitingForELBConnectionDraining", "MidLifecycleAction", "WaitingForInstanceWarmup", "Successful", "Failed", "Cancelled", "WaitingForConnectionDraining"
4165
4254
  # resp.activities[0].status_message #=> String
4166
4255
  # resp.activities[0].progress #=> Integer
4167
4256
  # resp.activities[0].details #=> String
@@ -4177,6 +4266,16 @@ module Aws::AutoScaling
4177
4266
  req.send_request(options)
4178
4267
  end
4179
4268
 
4269
+ # <note markdown="1"> This API call has been replaced with a new "traffic sources" API
4270
+ # call (`DetachTrafficSources`) that can detach multiple traffic sources
4271
+ # types. While we continue to support `DetachLoadBalancerTargetGroups`,
4272
+ # and you can use both the original `DetachLoadBalancerTargetGroups` API
4273
+ # call and the new `DetachTrafficSources` API call on the same Auto
4274
+ # Scaling group, we recommend using the new "traffic sources" API call
4275
+ # to simplify how you manage traffic sources.
4276
+ #
4277
+ # </note>
4278
+ #
4180
4279
  # Detaches one or more target groups from the specified Auto Scaling
4181
4280
  # group.
4182
4281
  #
@@ -4229,12 +4328,22 @@ module Aws::AutoScaling
4229
4328
  req.send_request(options)
4230
4329
  end
4231
4330
 
4331
+ # <note markdown="1"> This API call has been replaced with a new "traffic sources" API
4332
+ # call (`DetachTrafficSources`) that can detach multiple traffic sources
4333
+ # types. While we continue to support `DetachLoadBalancers`, and you can
4334
+ # use both the original `DetachLoadBalancers` API call and the new
4335
+ # `DetachTrafficSources` API call on the same Auto Scaling group, we
4336
+ # recommend using the new "traffic sources" API call to simplify how
4337
+ # you manage traffic sources.
4338
+ #
4339
+ # </note>
4340
+ #
4232
4341
  # Detaches one or more Classic Load Balancers from the specified Auto
4233
4342
  # Scaling group.
4234
4343
  #
4235
4344
  # This operation detaches only Classic Load Balancers. If you have
4236
4345
  # Application Load Balancers, Network Load Balancers, or Gateway Load
4237
- # Balancer, use the DetachLoadBalancerTargetGroups API instead.
4346
+ # Balancers, use the DetachLoadBalancerTargetGroups API instead.
4238
4347
  #
4239
4348
  # When you detach a load balancer, it enters the `Removing` state while
4240
4349
  # deregistering the instances in the group. When all instances are
@@ -4278,13 +4387,14 @@ module Aws::AutoScaling
4278
4387
  req.send_request(options)
4279
4388
  end
4280
4389
 
4281
- # **Reserved for use with Amazon VPC Lattice, which is in preview and
4282
- # subject to change. Do not use this API for production workloads. This
4283
- # API is also subject to change.**
4284
- #
4285
4390
  # Detaches one or more traffic sources from the specified Auto Scaling
4286
4391
  # group.
4287
4392
  #
4393
+ # When you detach a taffic, it enters the `Removing` state while
4394
+ # deregistering the instances in the group. When all instances are
4395
+ # deregistered, then you can no longer describe the traffic source using
4396
+ # the DescribeTrafficSources API call. The instances continue to run.
4397
+ #
4288
4398
  # @option params [required, String] :auto_scaling_group_name
4289
4399
  # The name of the Auto Scaling group.
4290
4400
  #
@@ -4292,22 +4402,34 @@ module Aws::AutoScaling
4292
4402
  # The unique identifiers of one or more traffic sources you are
4293
4403
  # detaching. You can specify up to 10 traffic sources.
4294
4404
  #
4295
- # Currently, you must specify an Amazon Resource Name (ARN) for an
4296
- # existing VPC Lattice target group. When you detach a target group, it
4297
- # enters the `Removing` state while deregistering the instances in the
4298
- # group. When all instances are deregistered, then you can no longer
4299
- # describe the target group using the DescribeTrafficSources API call.
4300
- # The instances continue to run.
4301
- #
4302
4405
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4303
4406
  #
4407
+ #
4408
+ # @example Example: To detach a target group from an Auto Scaling group
4409
+ #
4410
+ # # This example detaches the specified target group from the specified Auto Scaling group.
4411
+ #
4412
+ # resp = client.detach_traffic_sources({
4413
+ # auto_scaling_group_name: "my-auto-scaling-group",
4414
+ # traffic_sources: [
4415
+ # {
4416
+ # identifier: "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067",
4417
+ # },
4418
+ # ],
4419
+ # })
4420
+ #
4421
+ # resp.to_h outputs the following:
4422
+ # {
4423
+ # }
4424
+ #
4304
4425
  # @example Request syntax with placeholder values
4305
4426
  #
4306
4427
  # resp = client.detach_traffic_sources({
4307
4428
  # auto_scaling_group_name: "XmlStringMaxLen255", # required
4308
4429
  # traffic_sources: [ # required
4309
4430
  # {
4310
- # identifier: "XmlStringMaxLen511",
4431
+ # identifier: "XmlStringMaxLen511", # required
4432
+ # type: "XmlStringMaxLen511",
4311
4433
  # },
4312
4434
  # ],
4313
4435
  # })
@@ -4593,7 +4715,7 @@ module Aws::AutoScaling
4593
4715
  # resp.activities[0].cause #=> String
4594
4716
  # resp.activities[0].start_time #=> Time
4595
4717
  # resp.activities[0].end_time #=> Time
4596
- # resp.activities[0].status_code #=> String, one of "PendingSpotBidPlacement", "WaitingForSpotInstanceRequestId", "WaitingForSpotInstanceId", "WaitingForInstanceId", "PreInService", "InProgress", "WaitingForELBConnectionDraining", "MidLifecycleAction", "WaitingForInstanceWarmup", "Successful", "Failed", "Cancelled"
4718
+ # resp.activities[0].status_code #=> String, one of "PendingSpotBidPlacement", "WaitingForSpotInstanceRequestId", "WaitingForSpotInstanceId", "WaitingForInstanceId", "PreInService", "InProgress", "WaitingForELBConnectionDraining", "MidLifecycleAction", "WaitingForInstanceWarmup", "Successful", "Failed", "Cancelled", "WaitingForConnectionDraining"
4597
4719
  # resp.activities[0].status_message #=> String
4598
4720
  # resp.activities[0].progress #=> Integer
4599
4721
  # resp.activities[0].details #=> String
@@ -4748,7 +4870,7 @@ module Aws::AutoScaling
4748
4870
  # resp.activities[0].cause #=> String
4749
4871
  # resp.activities[0].start_time #=> Time
4750
4872
  # resp.activities[0].end_time #=> Time
4751
- # resp.activities[0].status_code #=> String, one of "PendingSpotBidPlacement", "WaitingForSpotInstanceRequestId", "WaitingForSpotInstanceId", "WaitingForInstanceId", "PreInService", "InProgress", "WaitingForELBConnectionDraining", "MidLifecycleAction", "WaitingForInstanceWarmup", "Successful", "Failed", "Cancelled"
4873
+ # resp.activities[0].status_code #=> String, one of "PendingSpotBidPlacement", "WaitingForSpotInstanceRequestId", "WaitingForSpotInstanceId", "WaitingForInstanceId", "PreInService", "InProgress", "WaitingForELBConnectionDraining", "MidLifecycleAction", "WaitingForInstanceWarmup", "Successful", "Failed", "Cancelled", "WaitingForConnectionDraining"
4752
4874
  # resp.activities[0].status_message #=> String
4753
4875
  # resp.activities[0].progress #=> Integer
4754
4876
  # resp.activities[0].details #=> String
@@ -5865,6 +5987,63 @@ module Aws::AutoScaling
5865
5987
  req.send_request(options)
5866
5988
  end
5867
5989
 
5990
+ # Cancels an instance refresh that is in progress and rolls back any
5991
+ # changes that it made. Amazon EC2 Auto Scaling replaces any instances
5992
+ # that were replaced during the instance refresh. This restores your
5993
+ # Auto Scaling group to the configuration that it was using before the
5994
+ # start of the instance refresh.
5995
+ #
5996
+ # This operation is part of the [instance refresh feature][1] in Amazon
5997
+ # EC2 Auto Scaling, which helps you update instances in your Auto
5998
+ # Scaling group after you make configuration changes.
5999
+ #
6000
+ # A rollback is not supported in the following situations:
6001
+ #
6002
+ # * There is no desired configuration specified for the instance
6003
+ # refresh.
6004
+ #
6005
+ # * The Auto Scaling group has a launch template that uses an Amazon Web
6006
+ # Services Systems Manager parameter instead of an AMI ID for the
6007
+ # `ImageId` property.
6008
+ #
6009
+ # * The Auto Scaling group uses the launch template's `$Latest` or
6010
+ # `$Default` version.
6011
+ #
6012
+ # When you receive a successful response from this operation, Amazon EC2
6013
+ # Auto Scaling immediately begins replacing instances. You can check the
6014
+ # status of this operation through the DescribeInstanceRefreshes API
6015
+ # operation.
6016
+ #
6017
+ #
6018
+ #
6019
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-refresh.html
6020
+ #
6021
+ # @option params [String] :auto_scaling_group_name
6022
+ # The name of the Auto Scaling group.
6023
+ #
6024
+ # @return [Types::RollbackInstanceRefreshAnswer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6025
+ #
6026
+ # * {Types::RollbackInstanceRefreshAnswer#instance_refresh_id #instance_refresh_id} => String
6027
+ #
6028
+ # @example Request syntax with placeholder values
6029
+ #
6030
+ # resp = client.rollback_instance_refresh({
6031
+ # auto_scaling_group_name: "XmlStringMaxLen255",
6032
+ # })
6033
+ #
6034
+ # @example Response structure
6035
+ #
6036
+ # resp.instance_refresh_id #=> String
6037
+ #
6038
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/RollbackInstanceRefresh AWS API Documentation
6039
+ #
6040
+ # @overload rollback_instance_refresh(params = {})
6041
+ # @param [Hash] params ({})
6042
+ def rollback_instance_refresh(params = {}, options = {})
6043
+ req = build_request(:rollback_instance_refresh, params)
6044
+ req.send_request(options)
6045
+ end
6046
+
5868
6047
  # Sets the size of the specified Auto Scaling group.
5869
6048
  #
5870
6049
  # If a scale-in activity occurs as a result of a new `DesiredCapacity`
@@ -6053,9 +6232,9 @@ module Aws::AutoScaling
6053
6232
  req.send_request(options)
6054
6233
  end
6055
6234
 
6056
- # Starts a new instance refresh operation. An instance refresh performs
6057
- # a rolling replacement of all or some instances in an Auto Scaling
6058
- # group. Each instance is terminated first and then replaced, which
6235
+ # Starts an instance refresh. During an instance refresh, Amazon EC2
6236
+ # Auto Scaling performs a rolling update of instances in an Auto Scaling
6237
+ # group. Instances are terminated first and then replaced, which
6059
6238
  # temporarily reduces the capacity available within your Auto Scaling
6060
6239
  # group.
6061
6240
  #
@@ -6067,12 +6246,26 @@ module Aws::AutoScaling
6067
6246
  # start an instance refresh to immediately begin the process of updating
6068
6247
  # instances in the group.
6069
6248
  #
6070
- # If the call succeeds, it creates a new instance refresh request with a
6071
- # unique ID that you can use to track its progress. To query its status,
6072
- # call the DescribeInstanceRefreshes API. To describe the instance
6073
- # refreshes that have already run, call the DescribeInstanceRefreshes
6074
- # API. To cancel an instance refresh operation in progress, use the
6075
- # CancelInstanceRefresh API.
6249
+ # If successful, the request's response contains a unique ID that you
6250
+ # can use to track the progress of the instance refresh. To query its
6251
+ # status, call the DescribeInstanceRefreshes API. To describe the
6252
+ # instance refreshes that have already run, call the
6253
+ # DescribeInstanceRefreshes API. To cancel an instance refresh that is
6254
+ # in progress, use the CancelInstanceRefresh API.
6255
+ #
6256
+ # An instance refresh might fail for several reasons, such as EC2 launch
6257
+ # failures, misconfigured health checks, or not ignoring or allowing the
6258
+ # termination of instances that are in `Standby` state or protected from
6259
+ # scale in. You can monitor for failed EC2 launches using the scaling
6260
+ # activities. To find the scaling activities, call the
6261
+ # DescribeScalingActivities API.
6262
+ #
6263
+ # If you enable auto rollback, your Auto Scaling group will be rolled
6264
+ # back automatically when the instance refresh fails. You can enable
6265
+ # this feature before starting an instance refresh by specifying the
6266
+ # `AutoRollback` property in the instance refresh preferences.
6267
+ # Otherwise, to roll back an instance refresh before it finishes, use
6268
+ # the RollbackInstanceRefresh API.
6076
6269
  #
6077
6270
  #
6078
6271
  #
@@ -6085,12 +6278,6 @@ module Aws::AutoScaling
6085
6278
  # The strategy to use for the instance refresh. The only valid value is
6086
6279
  # `Rolling`.
6087
6280
  #
6088
- # A rolling update helps you update your instances gradually. A rolling
6089
- # update can fail due to failed health checks or if instances are on
6090
- # standby or are protected from scale in. If the rolling update process
6091
- # fails, any instances that are replaced are not rolled back to their
6092
- # previous configuration.
6093
- #
6094
6281
  # @option params [Types::DesiredConfiguration] :desired_configuration
6095
6282
  # The desired configuration. For example, the desired configuration can
6096
6283
  # specify a new launch template or a new version of the current launch
@@ -6104,14 +6291,24 @@ module Aws::AutoScaling
6104
6291
  # launch template for your desired configuration, consider enabling the
6105
6292
  # `SkipMatching` property in preferences. If it's enabled, Amazon EC2
6106
6293
  # Auto Scaling skips replacing instances that already use the specified
6107
- # launch template and version. This can help you reduce the number of
6108
- # replacements that are required to apply updates.
6294
+ # launch template and instance types. This can help you reduce the
6295
+ # number of replacements that are required to apply updates.
6109
6296
  #
6110
6297
  # </note>
6111
6298
  #
6112
6299
  # @option params [Types::RefreshPreferences] :preferences
6113
- # Set of preferences associated with the instance refresh request. If
6114
- # not provided, the default values are used.
6300
+ # Sets your preferences for the instance refresh so that it performs as
6301
+ # expected when you start it. Includes the instance warmup time, the
6302
+ # minimum healthy percentage, and the behaviors that you want Amazon EC2
6303
+ # Auto Scaling to use if instances that are in `Standby` state or
6304
+ # protected from scale in are found. You can also choose to enable
6305
+ # additional features, such as the following:
6306
+ #
6307
+ # * Auto rollback
6308
+ #
6309
+ # * Checkpoints
6310
+ #
6311
+ # * Skip matching
6115
6312
  #
6116
6313
  # @return [Types::StartInstanceRefreshAnswer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6117
6314
  #
@@ -6240,6 +6437,9 @@ module Aws::AutoScaling
6240
6437
  # checkpoint_percentages: [1],
6241
6438
  # checkpoint_delay: 1,
6242
6439
  # skip_matching: false,
6440
+ # auto_rollback: false,
6441
+ # scale_in_protected_instances: "Refresh", # accepts Refresh, Ignore, Wait
6442
+ # standby_instances: "Terminate", # accepts Terminate, Ignore, Wait
6243
6443
  # },
6244
6444
  # })
6245
6445
  #
@@ -6389,7 +6589,7 @@ module Aws::AutoScaling
6389
6589
  # resp.activity.cause #=> String
6390
6590
  # resp.activity.start_time #=> Time
6391
6591
  # resp.activity.end_time #=> Time
6392
- # resp.activity.status_code #=> String, one of "PendingSpotBidPlacement", "WaitingForSpotInstanceRequestId", "WaitingForSpotInstanceId", "WaitingForInstanceId", "PreInService", "InProgress", "WaitingForELBConnectionDraining", "MidLifecycleAction", "WaitingForInstanceWarmup", "Successful", "Failed", "Cancelled"
6592
+ # resp.activity.status_code #=> String, one of "PendingSpotBidPlacement", "WaitingForSpotInstanceRequestId", "WaitingForSpotInstanceId", "WaitingForInstanceId", "PreInService", "InProgress", "WaitingForELBConnectionDraining", "MidLifecycleAction", "WaitingForInstanceWarmup", "Successful", "Failed", "Cancelled", "WaitingForConnectionDraining"
6393
6593
  # resp.activity.status_message #=> String
6394
6594
  # resp.activity.progress #=> Integer
6395
6595
  # resp.activity.details #=> String
@@ -6431,7 +6631,7 @@ module Aws::AutoScaling
6431
6631
  # performance or availability of your application.
6432
6632
  #
6433
6633
  # Note the following about changing `DesiredCapacity`, `MaxSize`, or
6434
- # `MinSize`\:
6634
+ # `MinSize`:
6435
6635
  #
6436
6636
  # * If a scale-in activity occurs as a result of a new `DesiredCapacity`
6437
6637
  # value that is lower than the current size of the group, the Auto
@@ -6514,12 +6714,16 @@ module Aws::AutoScaling
6514
6714
  # One or more Availability Zones for the group.
6515
6715
  #
6516
6716
  # @option params [String] :health_check_type
6517
- # Determines whether any additional health checks are performed on the
6518
- # instances in this group. Amazon EC2 health checks are always on.
6717
+ # A comma-separated list of one or more health check types.
6718
+ #
6719
+ # The valid values are `EC2`, `ELB`, and `VPC_LATTICE`. `EC2` is the
6720
+ # default health check and cannot be disabled. For more information, see
6721
+ # [Health checks for Auto Scaling instances][1] in the *Amazon EC2 Auto
6722
+ # Scaling User Guide*.
6723
+ #
6519
6724
  #
6520
- # The valid values are `EC2` (default), `ELB`, and `VPC_LATTICE`. The
6521
- # `VPC_LATTICE` health check type is reserved for use with VPC Lattice,
6522
- # which is in preview release and is subject to change.
6725
+ #
6726
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html
6523
6727
  #
6524
6728
  # @option params [Integer] :health_check_grace_period
6525
6729
  # The amount of time, in seconds, that Amazon EC2 Auto Scaling waits
@@ -6631,24 +6835,25 @@ module Aws::AutoScaling
6631
6835
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html
6632
6836
  #
6633
6837
  # @option params [Integer] :default_instance_warmup
6634
- # The amount of time, in seconds, until a newly launched instance can
6635
- # contribute to the Amazon CloudWatch metrics. This delay lets an
6636
- # instance finish initializing before Amazon EC2 Auto Scaling aggregates
6637
- # instance metrics, resulting in more reliable usage data. Set this
6638
- # value equal to the amount of time that it takes for resource
6639
- # consumption to become stable after an instance reaches the `InService`
6640
- # state. For more information, see [Set the default instance warmup for
6641
- # an Auto Scaling group][1] in the *Amazon EC2 Auto Scaling User Guide*.
6642
- #
6643
- # To manage your warm-up settings at the group level, we recommend that
6644
- # you set the default instance warmup, *even if its value is set to 0
6645
- # seconds*. This also optimizes the performance of scaling policies that
6646
- # scale continuously, such as target tracking and step scaling policies.
6647
- #
6648
- # If you need to remove a value that you previously set, include the
6838
+ # The amount of time, in seconds, until a new instance is considered to
6839
+ # have finished initializing and resource consumption to become stable
6840
+ # after it enters the `InService` state.
6841
+ #
6842
+ # During an instance refresh, Amazon EC2 Auto Scaling waits for the
6843
+ # warm-up period after it replaces an instance before it moves on to
6844
+ # replacing the next instance. Amazon EC2 Auto Scaling also waits for
6845
+ # the warm-up period before aggregating the metrics for new instances
6846
+ # with existing instances in the Amazon CloudWatch metrics that are used
6847
+ # for scaling, resulting in more reliable usage data. For more
6848
+ # information, see [Set the default instance warmup for an Auto Scaling
6849
+ # group][1] in the *Amazon EC2 Auto Scaling User Guide*.
6850
+ #
6851
+ # To manage various warm-up settings at the group level, we recommend
6852
+ # that you set the default instance warmup, *even if it is set to 0
6853
+ # seconds*. To remove a value that you previously set, include the
6649
6854
  # property but specify `-1` for the value. However, we strongly
6650
6855
  # recommend keeping the default instance warmup enabled by specifying a
6651
- # minimum value of `0`.
6856
+ # value of `0` or other nominal value.
6652
6857
  #
6653
6858
  #
6654
6859
  #
@@ -6803,7 +7008,7 @@ module Aws::AutoScaling
6803
7008
  params: params,
6804
7009
  config: config)
6805
7010
  context[:gem_name] = 'aws-sdk-autoscaling'
6806
- context[:gem_version] = '1.85.0'
7011
+ context[:gem_version] = '1.87.0'
6807
7012
  Seahorse::Client::Request.new(handlers, context)
6808
7013
  end
6809
7014