aws-sdk-autoscaling 1.66.0 → 1.67.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4702ef6e1a335ae90ba305208649171d24bc42d537b219ee01c7c04bd903cbf9
4
- data.tar.gz: 6b89a9111eb65fda1e887a100bdf92f5047303d885feea6e203fd1c091b392ef
3
+ metadata.gz: 5104fda5773433b27e04ae91b9ceddf4e220efcb7049c30b2a71c3955cb93c71
4
+ data.tar.gz: 6f5ecad26fcc25e403bc01c38dd7a24bb271dc074af15ff60622cd9aae2a6937
5
5
  SHA512:
6
- metadata.gz: 5e136023a7a45e2e98cae02b2ef42446c3bb09a70e6a9d921c6367870afa447de18ffb262f8a8d0b3bf3d2d48829b1f92fc1d081d4568db0d1215dcaa1feafc8
7
- data.tar.gz: 5c02f08fb1157e8ec0659a1125db97a4ad63cc5bc3c9e65ab309d35eb6d7c8a28c27ca2975d27e1a3c203b41aa6c258a4dccc863bce1575c7a4d430c433153b1
6
+ metadata.gz: 1bdbfe065908ce73e36edb1be45019b45e12a0d1f687003cb7baea5590438095e7eca7463e8aec8b95823e4be226b2dba13237b33d2b00d578cf617e63f68d1c
7
+ data.tar.gz: f2a8d0f56fcf3da5572279dc4220123c1d55c6169e42f6db0b9b1c1d0f2c33446028418daaabf4b8b93af34cdffb67b98ee1a05b4b73133637325c094399f031
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.67.0 (2021-08-05)
5
+ ------------------
6
+
7
+ * Feature - EC2 Auto Scaling adds configuration checks and Launch Template validation to Instance Refresh.
8
+
4
9
  1.66.0 (2021-07-30)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.66.0
1
+ 1.67.0
@@ -59,6 +59,6 @@ require_relative 'aws-sdk-autoscaling/customizations'
59
59
  # @!group service
60
60
  module Aws::AutoScaling
61
61
 
62
- GEM_VERSION = '1.66.0'
62
+ GEM_VERSION = '1.67.0'
63
63
 
64
64
  end
@@ -2440,6 +2440,30 @@ module Aws::AutoScaling
2440
2440
  # resp.instance_refreshes[0].progress_details.live_pool_progress.instances_to_update #=> Integer
2441
2441
  # resp.instance_refreshes[0].progress_details.warm_pool_progress.percentage_complete #=> Integer
2442
2442
  # resp.instance_refreshes[0].progress_details.warm_pool_progress.instances_to_update #=> Integer
2443
+ # resp.instance_refreshes[0].preferences.min_healthy_percentage #=> Integer
2444
+ # resp.instance_refreshes[0].preferences.instance_warmup #=> Integer
2445
+ # resp.instance_refreshes[0].preferences.checkpoint_percentages #=> Array
2446
+ # resp.instance_refreshes[0].preferences.checkpoint_percentages[0] #=> Integer
2447
+ # resp.instance_refreshes[0].preferences.checkpoint_delay #=> Integer
2448
+ # resp.instance_refreshes[0].preferences.skip_matching #=> Boolean
2449
+ # resp.instance_refreshes[0].desired_configuration.launch_template.launch_template_id #=> String
2450
+ # resp.instance_refreshes[0].desired_configuration.launch_template.launch_template_name #=> String
2451
+ # resp.instance_refreshes[0].desired_configuration.launch_template.version #=> String
2452
+ # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.launch_template.launch_template_specification.launch_template_id #=> String
2453
+ # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.launch_template.launch_template_specification.launch_template_name #=> String
2454
+ # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.launch_template.launch_template_specification.version #=> String
2455
+ # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.launch_template.overrides #=> Array
2456
+ # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.launch_template.overrides[0].instance_type #=> String
2457
+ # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.launch_template.overrides[0].weighted_capacity #=> String
2458
+ # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.launch_template.overrides[0].launch_template_specification.launch_template_id #=> String
2459
+ # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.launch_template.overrides[0].launch_template_specification.launch_template_name #=> String
2460
+ # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.launch_template.overrides[0].launch_template_specification.version #=> String
2461
+ # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.instances_distribution.on_demand_allocation_strategy #=> String
2462
+ # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.instances_distribution.on_demand_base_capacity #=> Integer
2463
+ # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.instances_distribution.on_demand_percentage_above_base_capacity #=> Integer
2464
+ # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.instances_distribution.spot_allocation_strategy #=> String
2465
+ # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.instances_distribution.spot_instance_pools #=> Integer
2466
+ # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.instances_distribution.spot_max_price #=> String
2443
2467
  # resp.next_token #=> String
