aws-sdk-autoscaling 1.164.0 → 1.166.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: 2565ab9596be0d21af90da1a4ecc5ae43188560ba680c2f9868da39336c75ef2
4
- data.tar.gz: 7f13b43e45cbc9a9965987b0974676122bf908894f88371bd05640be02c3fa7e
3
+ metadata.gz: 41537cd85257380f1208a66d2282149e3753d762e4b5f29871f942c9ae2dee7e
4
+ data.tar.gz: 0aed58135d1bbe0fc6fffbf26986a302139c6af956a3fee07e73d8e93086127a
5
5
  SHA512:
6
- metadata.gz: b9f8b557992e13eab65dd899e44750fe848aa89ebdc668c999229b44a20dc495e8b72d7e88eb759a4e089e4dd86942f935a5134fc33e401f9dc5aed54d049741
7
- data.tar.gz: fc4de83b6e114019ec6d8d4c1cad60f11700bced57987b45a041cd3a11db6922dc39e06e35f92ee35f0f4cfc1f5906af22a131af3a8ca5d07caa7913e9c1de82
6
+ metadata.gz: 35a6a1866bac4a144787468716fc10a36435702b385d5ffd2e9f7d257493973b098131878b1372810fb6949f650e4b624502116528d3351589c9ff84cda9aa77
7
+ data.tar.gz: 7087459cfe8c9adf64f902702d312f37806a60daa707888e990db993b621657d7523498b5906aa92529a06f8b3b09a95799b613d6f620fb5c07e9a4a64b996ff
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.166.0 (2026-08-25)
5
+ ------------------
6
+
7
+ * Feature - Adds support for Distribution Segments in mixed instances policies, providing ordered prioritization across On-Demand Capacity Reservations, Capacity Blocks, interruptible Capacity Reservations, and On-Demand capacity.
8
+
9
+ 1.165.0 (2026-08-13)
10
+ ------------------
11
+
12
+ * Feature - Amazon EC2 Auto Scaling now supports terminating multiple instances in a single TerminateInstanceInAutoScalingGroup call via the new InstanceIds parameter, returning an Activities list. LaunchInstances now returns IdempotentCallInProgressFault for duplicate client tokens.
13
+
4
14
  1.164.0 (2026-08-06)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.164.0
1
+ 1.166.0
@@ -1320,6 +1320,11 @@ module Aws::AutoScaling
1320
1320
  # spot_allocation_strategy: "XmlString",
1321
1321
  # spot_instance_pools: 1,
1322
1322
  # spot_max_price: "MixedInstanceSpotPrice",
1323
+ # distribution_segments: [
1324
+ # {
1325
+ # target_capacity_types: ["on-demand-capacity-reservation"], # accepts on-demand-capacity-reservation, capacity-block, interruptible-capacity-reservation, on-demand
1326
+ # },
1327
+ # ],
1323
1328
  # },
1324
1329
  # },
1325
1330
  # min_size: 1,
@@ -1380,6 +1385,11 @@ module Aws::AutoScaling
1380
1385
  # groups with multiple instance types and purchase options][1] in the
1381
1386
  # *Amazon EC2 Auto Scaling User Guide*.
1382
1387
  #
1388
+ # You can remove the Distribution Segments configuration by specifying
1389
+ # `OnDemandBaseCapacity` or `OnDemandPercentageAboveBaseCapacity`. You
1390
+ # can also remove it explicitly by specifying an empty list for
1391
+ # `DistributionSegments`.
1392
+ #
1383
1393
  #
1384
1394
  #
1385
1395
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html
@@ -1079,11 +1079,15 @@ module Aws::AutoScaling
1079
1079
  # @option params [Types::MixedInstancesPolicy] :mixed_instances_policy
1080
1080
  # The mixed instances policy. For more information, see [Auto Scaling
1081
1081
  # groups with multiple instance types and purchase options][1] in the
1082
- # *Amazon EC2 Auto Scaling User Guide*.
1082
+ # *Amazon EC2 Auto Scaling User Guide*. To learn how to prioritize
1083
+ # multiple capacity types, see [Use Distribution Segments to target
1084
+ # multiple capacity types][2] in the *Amazon EC2 Auto Scaling User
1085
+ # Guide*.
1083
1086
  #
1084
1087
  #
1085
1088
  #
1086
1089
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html
1090
+ # [2]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/use-distribution-segments.html
1087
1091
  #
1088
1092
  # @option params [String] :instance_id
1089
1093
  # The ID of the instance used to base the launch configuration on. If
@@ -1553,6 +1557,55 @@ module Aws::AutoScaling
1553
1557
  # vpc_zone_identifier: "subnet-057fa0918fEXAMPLE, subnet-610acd08EXAMPLE",
1554
1558
  # })
1555
1559
  #
1560
+ # @example Example: To create an Auto Scaling group using Distribution Segments
1561
+ #
1562
+ # # This example creates an Auto Scaling group that uses Distribution Segments to prioritize On-Demand Capacity
1563
+ # # Reservations, Capacity Blocks, interruptible Capacity Reservations, and then On-Demand capacity.
1564
+ #
1565
+ # resp = client.create_auto_scaling_group({
1566
+ # auto_scaling_group_name: "my-asg",
1567
+ # capacity_reservation_specification: {
1568
+ # capacity_reservation_target: {
1569
+ # capacity_reservation_resource_group_arns: [
1570
+ # "arn:aws:resource-groups:us-east-1:123456789012:group/my-capacity-reservation-group",
1571
+ # ],
1572
+ # },
1573
+ # },
1574
+ # desired_capacity: 5,
1575
+ # max_size: 10,
1576
+ # min_size: 0,
1577
+ # mixed_instances_policy: {
1578
+ # instances_distribution: {
1579
+ # distribution_segments: [
1580
+ # {
1581
+ # target_capacity_types: [
1582
+ # "on-demand-capacity-reservation",
1583
+ # "capacity-block",
1584
+ # "interruptible-capacity-reservation",
1585
+ # "on-demand",
1586
+ # ],
1587
+ # },
1588
+ # ],
1589
+ # on_demand_allocation_strategy: "prioritized",
1590
+ # },
1591
+ # launch_template: {
1592
+ # launch_template_specification: {
1593
+ # launch_template_name: "my-template-for-auto-scaling",
1594
+ # version: "$Default",
1595
+ # },
1596
+ # overrides: [
1597
+ # {
1598
+ # instance_type: "m5.24xlarge",
1599
+ # },
1600
+ # {
1601
+ # instance_type: "p5.48xlarge",
1602
+ # },
1603
+ # ],
1604
+ # },
1605
+ # },
1606
+ # vpc_zone_identifier: "subnet-057fa0918fEXAMPLE",
1607
+ # })
1608
+ #
1556
1609
  # @example Request syntax with placeholder values
