aws-sdk-autoscaling 1.66.0 → 1.67.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.
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