2444
2468
  #
2445
2469
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DescribeInstanceRefreshes AWS API Documentation
@@ -5362,13 +5386,19 @@ module Aws::AutoScaling
5362
5386
  req.send_request(options)
5363
5387
  end
5364
5388
 
5365
- # Starts a new instance refresh operation, which triggers a rolling
5366
- # replacement of previously launched instances in the Auto Scaling group
5367
- # with a new group of instances.
5389
+ # Starts a new instance refresh operation. An instance refresh performs
5390
+ # a rolling replacement of all or some instances in an Auto Scaling
5391
+ # group. Each instance is terminated first and then replaced, which
5392
+ # temporarily reduces the capacity available within your Auto Scaling
5393
+ # group.
5368
5394
  #
5369
5395
  # This operation is part of the [instance refresh feature][1] in Amazon
5370
5396
  # EC2 Auto Scaling, which helps you update instances in your Auto
5371
- # Scaling group after you make configuration changes.
5397
+ # Scaling group. This feature is helpful, for example, when you have a
5398
+ # new AMI or a new user data script. You just need to create a new
5399
+ # launch template that specifies the new AMI or user data script. Then
5400
+ # start an instance refresh to immediately begin the process of updating
5401
+ # instances in the group.
5372
5402
  #
5373
5403
  # If the call succeeds, it creates a new instance refresh request with a
5374
5404
  # unique ID that you can use to track its progress. To query its status,
@@ -5388,27 +5418,33 @@ module Aws::AutoScaling
5388
5418
  # The strategy to use for the instance refresh. The only valid value is
5389
5419
  # `Rolling`.
5390
5420
  #
5391
- # A rolling update is an update that is applied to all instances in an
5392
- # Auto Scaling group until all instances have been updated. A rolling
5421
+ # A rolling update helps you update your instances gradually. A rolling
5393
5422
  # update can fail due to failed health checks or if instances are on
5394
5423
  # standby or are protected from scale in. If the rolling update process
5395
- # fails, any instances that were already replaced are not rolled back to
5396
- # their previous configuration.
5397
- #
5398
- # @option params [Types::RefreshPreferences] :preferences
5399
- # Set of preferences associated with the instance refresh request.
5424
+ # fails, any instances that are replaced are not rolled back to their
5425
+ # previous configuration.
5400
5426
  #
5401
- # If not provided, the default values are used. For
5402
- # `MinHealthyPercentage`, the default value is `90`. For
5403
- # `InstanceWarmup`, the default is to use the value specified for the
5404
- # health check grace period for the Auto Scaling group.
5427
+ # @option params [Types::DesiredConfiguration] :desired_configuration
5428
+ # The desired configuration. For example, the desired configuration can
5429
+ # specify a new launch template or a new version of the current launch
5430
+ # template.
5405
5431
  #
5406
- # For more information, see [RefreshPreferences][1] in the *Amazon EC2
5407
- # Auto Scaling API Reference*.
5432
+ # Once the instance refresh succeeds, Amazon EC2 Auto Scaling updates
5433
+ # the settings of the Auto Scaling group to reflect the new desired
5434
+ # configuration.
5408
5435
  #
5436
+ # <note markdown="1"> When you specify a new launch template or a new version of the current
5437
+ # launch template for your desired configuration, consider enabling the
5438
+ # `SkipMatching` property in preferences. If it's enabled, Amazon EC2
5439
+ # Auto Scaling skips replacing instances that already use the specified
5440
+ # launch template and version. This can help you reduce the number of
5441
+ # replacements that are required to apply updates.
5409
5442
  #
5443
+ # </note>
5410
5444
  #
5411
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_RefreshPreferences.html
5445
+ # @option params [Types::RefreshPreferences] :preferences
5446
+ # Set of preferences associated with the instance refresh request. If
5447
+ # not provided, the default values are used.
5412
5448
  #
5413
5449
  # @return [Types::StartInstanceRefreshAnswer] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5414
5450
  #
@@ -5437,11 +5473,47 @@ module Aws::AutoScaling
5437
5473
  # resp = client.start_instance_refresh({
5438
5474
  # auto_scaling_group_name: "XmlStringMaxLen255", # required
5439
5475
  # strategy: "Rolling", # accepts Rolling