1557
1610
  #
1558
1611
  # resp = client.create_auto_scaling_group({
@@ -1652,6 +1705,11 @@ module Aws::AutoScaling
1652
1705
  # spot_allocation_strategy: "XmlString",
1653
1706
  # spot_instance_pools: 1,
1654
1707
  # spot_max_price: "MixedInstanceSpotPrice",
1708
+ # distribution_segments: [
1709
+ # {
1710
+ # target_capacity_types: ["on-demand-capacity-reservation"], # accepts on-demand-capacity-reservation, capacity-block, interruptible-capacity-reservation, on-demand
1711
+ # },
1712
+ # ],
1655
1713
  # },
1656
1714
  # },
1657
1715
  # instance_id: "XmlStringMaxLen19",
@@ -2790,6 +2848,9 @@ module Aws::AutoScaling
2790
2848
  # resp.auto_scaling_groups[0].mixed_instances_policy.instances_distribution.spot_allocation_strategy #=> String
2791
2849
  # resp.auto_scaling_groups[0].mixed_instances_policy.instances_distribution.spot_instance_pools #=> Integer
2792
2850
  # resp.auto_scaling_groups[0].mixed_instances_policy.instances_distribution.spot_max_price #=> String
2851
+ # resp.auto_scaling_groups[0].mixed_instances_policy.instances_distribution.distribution_segments #=> Array
2852
+ # resp.auto_scaling_groups[0].mixed_instances_policy.instances_distribution.distribution_segments[0].target_capacity_types #=> Array
2853
+ # resp.auto_scaling_groups[0].mixed_instances_policy.instances_distribution.distribution_segments[0].target_capacity_types[0] #=> String, one of "on-demand-capacity-reservation", "capacity-block", "interruptible-capacity-reservation", "on-demand"
2793
2854
  # resp.auto_scaling_groups[0].min_size #=> Integer
2794
2855
  # resp.auto_scaling_groups[0].max_size #=> Integer
2795
2856
  # resp.auto_scaling_groups[0].desired_capacity #=> Integer
@@ -3214,6 +3275,9 @@ module Aws::AutoScaling
3214
3275
  # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.instances_distribution.spot_allocation_strategy #=> String
3215
3276
  # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.instances_distribution.spot_instance_pools #=> Integer
3216
3277
  # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.instances_distribution.spot_max_price #=> String
3278
+ # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.instances_distribution.distribution_segments #=> Array
3279
+ # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.instances_distribution.distribution_segments[0].target_capacity_types #=> Array
3280
+ # resp.instance_refreshes[0].desired_configuration.mixed_instances_policy.instances_distribution.distribution_segments[0].target_capacity_types[0] #=> String, one of "on-demand-capacity-reservation", "capacity-block", "interruptible-capacity-reservation", "on-demand"
3217
3281
  # resp.instance_refreshes[0].rollback_details.rollback_reason #=> String
3218
3282
  # resp.instance_refreshes[0].rollback_details.rollback_start_time #=> Time
3219
3283
  # resp.instance_refreshes[0].rollback_details.percentage_complete_on_rollback #=> Integer
@@ -7044,6 +7108,11 @@ module Aws::AutoScaling
7044
7108
  # spot_allocation_strategy: "XmlString",
7045
7109
  # spot_instance_pools: 1,
7046
7110
  # spot_max_price: "MixedInstanceSpotPrice",
7111
+ # distribution_segments: [
7112
+ # {
7113
+ # target_capacity_types: ["on-demand-capacity-reservation"], # accepts on-demand-capacity-reservation, capacity-block, interruptible-capacity-reservation, on-demand
7114
+ # },
7115
+ # ],
7047
7116
  # },
7048
7117
  # },
7049
7118
  # },
@@ -7153,7 +7222,7 @@ module Aws::AutoScaling
7153
7222
  # group size. This operation cannot be called on instances in a warm
7154
7223
  # pool.
7155
7224
  #
7156
- # This call simply makes a termination request. The instance is not
7225
+ # This call simply makes a termination request. The instances are not
7157
7226
  # terminated immediately. When an instance is terminated, the instance
7158
7227
  # status changes to `terminated`. You can't connect to or start an
7159
7228
  # instance after you've terminated it.
@@ -7162,6 +7231,11 @@ module Aws::AutoScaling
7162
7231
  # Amazon EC2 Auto Scaling launches instances to replace the ones that
7163
7232
  # are terminated.
7164
7233
  #
7234
+ # To terminate multiple instances in a single call, use the
7235
+ # `InstanceIds` and `AutoScalingGroupName` parameters instead of
7236
+ # `InstanceId`. When terminating multiple instances, the response
7237
+ # populates `Activities` instead of `Activity`.
7238
+ #
7165
7239
  # By default, Amazon EC2 Auto Scaling balances instances across all
7166
7240
  # Availability Zones. If you decrement the desired capacity, your Auto
7167
7241
  # Scaling group can become unbalanced between Availability Zones. Amazon
@@ -7173,9 +7247,17 @@ module Aws::AutoScaling
7173
7247
  #
7174
7248
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-scaling-manually.html
7175
7249
  #
7176
- # @option params [required, String] :instance_id
7250
+ # @option params [String] :instance_id
7177
7251
  # The ID of the instance.
7178
7252
  #
7253
+ # @option params [Array<String>] :instance_ids
7254
+ # The IDs of the instances. You can specify up to 100 instances.
7255
+ #
7256
+ # This parameter requires that you also specify `AutoScalingGroupName`.
7257
+ #
7258
+ # @option params [String] :auto_scaling_group_name
7259
+ # The name of the Auto Scaling group. Required when using `InstanceIds`.
7260
+ #
7179
7261
  # @option params [required, Boolean] :should_decrement_desired_capacity
7180
7262
  # Indicates whether terminating the instance also decrements the size of
7181
7263
  # the Auto Scaling group.
@@ -7183,6 +7265,7 @@ module Aws::AutoScaling
7183
7265
  # @return [Types::ActivityType] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7184
7266
  #
7185
7267
  # * {Types::ActivityType#activity #activity} => Types::Activity
7268
+ # * {Types::ActivityType#activities #activities} => Array&lt;Types::Activity&gt;
7186
7269
  #
7187
7270
  #
7188
7271
  # @example Example: To terminate an instance in an Auto Scaling group
@@ -7195,10 +7278,50 @@ module Aws::AutoScaling
7195
7278
  # should_decrement_desired_capacity: false,