5476
+ # desired_configuration: {
5477
+ # launch_template: {
5478
+ # launch_template_id: "XmlStringMaxLen255",
5479
+ # launch_template_name: "LaunchTemplateName",
5480
+ # version: "XmlStringMaxLen255",
5481
+ # },
5482
+ # mixed_instances_policy: {
5483
+ # launch_template: {
5484
+ # launch_template_specification: {
5485
+ # launch_template_id: "XmlStringMaxLen255",
5486
+ # launch_template_name: "LaunchTemplateName",
5487
+ # version: "XmlStringMaxLen255",
5488
+ # },
5489
+ # overrides: [
5490
+ # {
5491
+ # instance_type: "XmlStringMaxLen255",
5492
+ # weighted_capacity: "XmlStringMaxLen32",
5493
+ # launch_template_specification: {
5494
+ # launch_template_id: "XmlStringMaxLen255",
5495
+ # launch_template_name: "LaunchTemplateName",
5496
+ # version: "XmlStringMaxLen255",
5497
+ # },
5498
+ # },
5499
+ # ],
5500
+ # },
5501
+ # instances_distribution: {
5502
+ # on_demand_allocation_strategy: "XmlString",
5503
+ # on_demand_base_capacity: 1,
5504
+ # on_demand_percentage_above_base_capacity: 1,
5505
+ # spot_allocation_strategy: "XmlString",
5506
+ # spot_instance_pools: 1,
5507
+ # spot_max_price: "MixedInstanceSpotPrice",
5508
+ # },
5509
+ # },
5510
+ # },
5440
5511
  # preferences: {
5441
5512
  # min_healthy_percentage: 1,
5442
5513
  # instance_warmup: 1,
5443
5514
  # checkpoint_percentages: [1],
5444
5515
  # checkpoint_delay: 1,
5516
+ # skip_matching: false,
5445
5517
  # },
5446
5518
  # })
5447
5519
  #
@@ -5918,7 +5990,7 @@ module Aws::AutoScaling
5918
5990
  params: params,
5919
5991
  config: config)
5920
5992
  context[:gem_name] = 'aws-sdk-autoscaling'
5921
- context[:gem_version] = '1.66.0'
5993
+ context[:gem_version] = '1.67.0'
5922
5994
  Seahorse::Client::Request.new(handlers, context)
5923
5995
  end
5924
5996
 
@@ -105,6 +105,7 @@ module Aws::AutoScaling
105
105
  DescribeTerminationPolicyTypesAnswer = Shapes::StructureShape.new(name: 'DescribeTerminationPolicyTypesAnswer')
106
106
  DescribeWarmPoolAnswer = Shapes::StructureShape.new(name: 'DescribeWarmPoolAnswer')
107
107
  DescribeWarmPoolType = Shapes::StructureShape.new(name: 'DescribeWarmPoolType')
108
+ DesiredConfiguration = Shapes::StructureShape.new(name: 'DesiredConfiguration')
108
109
  DetachInstancesAnswer = Shapes::StructureShape.new(name: 'DetachInstancesAnswer')
109
110
  DetachInstancesQuery = Shapes::StructureShape.new(name: 'DetachInstancesQuery')
110
111
  DetachLoadBalancerTargetGroupsResultType = Shapes::StructureShape.new(name: 'DetachLoadBalancerTargetGroupsResultType')
@@ -282,6 +283,7 @@ module Aws::AutoScaling
282
283
  SetInstanceProtectionQuery = Shapes::StructureShape.new(name: 'SetInstanceProtectionQuery')
283
284
  ShouldDecrementDesiredCapacity = Shapes::BooleanShape.new(name: 'ShouldDecrementDesiredCapacity')
284
285
  ShouldRespectGracePeriod = Shapes::BooleanShape.new(name: 'ShouldRespectGracePeriod')
286
+ SkipMatching = Shapes::BooleanShape.new(name: 'SkipMatching')
285
287
  SpotInstancePools = Shapes::IntegerShape.new(name: 'SpotInstancePools')
286
288
  SpotPrice = Shapes::StringShape.new(name: 'SpotPrice')
287
289
  StartInstanceRefreshAnswer = Shapes::StructureShape.new(name: 'StartInstanceRefreshAnswer')
@@ -687,6 +689,10 @@ module Aws::AutoScaling
687
689
  DescribeWarmPoolType.add_member(:next_token, Shapes::ShapeRef.new(shape: XmlString, location_name: "NextToken"))
688
690
  DescribeWarmPoolType.struct_class = Types::DescribeWarmPoolType
689
691
 
692
+ DesiredConfiguration.add_member(:launch_template, Shapes::ShapeRef.new(shape: LaunchTemplateSpecification, location_name: "LaunchTemplate"))
693
+ DesiredConfiguration.add_member(:mixed_instances_policy, Shapes::ShapeRef.new(shape: MixedInstancesPolicy, location_name: "MixedInstancesPolicy"))
694
+ DesiredConfiguration.struct_class = Types::DesiredConfiguration
695
+
690
696
  DetachInstancesAnswer.add_member(:activities, Shapes::ShapeRef.new(shape: Activities, location_name: "Activities"))
691
697
  DetachInstancesAnswer.struct_class = Types::DetachInstancesAnswer
692
698
 
@@ -807,6 +813,8 @@ module Aws::AutoScaling
807
813
  InstanceRefresh.add_member(:percentage_complete, Shapes::ShapeRef.new(shape: IntPercent, location_name: "PercentageComplete"))
808
814
  InstanceRefresh.add_member(:instances_to_update, Shapes::ShapeRef.new(shape: InstancesToUpdate, location_name: "InstancesToUpdate"))
809
815
  InstanceRefresh.add_member(:progress_details, Shapes::ShapeRef.new(shape: InstanceRefreshProgressDetails, location_name: "ProgressDetails"))
816
+ InstanceRefresh.add_member(:preferences, Shapes::ShapeRef.new(shape: RefreshPreferences, location_name: "Preferences"))
817
+ InstanceRefresh.add_member(:desired_configuration, Shapes::ShapeRef.new(shape: DesiredConfiguration, location_name: "DesiredConfiguration"))
810
818
  InstanceRefresh.struct_class = Types::InstanceRefresh
811
819
 
812
820
  InstanceRefreshIds.member = Shapes::ShapeRef.new(shape: XmlStringMaxLen255)
@@ -1096,6 +1104,7 @@ module Aws::AutoScaling
1096
1104
  RefreshPreferences.add_member(:instance_warmup, Shapes::ShapeRef.new(shape: RefreshInstanceWarmup, location_name: "InstanceWarmup"))
1097
1105
  RefreshPreferences.add_member(:checkpoint_percentages, Shapes::ShapeRef.new(shape: CheckpointPercentages, location_name: "CheckpointPercentages"))
1098
1106
  RefreshPreferences.add_member(:checkpoint_delay, Shapes::ShapeRef.new(shape: CheckpointDelay, location_name: "CheckpointDelay"))
1107
+ RefreshPreferences.add_member(:skip_matching, Shapes::ShapeRef.new(shape: SkipMatching, location_name: "SkipMatching"))
1099
1108
  RefreshPreferences.struct_class = Types::RefreshPreferences
1100
1109
 
1101
1110
  ResourceContentionFault.add_member(:message, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "message"))
@@ -1191,6 +1200,7 @@ module Aws::AutoScaling
1191
1200
 
1192
1201
  StartInstanceRefreshType.add_member(:auto_scaling_group_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, required: true, location_name: "AutoScalingGroupName"))
1193
1202
  StartInstanceRefreshType.add_member(:strategy, Shapes::ShapeRef.new(shape: RefreshStrategy, location_name: "Strategy"))
1203
+ StartInstanceRefreshType.add_member(:desired_configuration, Shapes::ShapeRef.new(shape: DesiredConfiguration, location_name: "DesiredConfiguration"))
1194
1204
  StartInstanceRefreshType.add_member(:preferences, Shapes::ShapeRef.new(shape: RefreshPreferences, location_name: "Preferences"))
1195
1205
  StartInstanceRefreshType.struct_class = Types::StartInstanceRefreshType
1196
1206
 
@@ -2543,6 +2543,83 @@ module Aws::AutoScaling
2543
2543
  include Aws::Structure
2544
2544
  end
2545
2545
 