7196
7279
  # })
7197
7280
  #
7281
+ # @example Example: To terminate multiple instances in an Auto Scaling group
7282
+ #
7283
+ # # This example terminates multiple instances from the specified Auto Scaling group without updating the size of the group.
7284
+ # # Auto Scaling launches replacement instances after the specified instances terminate.
7285
+ #
7286
+ # resp = client.terminate_instance_in_auto_scaling_group({
7287
+ # auto_scaling_group_name: "my-asg",
7288
+ # instance_ids: [
7289
+ # "i-93633f9b",
7290
+ # "i-ab4d5e6f7",
7291
+ # ],
7292
+ # should_decrement_desired_capacity: false,
7293
+ # })
7294
+ #
7295
+ # resp.to_h outputs the following:
7296
+ # {
7297
+ # activities: [
7298
+ # {
7299
+ # activity_id: "12345678-1234-1234-1234-123456789012",
7300
+ # auto_scaling_group_name: "my-asg",
7301
+ # cause: "At 2024-03-14T00:07:30Z instance i-93633f9b was taken out of service in response to a user request.",
7302
+ # description: "Terminating EC2 instance: i-93633f9b",
7303
+ # progress: 0,
7304
+ # start_time: Time.parse("2024-03-14T00:07:30.280Z"),
7305
+ # status_code: "InProgress",
7306
+ # },
7307
+ # {
7308
+ # activity_id: "12345678-1234-1234-1234-123456789013",
7309
+ # auto_scaling_group_name: "my-asg",
7310
+ # cause: "At 2024-03-14T00:07:30Z instance i-ab4d5e6f7 was taken out of service in response to a user request.",
7311
+ # description: "Terminating EC2 instance: i-ab4d5e6f7",
7312
+ # progress: 0,
7313
+ # start_time: Time.parse("2024-03-14T00:07:30.280Z"),
7314
+ # status_code: "InProgress",
7315
+ # },
7316
+ # ],
7317
+ # }
7318
+ #
7198
7319
  # @example Request syntax with placeholder values
7199
7320
  #
7200
7321
  # resp = client.terminate_instance_in_auto_scaling_group({
7201
- # instance_id: "XmlStringMaxLen19", # required
7322
+ # instance_id: "XmlStringMaxLen19",
7323
+ # instance_ids: ["XmlStringMaxLen19"],
7324
+ # auto_scaling_group_name: "XmlStringMaxLen255",
7202
7325
  # should_decrement_desired_capacity: false, # required
7203
7326
  # })
7204
7327
  #
@@ -7216,6 +7339,19 @@ module Aws::AutoScaling
7216
7339
  # resp.activity.details #=> String
7217
7340
  # resp.activity.auto_scaling_group_state #=> String
7218
7341
  # resp.activity.auto_scaling_group_arn #=> String
7342
+ # resp.activities #=> Array
7343
+ # resp.activities[0].activity_id #=> String
7344
+ # resp.activities[0].auto_scaling_group_name #=> String
7345
+ # resp.activities[0].description #=> String
7346
+ # resp.activities[0].cause #=> String
7347
+ # resp.activities[0].start_time #=> Time
7348
+ # resp.activities[0].end_time #=> Time
7349
+ # resp.activities[0].status_code #=> String, one of "PendingSpotBidPlacement", "WaitingForSpotInstanceRequestId", "WaitingForSpotInstanceId", "WaitingForInstanceId", "PreInService", "InProgress", "WaitingForELBConnectionDraining", "MidLifecycleAction", "WaitingForInstanceWarmup", "Successful", "Failed", "Cancelled", "WaitingForConnectionDraining", "WaitingForInPlaceUpdateToStart", "WaitingForInPlaceUpdateToFinalize", "InPlaceUpdateInProgress"
7350
+ # resp.activities[0].status_message #=> String
7351
+ # resp.activities[0].progress #=> Integer
7352
+ # resp.activities[0].details #=> String
7353
+ # resp.activities[0].auto_scaling_group_state #=> String
7354
+ # resp.activities[0].auto_scaling_group_arn #=> String
7219
7355
  #
7220
7356
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/TerminateInstanceInAutoScalingGroup AWS API Documentation
7221
7357
  #
@@ -7299,6 +7435,11 @@ module Aws::AutoScaling
7299
7435
  # groups with multiple instance types and purchase options][1] in the
7300
7436
  # *Amazon EC2 Auto Scaling User Guide*.
7301
7437
  #
7438
+ # You can remove the Distribution Segments configuration by specifying
7439
+ # `OnDemandBaseCapacity` or `OnDemandPercentageAboveBaseCapacity`. You
7440
+ # can also remove it explicitly by specifying an empty list for
7441
+ # `DistributionSegments`.
7442
+ #
7302
7443
  #
7303
7444
  #
7304
7445
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html
@@ -7684,6 +7825,11 @@ module Aws::AutoScaling
7684
7825
  # spot_allocation_strategy: "XmlString",
7685
7826
  # spot_instance_pools: 1,
7686
7827
  # spot_max_price: "MixedInstanceSpotPrice",
7828
+ # distribution_segments: [
7829
+ # {
7830
+ # target_capacity_types: ["on-demand-capacity-reservation"], # accepts on-demand-capacity-reservation, capacity-block, interruptible-capacity-reservation, on-demand
7831
+ # },
7832
+ # ],
7687
7833
  # },
7688
7834
  # },
7689
7835
  # min_size: 1,
@@ -7758,7 +7904,7 @@ module Aws::AutoScaling
7758
7904
  tracer: tracer
7759
7905
  )
7760
7906
  context[:gem_name] = 'aws-sdk-autoscaling'
7761
- context[:gem_version] = '1.164.0'
7907
+ context[:gem_version] = '1.166.0'
7762
7908
  Seahorse::Client::Request.new(handlers, context)
7763
7909
  end
7764
7910
 
@@ -158,6 +158,8 @@ module Aws::AutoScaling
158
158
  DetachTrafficSourcesType = Shapes::StructureShape.new(name: 'DetachTrafficSourcesType')
159
159
  DisableMetricsCollectionQuery = Shapes::StructureShape.new(name: 'DisableMetricsCollectionQuery')
160
160
  DisableScaleIn = Shapes::BooleanShape.new(name: 'DisableScaleIn')
161
+ DistributionSegment = Shapes::StructureShape.new(name: 'DistributionSegment')
162
+ DistributionSegments = Shapes::ListShape.new(name: 'DistributionSegments')
161
163
  Ebs = Shapes::StructureShape.new(name: 'Ebs')
162
164
  EbsOptimized = Shapes::BooleanShape.new(name: 'EbsOptimized')
163
165
  EnableMetricsCollectionQuery = Shapes::StructureShape.new(name: 'EnableMetricsCollectionQuery')
@@ -182,6 +184,7 @@ module Aws::AutoScaling
182
184
  HealthCheckGracePeriod = Shapes::IntegerShape.new(name: 'HealthCheckGracePeriod')
183
185
  HeartbeatTimeout = Shapes::IntegerShape.new(name: 'HeartbeatTimeout')
184
186
  HonorCooldown = Shapes::BooleanShape.new(name: 'HonorCooldown')
187
+ IdempotentCallInProgressFault = Shapes::StructureShape.new(name: 'IdempotentCallInProgressFault', error: {"code" => "IdempotentCallInProgress", "httpStatusCode" => 500, "senderFault" => true})
185
188
  IdempotentParameterMismatchError = Shapes::StructureShape.new(name: 'IdempotentParameterMismatchError', error: {"code" => "IdempotentParameterMismatch", "httpStatusCode" => 400, "senderFault" => true})
186
189
  ImageId = Shapes::StringShape.new(name: 'ImageId')
187
190
  ImpairedZoneHealthCheckBehavior = Shapes::StringShape.new(name: 'ImpairedZoneHealthCheckBehavior')
@@ -401,12 +404,15 @@ module Aws::AutoScaling
401
404
  TagValue = Shapes::StringShape.new(name: 'TagValue')
402
405
  Tags = Shapes::ListShape.new(name: 'Tags')
403
406
  TagsType = Shapes::StructureShape.new(name: 'TagsType')
407
+ TargetCapacityType = Shapes::StringShape.new(name: 'TargetCapacityType')
408
+ TargetCapacityTypes = Shapes::ListShape.new(name: 'TargetCapacityTypes')
404
409
  TargetGroupARNs = Shapes::ListShape.new(name: 'TargetGroupARNs')
405
410
  TargetTrackingConfiguration = Shapes::StructureShape.new(name: 'TargetTrackingConfiguration')
406
411
  TargetTrackingMetricDataQueries = Shapes::ListShape.new(name: 'TargetTrackingMetricDataQueries')
407
412
  TargetTrackingMetricDataQuery = Shapes::StructureShape.new(name: 'TargetTrackingMetricDataQuery')
408
413
  TargetTrackingMetricStat = Shapes::StructureShape.new(name: 'TargetTrackingMetricStat')
409
414
  TerminateInstanceInAutoScalingGroupType = Shapes::StructureShape.new(name: 'TerminateInstanceInAutoScalingGroupType')
415
+ TerminationInstanceIds = Shapes::ListShape.new(name: 'TerminationInstanceIds')
410
416
  TerminationPolicies = Shapes::ListShape.new(name: 'TerminationPolicies')
411
417
  TimestampType = Shapes::TimestampShape.new(name: 'TimestampType')
412
418
  TotalLocalStorageGBRequest = Shapes::StructureShape.new(name: 'TotalLocalStorageGBRequest')
@@ -478,6 +484,7 @@ module Aws::AutoScaling
478
484
  ActivityIds.member = Shapes::ShapeRef.new(shape: XmlString)
479
485
 
480
486
  ActivityType.add_member(:activity, Shapes::ShapeRef.new(shape: Activity, location_name: "Activity"))
487
+ ActivityType.add_member(:activities, Shapes::ShapeRef.new(shape: Activities, location_name: "Activities"))
481
488
  ActivityType.struct_class = Types::ActivityType
482
489
 
483
490
  AdjustmentType.add_member(:adjustment_type, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "AdjustmentType"))
@@ -945,6 +952,11 @@ module Aws::AutoScaling
945
952
  DisableMetricsCollectionQuery.add_member(:metrics, Shapes::ShapeRef.new(shape: Metrics, location_name: "Metrics"))
946
953
  DisableMetricsCollectionQuery.struct_class = Types::DisableMetricsCollectionQuery
947
954
 
955
+ DistributionSegment.add_member(:target_capacity_types, Shapes::ShapeRef.new(shape: TargetCapacityTypes, location_name: "TargetCapacityTypes"))
956
+ DistributionSegment.struct_class = Types::DistributionSegment
957
+
958
+ DistributionSegments.member = Shapes::ShapeRef.new(shape: DistributionSegment)
959
+
948
960
  Ebs.add_member(:snapshot_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "SnapshotId"))
949
961
  Ebs.add_member(:volume_size, Shapes::ShapeRef.new(shape: BlockDeviceEbsVolumeSize, location_name: "VolumeSize"))
950
962
  Ebs.add_member(:volume_type, Shapes::ShapeRef.new(shape: BlockDeviceEbsVolumeType, location_name: "VolumeType"))
@@ -1013,6 +1025,9 @@ module Aws::AutoScaling
1013
1025
  GetPredictiveScalingForecastType.add_member(:end_time, Shapes::ShapeRef.new(shape: TimestampType, required: true, location_name: "EndTime"))
1014
1026
  GetPredictiveScalingForecastType.struct_class = Types::GetPredictiveScalingForecastType
1015
1027
 
1028
+ IdempotentCallInProgressFault.add_member(:message, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "Message"))
1029
+ IdempotentCallInProgressFault.struct_class = Types::IdempotentCallInProgressFault
1030
+
1016
1031
  IdempotentParameterMismatchError.add_member(:message, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "Message"))
1017
1032
  IdempotentParameterMismatchError.struct_class = Types::IdempotentParameterMismatchError
1018
1033
 
@@ -1130,6 +1145,7 @@ module Aws::AutoScaling
1130
1145
  InstancesDistribution.add_member(:spot_allocation_strategy, Shapes::ShapeRef.new(shape: XmlString, location_name: "SpotAllocationStrategy"))
1131
1146
  InstancesDistribution.add_member(:spot_instance_pools, Shapes::ShapeRef.new(shape: SpotInstancePools, location_name: "SpotInstancePools"))
1132
1147
  InstancesDistribution.add_member(:spot_max_price, Shapes::ShapeRef.new(shape: MixedInstanceSpotPrice, location_name: "SpotMaxPrice"))
1148
+ InstancesDistribution.add_member(:distribution_segments, Shapes::ShapeRef.new(shape: DistributionSegments, location_name: "DistributionSegments"))
1133
1149
  InstancesDistribution.struct_class = Types::InstancesDistribution
1134
1150
 
1135
1151
  InvalidNextToken.add_member(:message, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "message"))
@@ -1638,6 +1654,8 @@ module Aws::AutoScaling
1638
1654
  TagsType.add_member(:next_token, Shapes::ShapeRef.new(shape: XmlString, location_name: "NextToken"))