2546
+ # Describes the desired configuration for an instance refresh.
2547
+ #
2548
+ # If you specify a desired configuration, you must specify either a
2549
+ # `LaunchTemplate` or a `MixedInstancesPolicy`.
2550
+ #
2551
+ # @note When making an API call, you may pass DesiredConfiguration
2552
+ # data as a hash:
2553
+ #
2554
+ # {
2555
+ # launch_template: {
2556
+ # launch_template_id: "XmlStringMaxLen255",
2557
+ # launch_template_name: "LaunchTemplateName",
2558
+ # version: "XmlStringMaxLen255",
2559
+ # },
2560
+ # mixed_instances_policy: {
2561
+ # launch_template: {
2562
+ # launch_template_specification: {
2563
+ # launch_template_id: "XmlStringMaxLen255",
2564
+ # launch_template_name: "LaunchTemplateName",
2565
+ # version: "XmlStringMaxLen255",
2566
+ # },
2567
+ # overrides: [
2568
+ # {
2569
+ # instance_type: "XmlStringMaxLen255",
2570
+ # weighted_capacity: "XmlStringMaxLen32",
2571
+ # launch_template_specification: {
2572
+ # launch_template_id: "XmlStringMaxLen255",
2573
+ # launch_template_name: "LaunchTemplateName",
2574
+ # version: "XmlStringMaxLen255",
2575
+ # },
2576
+ # },
2577
+ # ],
2578
+ # },
2579
+ # instances_distribution: {
2580
+ # on_demand_allocation_strategy: "XmlString",
2581
+ # on_demand_base_capacity: 1,
2582
+ # on_demand_percentage_above_base_capacity: 1,
2583
+ # spot_allocation_strategy: "XmlString",
2584
+ # spot_instance_pools: 1,
2585
+ # spot_max_price: "MixedInstanceSpotPrice",
2586
+ # },
2587
+ # },
2588
+ # }
2589
+ #
2590
+ # @!attribute [rw] launch_template
2591
+ # Describes the launch template and the version of the launch template
2592
+ # that Amazon EC2 Auto Scaling uses to launch Amazon EC2 instances.
2593
+ # For more information about launch templates, see [Launch
2594
+ # templates][1] in the *Amazon EC2 Auto Scaling User Guide*.
2595
+ #
2596
+ #
2597
+ #
2598
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/LaunchTemplates.html
2599
+ # @return [Types::LaunchTemplateSpecification]
2600
+ #
2601
+ # @!attribute [rw] mixed_instances_policy
2602
+ # Describes a mixed instances policy. A mixed instances policy
2603
+ # contains the instance types Amazon EC2 Auto Scaling can launch, and
2604
+ # other information Amazon EC2 Auto Scaling can use to launch
2605
+ # instances to help you optimize your costs. For more information, see
2606
+ # [Auto Scaling groups with multiple instance types and purchase
2607
+ # options][1] in the *Amazon EC2 Auto Scaling User Guide*.
2608
+ #
2609
+ #
2610
+ #
2611
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html
2612
+ # @return [Types::MixedInstancesPolicy]
2613
+ #
2614
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DesiredConfiguration AWS API Documentation
2615
+ #
2616
+ class DesiredConfiguration < Struct.new(
2617
+ :launch_template,
2618
+ :mixed_instances_policy)
2619
+ SENSITIVE = []
2620
+ include Aws::Structure
2621
+ end
2622
+
2546
2623
  # @!attribute [rw] activities
2547
2624
  # The activities related to detaching the instances from the Auto
2548
2625
  # Scaling group.
@@ -3484,6 +3561,14 @@ module Aws::AutoScaling
3484
3561
  # warm pool.
3485
3562
  # @return [Types::InstanceRefreshProgressDetails]
3486
3563
  #
3564
+ # @!attribute [rw] preferences
3565
+ # Describes the preferences for an instance refresh.
3566
+ # @return [Types::RefreshPreferences]
3567
+ #
3568
+ # @!attribute [rw] desired_configuration
3569
+ # Describes the specific update you want to deploy.
3570
+ # @return [Types::DesiredConfiguration]
3571
+ #
3487
3572
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/InstanceRefresh AWS API Documentation
3488
3573
  #
3489
3574
  class InstanceRefresh < Struct.new(
@@ -3495,7 +3580,9 @@ module Aws::AutoScaling
3495
3580
  :end_time,
3496
3581
  :percentage_complete,
3497
3582
  :instances_to_update,
3498
- :progress_details)
3583
+ :progress_details,
3584
+ :preferences,
3585
+ :desired_configuration)
3499
3586
  SENSITIVE = []
3500
3587
  include Aws::Structure
3501
3588
  end
@@ -3595,14 +3682,15 @@ module Aws::AutoScaling
3595
3682
  # Instances, and how the Auto Scaling group allocates instance types to
3596
3683
  # fulfill On-Demand and Spot capacities.
3597
3684
  #