1639
1655
  TagsType.struct_class = Types::TagsType
1640
1656
 
1657
+ TargetCapacityTypes.member = Shapes::ShapeRef.new(shape: TargetCapacityType)
1658
+
1641
1659
  TargetGroupARNs.member = Shapes::ShapeRef.new(shape: XmlStringMaxLen511)
1642
1660
 
1643
1661
  TargetTrackingConfiguration.add_member(:predefined_metric_specification, Shapes::ShapeRef.new(shape: PredefinedMetricSpecification, location_name: "PredefinedMetricSpecification"))
@@ -1662,10 +1680,14 @@ module Aws::AutoScaling
1662
1680
  TargetTrackingMetricStat.add_member(:period, Shapes::ShapeRef.new(shape: MetricGranularityInSeconds, location_name: "Period"))
1663
1681
  TargetTrackingMetricStat.struct_class = Types::TargetTrackingMetricStat
1664
1682
 
1665
- TerminateInstanceInAutoScalingGroupType.add_member(:instance_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen19, required: true, location_name: "InstanceId"))
1683
+ TerminateInstanceInAutoScalingGroupType.add_member(:instance_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen19, location_name: "InstanceId"))
1684
+ TerminateInstanceInAutoScalingGroupType.add_member(:instance_ids, Shapes::ShapeRef.new(shape: TerminationInstanceIds, location_name: "InstanceIds"))
1685
+ TerminateInstanceInAutoScalingGroupType.add_member(:auto_scaling_group_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen255, location_name: "AutoScalingGroupName"))
1666
1686
  TerminateInstanceInAutoScalingGroupType.add_member(:should_decrement_desired_capacity, Shapes::ShapeRef.new(shape: ShouldDecrementDesiredCapacity, required: true, location_name: "ShouldDecrementDesiredCapacity"))
1667
1687
  TerminateInstanceInAutoScalingGroupType.struct_class = Types::TerminateInstanceInAutoScalingGroupType
1668
1688
 
1689
+ TerminationInstanceIds.member = Shapes::ShapeRef.new(shape: XmlStringMaxLen19)
1690
+
1669
1691
  TerminationPolicies.member = Shapes::ShapeRef.new(shape: XmlStringMaxLen1600)
1670
1692
 
1671
1693
  TotalLocalStorageGBRequest.add_member(:min, Shapes::ShapeRef.new(shape: NullablePositiveDouble, location_name: "Min"))
@@ -2328,6 +2350,7 @@ module Aws::AutoScaling
2328
2350
  o.output = Shapes::ShapeRef.new(shape: LaunchInstancesResult)
2329
2351
  o.errors << Shapes::ShapeRef.new(shape: ResourceContentionFault)
2330
2352
  o.errors << Shapes::ShapeRef.new(shape: IdempotentParameterMismatchError)
2353
+ o.errors << Shapes::ShapeRef.new(shape: IdempotentCallInProgressFault)
2331
2354
  end)
2332
2355
 
2333
2356
  api.add_operation(:put_lifecycle_hook, Seahorse::Model::Operation.new.tap do |o|
@@ -31,6 +31,8 @@ module Aws::AutoScaling
31
31
  # * This error class is not used. `ActiveInstanceRefreshNotFound` is used during parsing instead.
32
32
  # * {AlreadyExistsFault}
33
33
  # * This error class is not used. `AlreadyExists` is used during parsing instead.
34
+ # * {IdempotentCallInProgressFault}
35
+ # * This error class is not used. `IdempotentCallInProgress` is used during parsing instead.
34
36
  # * {IdempotentParameterMismatchError}
35
37
  # * This error class is not used. `IdempotentParameterMismatch` is used during parsing instead.
36
38
  # * {InstanceRefreshInProgressFault}
@@ -88,6 +90,23 @@ module Aws::AutoScaling
88
90
  end
89
91
  end
90
92
 
93
+ # @deprecated This error class is not used during parsing.
94
+ # Please use `IdempotentCallInProgress` instead.
95
+ class IdempotentCallInProgressFault < ServiceError
96
+
97
+ # @param [Seahorse::Client::RequestContext] context
98
+ # @param [String] message
99
+ # @param [Aws::AutoScaling::Types::IdempotentCallInProgressFault] data
100
+ def initialize(context, message, data = Aws::EmptyStructure.new)
101
+ super(context, message, data)
102
+ end
103
+
104
+ # @return [String]
105
+ def message
106
+ @message || @data[:message]
107
+ end
108
+ end
109
+
91
110
  # @deprecated This error class is not used during parsing.
92
111
  # Please use `IdempotentParameterMismatch` instead.
93
112
  class IdempotentParameterMismatchError < ServiceError
@@ -419,9 +419,17 @@ module Aws::AutoScaling
419
419
  # @example Request syntax with placeholder values
420
420
  #
421
421
  # activity = instance.terminate({
422
+ # instance_ids: ["XmlStringMaxLen19"],
423
+ # auto_scaling_group_name: "XmlStringMaxLen255",
422
424
  # should_decrement_desired_capacity: false, # required
423
425
  # })
424
426
  # @param [Hash] options ({})
427
+ # @option options [Array<String>] :instance_ids
428
+ # The IDs of the instances. You can specify up to 100 instances.
429
+ #
430
+ # This parameter requires that you also specify `AutoScalingGroupName`.
431
+ # @option options [String] :auto_scaling_group_name
432
+ # The name of the Auto Scaling group. Required when using `InstanceIds`.
425
433
  # @option options [required, Boolean] :should_decrement_desired_capacity
426
434
  # Indicates whether terminating the instance also decrements the size of
427
435
  # the Auto Scaling group.
@@ -134,6 +134,11 @@ module Aws::AutoScaling
134
134
  # spot_allocation_strategy: "XmlString",
135
135
  # spot_instance_pools: 1,
136
136
  # spot_max_price: "MixedInstanceSpotPrice",
137
+ # distribution_segments: [
138
+ # {
139
+ # target_capacity_types: ["on-demand-capacity-reservation"], # accepts on-demand-capacity-reservation, capacity-block, interruptible-capacity-reservation, on-demand
140
+ # },
141
+ # ],
137
142
  # },
138
143
  # },
139
144
  # instance_id: "XmlStringMaxLen19",
@@ -250,11 +255,15 @@ module Aws::AutoScaling
250
255
  # @option options [Types::MixedInstancesPolicy] :mixed_instances_policy
251
256
  # The mixed instances policy. For more information, see [Auto Scaling
252
257
  # groups with multiple instance types and purchase options][1] in the
253
- # *Amazon EC2 Auto Scaling User Guide*.
258
+ # *Amazon EC2 Auto Scaling User Guide*. To learn how to prioritize
259
+ # multiple capacity types, see [Use Distribution Segments to target
260
+ # multiple capacity types][2] in the *Amazon EC2 Auto Scaling User
261
+ # Guide*.
254
262
  #
255
263
  #
256
264
  #
257
265
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html
266
+ # [2]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/use-distribution-segments.html
258
267
  # @option options [String] :instance_id
259
268
  # The ID of the instance used to base the launch configuration on. If
260
269
  # specified, Amazon EC2 Auto Scaling uses the configuration values from
@@ -172,10 +172,16 @@ module Aws::AutoScaling
172
172
  # A scaling activity.
173
173
  # @return [Types::Activity]
174
174
  #
175
+ # @!attribute [rw] activities
176
+ # The scaling activities related to terminating the instances from the
177
+ # Auto Scaling group.
178
+ # @return [Array<Types::Activity>]
179
+ #
175
180
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/ActivityType AWS API Documentation
176
181
  #
177
182
  class ActivityType < Struct.new(
178
- :activity)
183
+ :activity,
184
+ :activities)
179
185
  SENSITIVE = []
180
186
  include Aws::Structure
181
187
  end
@@ -1232,11 +1238,15 @@ module Aws::AutoScaling
1232
1238
  # @!attribute [rw] mixed_instances_policy
1233
1239
  # The mixed instances policy. For more information, see [Auto Scaling
1234
1240
  # groups with multiple instance types and purchase options][1] in the
1235
- # *Amazon EC2 Auto Scaling User Guide*.
1241
+ # *Amazon EC2 Auto Scaling User Guide*. To learn how to prioritize
1242
+ # multiple capacity types, see [Use Distribution Segments to target
1243
+ # multiple capacity types][2] in the *Amazon EC2 Auto Scaling User
1244
+ # Guide*.
1236
1245
  #
1237
1246
  #
1238
1247
  #
1239
1248
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html
1249
+ # [2]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/use-distribution-segments.html
1240
1250
  # @return [Types::MixedInstancesPolicy]
1241
1251
  #
1242
1252
  # @!attribute [rw] instance_id
@@ -2827,14 +2837,15 @@ module Aws::AutoScaling
2827
2837
  # @return [Types::LaunchTemplateSpecification]
2828
2838
  #
2829
2839
  # @!attribute [rw] mixed_instances_policy
2830
- # Use this structure to launch multiple instance types and On-Demand
2831
- # Instances and Spot Instances within a single Auto Scaling group.
2840
+ # Use this structure to launch multiple instance types and configure
2841
+ # how capacity is distributed across On-Demand, Spot, and supported
2842
+ # Capacity Reservation types within a single Auto Scaling group.
2832
2843
  #
2833
2844
  # A mixed instances policy contains information that Amazon EC2 Auto
2834
- # Scaling can use to launch instances and help optimize your costs.
2835
- # For more information, see [Auto Scaling groups with multiple
2836
- # instance types and purchase options][1] in the *Amazon EC2 Auto
2837
- # Scaling User Guide*.
2845
+ # Scaling can use to launch instances, prioritize capacity types, and
2846
+ # help optimize your costs. For more information, see [Auto Scaling
2847
+ # groups with multiple instance types and purchase options][1] in the
2848
+ # *Amazon EC2 Auto Scaling User Guide*.
2838
2849
  #
2839
2850
  #
2840
2851
  #
@@ -3020,6 +3031,44 @@ module Aws::AutoScaling
3020
3031
  include Aws::Structure
3021
3032
  end
3022
3033
 
3034
+ # Use this structure to specify the capacity types that Amazon EC2 Auto
3035
+ # Scaling prioritizes when it launches instances.
3036
+ #
3037
+ # @!attribute [rw] target_capacity_types
3038
+ # The capacity types to prioritize, in order. Amazon EC2 Auto Scaling
3039
+ # attempts to launch instances in the priority order of the capacity
3040
+ # types, and within each capacity type, in the order of instance types
3041
+ # listed in your launch template `Overrides`.
3042
+ #
3043
+ # The following lists the valid values:
3044
+ #
3045
+ # on-demand-capacity-reservation
3046
+ #
3047
+ # : On-Demand Capacity Reservations.
3048
+ #
3049
+ # capacity-block
3050
+ #
3051
+ # : Capacity Blocks.
3052
+ #
3053
+ # interruptible-capacity-reservation
3054
+ #
3055
+ # : Interruptible Capacity Reservations.
3056
+ #
3057
+ # on-demand
3058
+ #
3059
+ # : On-Demand capacity. Include this value to allow the group to fall
3060
+ # back to On-Demand capacity when the preceding capacity types are
3061
+ # unavailable.
3062
+ # @return [Array<String>]
3063
+ #
3064
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/DistributionSegment AWS API Documentation
3065
+ #
3066
+ class DistributionSegment < Struct.new(
3067
+ :target_capacity_types)
3068
+ SENSITIVE = []
3069
+ include Aws::Structure
3070
+ end
3071
+
3023
3072
  # Describes information used to set up an Amazon EBS volume specified in
3024
3073
  # a block device mapping.
3025
3074
  #
@@ -3601,6 +3650,21 @@ module Aws::AutoScaling
3601
3650
  include Aws::Structure
3602
3651
  end
3603
3652
 
3653
+ # The service is currently processing another request with the same
3654
+ # client token. Retry the request with the same client token—the
3655
+ # in-flight operation will complete and return its result.
3656
+ #
3657
+ # @!attribute [rw] message
3658
+ # @return [String]
3659
+ #
3660
+ # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/IdempotentCallInProgressFault AWS API Documentation
3661
+ #
3662
+ class IdempotentCallInProgressFault < Struct.new(
3663
+ :message)
3664
+ SENSITIVE = []
3665
+ include Aws::Structure
3666
+ end
3667
+
3604
3668
  # Indicates that the parameters in the current request do not match the
3605
3669
  # parameters from a previous request with the same client token within
3606
3670
  # the idempotency window.
@@ -4536,9 +4600,10 @@ module Aws::AutoScaling
4536
4600
  include Aws::Structure
4537
4601
  end
4538
4602
 
4539
- # Use this structure to specify the distribution of On-Demand Instances
4540
- # and Spot Instances and the allocation strategies used to fulfill
4541
- # On-Demand and Spot capacities for a mixed instances policy.
4603
+ # Use this structure to specify how a mixed instances policy distributes
4604
+ # capacity across On-Demand, Spot, and supported Capacity Reservation
4605
+ # types, and to specify the allocation strategies that are used to
4606
+ # fulfill the capacity.
4542
4607
  #