3598
- # When you update `SpotAllocationStrategy`, `SpotInstancePools`, or
3599
- # `SpotMaxPrice`, this update action does not deploy any changes across
3600
- # the running Amazon EC2 instances in the group. Your existing Spot
3601
- # Instances continue to run as long as the maximum price for those
3602
- # instances is higher than the current Spot price. When scale out
3603
- # occurs, Amazon EC2 Auto Scaling launches instances based on the new
3604
- # settings. When scale in occurs, Amazon EC2 Auto Scaling terminates
3605
- # instances according to the group's termination policies.
3685
+ # When you modify `SpotAllocationStrategy`, `SpotInstancePools`, or
3686
+ # `SpotMaxPrice` in the UpdateAutoScalingGroup API call, this update
3687
+ # action does not deploy any changes across the running Amazon EC2
3688
+ # instances in the group. Your existing Spot Instances continue to run
3689
+ # as long as the maximum price for those instances is higher than the
3690
+ # current Spot price. When scale out occurs, Amazon EC2 Auto Scaling
3691
+ # launches instances based on the new settings. When scale in occurs,
3692
+ # Amazon EC2 Auto Scaling terminates instances according to the group's
3693
+ # termination policies.
3606
3694
  #
3607
3695
  # @note When making an API call, you may pass InstancesDistribution
3608
3696
  # data as a hash:
@@ -4009,11 +4097,12 @@ module Aws::AutoScaling
4009
4097
  #
4010
4098
  # You specify these properties as part of a mixed instances policy.
4011
4099
  #
4012
- # When you update the launch template or overrides, existing Amazon EC2
4013
- # instances continue to run. When scale out occurs, Amazon EC2 Auto
4014
- # Scaling launches instances to match the new settings. When scale in
4015
- # occurs, Amazon EC2 Auto Scaling terminates instances according to the
4016
- # group's termination policies.
4100
+ # When you update the launch template or overrides in the
4101
+ # UpdateAutoScalingGroup API call, existing Amazon EC2 instances
4102
+ # continue to run. When scale out occurs, Amazon EC2 Auto Scaling
4103
+ # launches instances to match the new settings. When scale in occurs,
4104
+ # Amazon EC2 Auto Scaling terminates instances according to the group's
4105
+ # termination policies.
4017
4106
  #
4018
4107
  # @note When making an API call, you may pass LaunchTemplate
4019
4108
  # data as a hash:
@@ -4136,18 +4225,14 @@ module Aws::AutoScaling
4136
4225
  include Aws::Structure
4137
4226
  end
4138
4227
 
4139
- # Describes the Amazon EC2 launch template and the launch template
4140
- # version that can be used by an Auto Scaling group to configure Amazon
4141
- # EC2 instances.
4142
- #
4143
- # The launch template that is specified must be configured for use with
4144
- # an Auto Scaling group. For more information, see [Creating a launch
4145
- # template for an Auto Scaling group][1] in the *Amazon EC2 Auto Scaling
4146
- # User Guide*.
4228
+ # Describes the launch template and the version of the launch template
4229
+ # that Amazon EC2 Auto Scaling uses to launch Amazon EC2 instances. For
4230
+ # more information about launch templates, see [Launch templates][1] in
4231
+ # the *Amazon EC2 Auto Scaling User Guide*.
4147
4232
  #
4148
4233
  #
4149
4234
  #
4150
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html
4235
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/LaunchTemplates.html
4151
4236
  #
4152
4237
  # @note When making an API call, you may pass LaunchTemplateSpecification
4153
4238
  # data as a hash:
@@ -4613,17 +4698,12 @@ module Aws::AutoScaling
4613
4698
  include Aws::Structure
4614
4699
  end
4615
4700
 
4616
- # Describes a mixed instances policy for an Auto Scaling group. With
4617
- # mixed instances, your Auto Scaling group can provision a combination
4618
- # of On-Demand Instances and Spot Instances across multiple instance
4619
- # types. For more information, see [Auto Scaling groups with multiple
4620
- # instance types and purchase options][1] in the *Amazon EC2 Auto
4621
- # Scaling User Guide*.
4622
- #
4623
- # You can create a mixed instances policy for a new Auto Scaling group,
4624
- # or you can create it for an existing group by updating the group to
4625
- # specify `MixedInstancesPolicy` as the top-level property instead of a
4626
- # launch configuration or launch template.
4701
+ # Describes a mixed instances policy. A mixed instances policy contains
4702
+ # the instance types Amazon EC2 Auto Scaling can launch, and other
4703
+ # information Amazon EC2 Auto Scaling can use to launch instances to
4704
+ # help you optimize your costs. For more information, see [Auto Scaling
4705
+ # groups with multiple instance types and purchase options][1] in the
4706
+ # *Amazon EC2 Auto Scaling User Guide*.
4627
4707
  #
4628
4708
  #
4629
4709
  #
@@ -4662,10 +4742,10 @@ module Aws::AutoScaling
4662
4742
  # }