4543
4608
  # @!attribute [rw] on_demand_allocation_strategy
4544
4609
  # The allocation strategy to apply to your On-Demand Instances when
@@ -4667,6 +4732,19 @@ module Aws::AutoScaling
4667
4732
  # Valid Range: Minimum value of 0.001
4668
4733
  # @return [String]
4669
4734
  #
4735
+ # @!attribute [rw] distribution_segments
4736
+ # The Distribution Segments configuration. Each segment contains an
4737
+ # ordered list of capacity types to prioritize.
4738
+ #
4739
+ # For more information, see [Use Distribution Segments to target
4740
+ # multiple capacity types][1] in the *Amazon EC2 Auto Scaling User
4741
+ # Guide*.
4742
+ #
4743
+ #
4744
+ #
4745
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/use-distribution-segments.html
4746
+ # @return [Array<Types::DistributionSegment>]
4747
+ #
4670
4748
  # @see http://docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/InstancesDistribution AWS API Documentation
4671
4749
  #
4672
4750
  class InstancesDistribution < Struct.new(
@@ -4675,7 +4753,8 @@ module Aws::AutoScaling
4675
4753
  :on_demand_percentage_above_base_capacity,
4676
4754
  :spot_allocation_strategy,
4677
4755
  :spot_instance_pools,
4678
- :spot_max_price)
4756
+ :spot_max_price,
4757
+ :distribution_segments)
4679
4758
  SENSITIVE = []
4680
4759
  include Aws::Structure
4681
4760
  end
@@ -5902,22 +5981,27 @@ module Aws::AutoScaling
5902
5981
  include Aws::Structure
5903
5982
  end
5904
5983
 
5905
- # Use this structure to launch multiple instance types and On-Demand
5906
- # Instances and Spot Instances within a single Auto Scaling group.
5984
+ # Use this structure to launch multiple instance types and configure how
5985
+ # capacity is distributed across On-Demand, Spot, and supported Capacity
5986
+ # Reservation types within a single Auto Scaling group.
5907
5987
  #
5908
5988
  # A mixed instances policy contains information that Amazon EC2 Auto
5909
- # Scaling can use to launch instances and help optimize your costs. For
5910
- # more information, see [Auto Scaling groups with multiple instance
5911
- # types and purchase options][1] in the *Amazon EC2 Auto Scaling User
5989
+ # Scaling can use to launch instances, prioritize capacity types, and
5990
+ # help optimize your costs. For more information, see [Auto Scaling
5991
+ # groups with multiple instance types and purchase options][1] in the
5992
+ # *Amazon EC2 Auto Scaling User Guide*. To learn how to prioritize
5993
+ # multiple capacity types, see [Use Distribution Segments to target
5994
+ # multiple capacity types][2] in the *Amazon EC2 Auto Scaling User
5912
5995
  # Guide*.
5913
5996
  #
5914
5997
  #
5915
5998
  #
5916
5999
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html
6000
+ # [2]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/use-distribution-segments.html
5917
6001
  #
5918
6002
  # @!attribute [rw] launch_template
5919
6003
  # One or more launch templates and the instance types (overrides) that
5920
- # are used to launch EC2 instances to fulfill On-Demand and Spot
6004
+ # are used to launch EC2 instances to fulfill the configured
5921
6005
  # capacities.
5922
6006
  # @return [Types::LaunchTemplate]
5923
6007
  #
@@ -7317,6 +7401,17 @@ module Aws::AutoScaling
7317
7401
  # If you do not specify this property, the default is 100 percent, or
7318
7402
  # the percentage set in the instance maintenance policy for the Auto
7319
7403
  # Scaling group, if defined.
7404
+ #
7405
+ # Explicitly setting `MaxHealthyPercentage` to 100 is not equivalent
7406
+ # to omitting it. When `MaxHealthyPercentage` is explicitly set and it
7407
+ # is mathematically impossible to replace instances while honoring
7408
+ # both `MinHealthyPercentage` and `MaxHealthyPercentage` bounds
7409
+ # simultaneously, Auto Scaling launches a new instance before
7410
+ # terminating an old one (temporarily exceeding the desired capacity).
7411
+ # When `MaxHealthyPercentage` is omitted, Auto Scaling terminates an
7412
+ # instance and launches its replacement simultaneously. This
7413
+ # behavioral difference can affect workflows that depend on instance
7414
+ # replacement ordering.
7320
7415
  # @return [Integer]
7321
7416
  #
7322
7417
  # @!attribute [rw] bake_time
@@ -8362,6 +8457,18 @@ module Aws::AutoScaling
8362
8457
  # The ID of the instance.
8363
8458
  # @return [String]
8364
8459
  #
8460
+ # @!attribute [rw] instance_ids
8461
+ # The IDs of the instances. You can specify up to 100 instances.
8462
+ #
8463
+ # This parameter requires that you also specify
8464
+ # `AutoScalingGroupName`.
8465
+ # @return [Array<String>]
8466
+ #
8467
+ # @!attribute [rw] auto_scaling_group_name
8468
+ # The name of the Auto Scaling group. Required when using
8469
+ # `InstanceIds`.
8470
+ # @return [String]
8471
+ #
8365
8472
  # @!attribute [rw] should_decrement_desired_capacity
8366
8473
  # Indicates whether terminating the instance also decrements the size
8367
8474
  # of the Auto Scaling group.
@@ -8371,6 +8478,8 @@ module Aws::AutoScaling
8371
8478
  #
8372
8479
  class TerminateInstanceInAutoScalingGroupType < Struct.new(
8373
8480
  :instance_id,
8481
+ :instance_ids,
8482
+ :auto_scaling_group_name,
8374
8483
  :should_decrement_desired_capacity)
8375
8484
  SENSITIVE = []
8376
8485
  include Aws::Structure
@@ -8548,6 +8657,11 @@ module Aws::AutoScaling
8548
8657
  # groups with multiple instance types and purchase options][1] in the
8549
8658
  # *Amazon EC2 Auto Scaling User Guide*.
8550
8659
  #
8660
+ # You can remove the Distribution Segments configuration by specifying
8661
+ # `OnDemandBaseCapacity` or `OnDemandPercentageAboveBaseCapacity`. You
8662
+ # can also remove it explicitly by specifying an empty list for
8663
+ # `DistributionSegments`.
8664
+ #
8551
8665
  #
8552
8666
  #
8553
8667
  # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html