4663
4743
  #
4664
4744
  # @!attribute [rw] launch_template
4665
- # Specifies the launch template to use and optionally the instance
4666
- # types (overrides) that are used to provision EC2 instances to
4667
- # fulfill On-Demand and Spot capacities. Required when creating a
4668
- # mixed instances policy.
4745
+ # Specifies the launch template to use and the instance types
4746
+ # (overrides) that are used to provision EC2 instances to fulfill
4747
+ # On-Demand and Spot capacities. Required when creating a mixed
4748
+ # instances policy.
4669
4749
  # @return [Types::LaunchTemplate]
4670
4750
  #
4671
4751
  # @!attribute [rw] instances_distribution
@@ -5856,11 +5936,7 @@ module Aws::AutoScaling
5856
5936
  include Aws::Structure
5857
5937
  end
5858
5938
 
5859
- # Describes information used to start an instance refresh.
5860
- #
5861
- # All properties are optional. However, if you specify a value for
5862
- # `CheckpointDelay`, you must also provide a value for
5863
- # `CheckpointPercentages`.
5939
+ # Describes the preferences for an instance refresh.
5864
5940
  #
5865
5941
  # @note When making an API call, you may pass RefreshPreferences
5866
5942
  # data as a hash:
@@ -5870,14 +5946,20 @@ module Aws::AutoScaling
5870
5946
  # instance_warmup: 1,
5871
5947
  # checkpoint_percentages: [1],
5872
5948
  # checkpoint_delay: 1,
5949
+ # skip_matching: false,
5873
5950
  # }
5874
5951
  #
5875
5952
  # @!attribute [rw] min_healthy_percentage
5876
5953
  # The amount of capacity in the Auto Scaling group that must remain
5877
5954
  # healthy during an instance refresh to allow the operation to
5878
- # continue, as a percentage of the desired capacity of the Auto
5879
- # Scaling group (rounded up to the nearest integer). The default is
5880
- # `90`.
5955
+ # continue. The value is expressed as a percentage of the desired
5956
+ # capacity of the Auto Scaling group (rounded up to the nearest
5957
+ # integer). The default is `90`.
5958
+ #
5959
+ # Setting the minimum healthy percentage to 100 percent limits the
5960
+ # rate of replacement to one instance at a time. In contrast, setting
5961
+ # it to 0 percent has the effect of replacing all instances at the
5962
+ # same time.
5881
5963
  # @return [Integer]
5882
5964
  #
5883
5965
  # @!attribute [rw] instance_warmup
@@ -5909,13 +5991,23 @@ module Aws::AutoScaling
5909
5991
  # hour).
5910
5992
  # @return [Integer]
5911
5993
  #
5994
+ # @!attribute [rw] skip_matching
5995
+ # A boolean value that indicates whether skip matching is enabled. If
5996
+ # true, then Amazon EC2 Auto Scaling skips replacing instances that
5997
+ # match the desired configuration. If no desired configuration is
5998
+ # specified, then it skips replacing instances that have the same
5999
+ # configuration that is already set on the group. The default is
6000
+ # `false`.
6001
+ # @return [Boolean]
6002
+ #
5912
6003
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/RefreshPreferences AWS API Documentation
5913
6004
  #
5914
6005
  class RefreshPreferences < Struct.new(
5915
6006
  :min_healthy_percentage,
5916
6007
  :instance_warmup,
5917
6008
  :checkpoint_percentages,
5918
- :checkpoint_delay)
6009
+ :checkpoint_delay,
6010
+ :skip_matching)
5919
6011
  SENSITIVE = []
5920
6012
  include Aws::Structure
5921
6013
  end
@@ -6463,11 +6555,47 @@ module Aws::AutoScaling
6463
6555
  # {
6464
6556
  # auto_scaling_group_name: "XmlStringMaxLen255", # required
6465
6557
  # strategy: "Rolling", # accepts Rolling