@@ -65,7 +65,7 @@ module Aws::AutoScaling
65
65
  autoload :ScheduledAction, 'aws-sdk-autoscaling/scheduled_action'
66
66
  autoload :Tag, 'aws-sdk-autoscaling/tag'
67
67
 
68
- GEM_VERSION = '1.164.0'
68
+ GEM_VERSION = '1.166.0'
69
69
 
70
70
  end
71
71
 
@@ -486,7 +486,12 @@ module Aws
486
486
  on_demand_percentage_above_base_capacity: ::Integer?,
487
487
  spot_allocation_strategy: ::String?,
488
488
  spot_instance_pools: ::Integer?,
489
- spot_max_price: ::String?
489
+ spot_max_price: ::String?,
490
+ distribution_segments: Array[
491
+ {
492
+ target_capacity_types: Array[("on-demand-capacity-reservation" | "capacity-block" | "interruptible-capacity-reservation" | "on-demand")]?
493
+ }
494
+ ]?
490
495
  }?
491
496
  },
492
497
  ?min_size: ::Integer,
data/sig/client.rbs CHANGED
@@ -1046,10 +1046,13 @@ module Aws
1046
1046
  interface _TerminateInstanceInAutoScalingGroupResponseSuccess
1047
1047
  include ::Seahorse::Client::_ResponseSuccess[Types::ActivityType]
1048
1048
  def activity: () -> Types::Activity
1049
+ def activities: () -> ::Array[Types::Activity]
1049
1050
  end
1050
1051
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AutoScaling/Client.html#terminate_instance_in_auto_scaling_group-instance_method
1051
1052
  def terminate_instance_in_auto_scaling_group: (
1052
- instance_id: ::String,
1053
+ ?instance_id: ::String,
1054
+ ?instance_ids: Array[::String],
1055
+ ?auto_scaling_group_name: ::String,
1053
1056
  should_decrement_desired_capacity: bool
1054
1057
  ) -> _TerminateInstanceInAutoScalingGroupResponseSuccess
1055
1058
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _TerminateInstanceInAutoScalingGroupResponseSuccess
data/sig/errors.rbs CHANGED
@@ -17,6 +17,9 @@ module Aws
17
17
  class AlreadyExistsFault < ::Aws::Errors::ServiceError
18
18
  def message: () -> ::String
19
19
  end
20
+ class IdempotentCallInProgressFault < ::Aws::Errors::ServiceError
21
+ def message: () -> ::String
22
+ end
20
23
  class IdempotentParameterMismatchError < ::Aws::Errors::ServiceError
21
24
  def message: () -> ::String
22
25
  end
data/sig/instance.rbs CHANGED
@@ -96,6 +96,8 @@ module Aws
96
96
 
97
97
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AutoScaling/Instance.html#terminate-instance_method
98
98
  def terminate: (
99
+ ?instance_ids: Array[::String],
100
+ ?auto_scaling_group_name: ::String,
99
101
  should_decrement_desired_capacity: bool
100
102
  ) -> Activity
101
103
  | (?Hash[Symbol, untyped]) -> Activity
data/sig/params.rbs CHANGED
@@ -25,7 +25,12 @@ module Aws
25
25
  on_demand_percentage_above_base_capacity: ::Integer?,
26
26
  spot_allocation_strategy: ::String?,
27
27
  spot_instance_pools: ::Integer?,
28
- spot_max_price: ::String?
28
+ spot_max_price: ::String?,
29
+ distribution_segments: Array[
30
+ {
31
+ target_capacity_types: Array[("on-demand-capacity-reservation" | "capacity-block" | "interruptible-capacity-reservation" | "on-demand")]?
32
+ }
33
+ ]?
29
34
  }
30
35
 
31
36
  type mixed_instances_policy = {
data/sig/resource.rbs CHANGED
@@ -177,7 +177,12 @@ module Aws
177
177
  on_demand_percentage_above_base_capacity: ::Integer?,
178
178
  spot_allocation_strategy: ::String?,
179
179
  spot_instance_pools: ::Integer?,
180
- spot_max_price: ::String?
180
+ spot_max_price: ::String?,
181
+ distribution_segments: Array[
182
+ {
183
+ target_capacity_types: Array[("on-demand-capacity-reservation" | "capacity-block" | "interruptible-capacity-reservation" | "on-demand")]?
184
+ }
185
+ ]?
181
186
  }?
182
187
  },
183
188
  ?instance_id: ::String,
data/sig/types.rbs CHANGED
@@ -49,6 +49,7 @@ module Aws::AutoScaling
49
49
 
50
50
  class ActivityType
51
51
  attr_accessor activity: Types::Activity
52
+ attr_accessor activities: ::Array[Types::Activity]
52
53
  SENSITIVE: []
53
54
  end
54
55
 
@@ -634,6 +635,11 @@ module Aws::AutoScaling
634
635
  SENSITIVE: []
635
636
  end
636
637
 
638
+ class DistributionSegment
639
+ attr_accessor target_capacity_types: ::Array[("on-demand-capacity-reservation" | "capacity-block" | "interruptible-capacity-reservation" | "on-demand")]
640
+ SENSITIVE: []
641
+ end
642
+
637
643
  class Ebs
638
644
  attr_accessor snapshot_id: ::String
639
645
  attr_accessor volume_size: ::Integer
@@ -718,6 +724,11 @@ module Aws::AutoScaling
718
724
  SENSITIVE: []
719
725
  end
720
726
 
727
+ class IdempotentCallInProgressFault
728
+ attr_accessor message: ::String
729
+ SENSITIVE: []
730
+ end
731
+
721
732
  class IdempotentParameterMismatchError
722
733
  attr_accessor message: ::String
723
734
  SENSITIVE: []
@@ -852,6 +863,7 @@ module Aws::AutoScaling
852
863
  attr_accessor spot_allocation_strategy: ::String
853
864
  attr_accessor spot_instance_pools: ::Integer
854
865
  attr_accessor spot_max_price: ::String
866
+ attr_accessor distribution_segments: ::Array[Types::DistributionSegment]
855
867
  SENSITIVE: []
856
868
  end
857
869
 
@@ -1471,6 +1483,8 @@ module Aws::AutoScaling
1471
1483
 
1472
1484
  class TerminateInstanceInAutoScalingGroupType
1473
1485
  attr_accessor instance_id: ::String
1486
+ attr_accessor instance_ids: ::Array[::String]
1487
+ attr_accessor auto_scaling_group_name: ::String
1474
1488
  attr_accessor should_decrement_desired_capacity: bool
1475
1489
  SENSITIVE: []
1476
1490
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-autoscaling
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.164.0
4
+ version: 1.166.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services