6558
+ # desired_configuration: {
6559
+ # launch_template: {
6560
+ # launch_template_id: "XmlStringMaxLen255",
6561
+ # launch_template_name: "LaunchTemplateName",
6562
+ # version: "XmlStringMaxLen255",
6563
+ # },
6564
+ # mixed_instances_policy: {
6565
+ # launch_template: {
6566
+ # launch_template_specification: {
6567
+ # launch_template_id: "XmlStringMaxLen255",
6568
+ # launch_template_name: "LaunchTemplateName",
6569
+ # version: "XmlStringMaxLen255",
6570
+ # },
6571
+ # overrides: [
6572
+ # {
6573
+ # instance_type: "XmlStringMaxLen255",
6574
+ # weighted_capacity: "XmlStringMaxLen32",
6575
+ # launch_template_specification: {
6576
+ # launch_template_id: "XmlStringMaxLen255",
6577
+ # launch_template_name: "LaunchTemplateName",
6578
+ # version: "XmlStringMaxLen255",
6579
+ # },
6580
+ # },
6581
+ # ],
6582
+ # },
6583
+ # instances_distribution: {
6584
+ # on_demand_allocation_strategy: "XmlString",
6585
+ # on_demand_base_capacity: 1,
6586
+ # on_demand_percentage_above_base_capacity: 1,
6587
+ # spot_allocation_strategy: "XmlString",
6588
+ # spot_instance_pools: 1,
6589
+ # spot_max_price: "MixedInstanceSpotPrice",
6590
+ # },
6591
+ # },
6592
+ # },
6466
6593
  # preferences: {
6467
6594
  # min_healthy_percentage: 1,
6468
6595
  # instance_warmup: 1,
6469
6596
  # checkpoint_percentages: [1],
6470
6597
  # checkpoint_delay: 1,
6598
+ # skip_matching: false,
6471
6599
  # },
6472
6600
  # }
6473
6601
  #
@@ -6479,28 +6607,36 @@ module Aws::AutoScaling
6479
6607
  # The strategy to use for the instance refresh. The only valid value
6480
6608
  # is `Rolling`.
6481
6609
  #
6482
- # A rolling update is an update that is applied to all instances in an
6483
- # Auto Scaling group until all instances have been updated. A rolling
6484
- # update can fail due to failed health checks or if instances are on
6485
- # standby or are protected from scale in. If the rolling update
6486
- # process fails, any instances that were already replaced are not
6487
- # rolled back to their previous configuration.
6610
+ # A rolling update helps you update your instances gradually. A
6611
+ # rolling update can fail due to failed health checks or if instances
6612
+ # are on standby or are protected from scale in. If the rolling update
6613
+ # process fails, any instances that are replaced are not rolled back
6614
+ # to their previous configuration.
6488
6615
  # @return [String]
6489
6616
  #
6490
- # @!attribute [rw] preferences
6491
- # Set of preferences associated with the instance refresh request.
6492
- #
6493
- # If not provided, the default values are used. For
6494
- # `MinHealthyPercentage`, the default value is `90`. For
6495
- # `InstanceWarmup`, the default is to use the value specified for the
6496
- # health check grace period for the Auto Scaling group.
6617
+ # @!attribute [rw] desired_configuration
6618
+ # The desired configuration. For example, the desired configuration
6619
+ # can specify a new launch template or a new version of the current
6620
+ # launch template.
6497
6621
  #
6498
- # For more information, see [RefreshPreferences][1] in the *Amazon EC2
6499
- # Auto Scaling API Reference*.
6622
+ # Once the instance refresh succeeds, Amazon EC2 Auto Scaling updates
6623
+ # the settings of the Auto Scaling group to reflect the new desired
6624
+ # configuration.
6500
6625
  #
6626
+ # <note markdown="1"> When you specify a new launch template or a new version of the
6627
+ # current launch template for your desired configuration, consider
6628
+ # enabling the `SkipMatching` property in preferences. If it's
6629
+ # enabled, Amazon EC2 Auto Scaling skips replacing instances that
6630
+ # already use the specified launch template and version. This can help
6631
+ # you reduce the number of replacements that are required to apply
6632
+ # updates.
6501
6633
  #
6634
+ # </note>
6635
+ # @return [Types::DesiredConfiguration]
6502
6636
  #
6503
- # [1]: https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_RefreshPreferences.html
6637
+ # @!attribute [rw] preferences
6638
+ # Set of preferences associated with the instance refresh request. If
6639
+ # not provided, the default values are used.
6504
6640
  # @return [Types::RefreshPreferences]
6505
6641
  #
6506
6642
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/StartInstanceRefreshType AWS API Documentation
@@ -6508,6 +6644,7 @@ module Aws::AutoScaling
6508
6644
  class StartInstanceRefreshType < Struct.new(
6509
6645
  :auto_scaling_group_name,
6510
6646
  :strategy,
6647
+ :desired_configuration,
6511
6648
  :preferences)
6512
6649
  SENSITIVE = []
6513
6650
  include Aws::Structure
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-autoscaling
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.66.0
4
+ version: 1.67.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-30 00:00:00.000000000 Z
11
+ date: 2021-08-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core