@aws-sdk/client-auto-scaling 3.1117.0 → 3.1119.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.
package/dist-cjs/index.js CHANGED
@@ -69,7 +69,7 @@ const commonParams = {
69
69
  UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" },
70
70
  };
71
71
 
72
- var version = "3.1116.0";
72
+ var version = "3.1118.0";
73
73
  var packageInfo = {
74
74
  version: version};
75
75
 
@@ -458,6 +458,7 @@ const _DPTe = "DescribePoliciesType";
458
458
  const _DPe = "DeletePolicy";
459
459
  const _DPes = "DescribePolicies";
460
460
  const _DR = "DefaultResult";
461
+ const _DS = "DistributionSegment";
461
462
  const _DSA = "DeleteScheduledAction";
462
463
  const _DSAT = "DeleteScheduledActionType";
463
464
  const _DSATe = "DescribeScalingActivitiesType";
@@ -466,6 +467,7 @@ const _DSAe = "DescribeScalingActivities";
466
467
  const _DSAes = "DescribeScheduledActions";
467
468
  const _DSI = "DisableScaleIn";
468
469
  const _DSPT = "DescribeScalingProcessTypes";
470
+ const _DSi = "DistributionSegments";
469
471
  const _DT = "DeleteTags";
470
472
  const _DTPT = "DescribeTerminationPolicyTypes";
471
473
  const _DTPTA = "DescribeTerminationPolicyTypesAnswer";
@@ -823,6 +825,7 @@ const _Stat = "Stat";
823
825
  const _Str = "Strategy";
824
826
  const _T = "Tags";
825
827
  const _TARN = "TopicARN";
828
+ const _TCT = "TargetCapacityTypes";
826
829
  const _TD = "TagDescription";
827
830
  const _TDL = "TagDescriptionList";
828
831
  const _TGARN = "TargetGroupARNs";
@@ -1386,6 +1389,11 @@ var DisableMetricsCollectionQuery$ = [3, n0, _DMCQ,
1386
1389
  [_ASGN, _Me],
1387
1390
  [0, 64 | 0], 1
1388
1391
  ];
1392
+ var DistributionSegment$ = [3, n0, _DS,
1393
+ 0,
1394
+ [_TCT],
1395
+ [64 | 0]
1396
+ ];
1389
1397
  var Ebs$ = [3, n0, _E,
1390
1398
  0,
1391
1399
  [_SI, _VS, _VT, _DOT, _Io, _En, _Th],
@@ -1508,8 +1516,8 @@ var InstanceReusePolicy$ = [3, n0, _IRP,
1508
1516
  ];
1509
1517
  var InstancesDistribution$ = [3, n0, _ID,
1510
1518
  0,
1511
- [_ODAS, _ODBC, _ODPABC, _SAS, _SIP, _SMP],
1512
- [0, 1, 1, 0, 1, 0]
1519
+ [_ODAS, _ODBC, _ODPABC, _SAS, _SIP, _SMP, _DSi],
1520
+ [0, 1, 1, 0, 1, 0, () => DistributionSegments]
1513
1521
  ];
1514
1522
  var LaunchConfiguration$ = [3, n0, _LC,
1515
1523
  0,
@@ -1941,6 +1949,9 @@ var AutoScalingInstances = [1, n0, _ASI,
1941
1949
  var BlockDeviceMappings = [1, n0, _BDMl,
1942
1950
  0, () => BlockDeviceMapping$
1943
1951
  ];
1952
+ var DistributionSegments = [1, n0, _DSi,
1953
+ 0, () => DistributionSegment$
1954
+ ];
1944
1955
  var EnabledMetrics = [1, n0, _EM,
1945
1956
  0, () => EnabledMetric$
1946
1957
  ];
@@ -2907,6 +2918,12 @@ const RetentionAction = {
2907
2918
  Retain: "retain",
2908
2919
  Terminate: "terminate",
2909
2920
  };
2921
+ const TargetCapacityType = {
2922
+ CAPACITY_BLOCK: "capacity-block",
2923
+ INTERRUPTIBLE_CAPACITY_RESERVATION: "interruptible-capacity-reservation",
2924
+ ON_DEMAND: "on-demand",
2925
+ ON_DEMAND_CAPACITY_RESERVATION: "on-demand-capacity-reservation",
2926
+ };
2910
2927
  const BareMetal = {
2911
2928
  EXCLUDED: "excluded",
2912
2929
  INCLUDED: "included",
@@ -3246,6 +3263,7 @@ exports.DetachTrafficSourcesType$ = DetachTrafficSourcesType$;
3246
3263
  exports.DisableMetricsCollection$ = DisableMetricsCollection$;
3247
3264
  exports.DisableMetricsCollectionCommand = DisableMetricsCollectionCommand;
3248
3265
  exports.DisableMetricsCollectionQuery$ = DisableMetricsCollectionQuery$;
3266
+ exports.DistributionSegment$ = DistributionSegment$;
3249
3267
  exports.Ebs$ = Ebs$;
3250
3268
  exports.EnableMetricsCollection$ = EnableMetricsCollection$;
3251
3269
  exports.EnableMetricsCollectionCommand = EnableMetricsCollectionCommand;
@@ -3422,6 +3440,7 @@ exports.SuspendedProcess$ = SuspendedProcess$;
3422
3440
  exports.Tag$ = Tag$;
3423
3441
  exports.TagDescription$ = TagDescription$;
3424
3442
  exports.TagsType$ = TagsType$;
3443
+ exports.TargetCapacityType = TargetCapacityType;
3425
3444
  exports.TargetTrackingConfiguration$ = TargetTrackingConfiguration$;
3426
3445
  exports.TargetTrackingMetricDataQuery$ = TargetTrackingMetricDataQuery$;
3427
3446
  exports.TargetTrackingMetricStat$ = TargetTrackingMetricStat$;
@@ -60,6 +60,12 @@ export const RetentionAction = {
60
60
  Retain: "retain",
61
61
  Terminate: "terminate",
62
62
  };
63
+ export const TargetCapacityType = {
64
+ CAPACITY_BLOCK: "capacity-block",
65
+ INTERRUPTIBLE_CAPACITY_RESERVATION: "interruptible-capacity-reservation",
66
+ ON_DEMAND: "on-demand",
67
+ ON_DEMAND_CAPACITY_RESERVATION: "on-demand-capacity-reservation",
68
+ };
63
69
  export const BareMetal = {
64
70
  EXCLUDED: "excluded",
65
71
  INCLUDED: "included",
@@ -166,6 +166,7 @@ const _DPTe = "DescribePoliciesType";
166
166
  const _DPe = "DeletePolicy";
167
167
  const _DPes = "DescribePolicies";
168
168
  const _DR = "DefaultResult";
169
+ const _DS = "DistributionSegment";
169
170
  const _DSA = "DeleteScheduledAction";
170
171
  const _DSAT = "DeleteScheduledActionType";
171
172
  const _DSATe = "DescribeScalingActivitiesType";
@@ -174,6 +175,7 @@ const _DSAe = "DescribeScalingActivities";
174
175
  const _DSAes = "DescribeScheduledActions";
175
176
  const _DSI = "DisableScaleIn";
176
177
  const _DSPT = "DescribeScalingProcessTypes";
178
+ const _DSi = "DistributionSegments";
177
179
  const _DT = "DeleteTags";
178
180
  const _DTPT = "DescribeTerminationPolicyTypes";
179
181
  const _DTPTA = "DescribeTerminationPolicyTypesAnswer";
@@ -531,6 +533,7 @@ const _Stat = "Stat";
531
533
  const _Str = "Strategy";
532
534
  const _T = "Tags";
533
535
  const _TARN = "TopicARN";
536
+ const _TCT = "TargetCapacityTypes";
534
537
  const _TD = "TagDescription";
535
538
  const _TDL = "TagDescriptionList";
536
539
  const _TGARN = "TargetGroupARNs";
@@ -1097,6 +1100,11 @@ export var DisableMetricsCollectionQuery$ = [3, n0, _DMCQ,
1097
1100
  [_ASGN, _Me],
1098
1101
  [0, 64 | 0], 1
1099
1102
  ];
1103
+ export var DistributionSegment$ = [3, n0, _DS,
1104
+ 0,
1105
+ [_TCT],
1106
+ [64 | 0]
1107
+ ];
1100
1108
  export var Ebs$ = [3, n0, _E,
1101
1109
  0,
1102
1110
  [_SI, _VS, _VT, _DOT, _Io, _En, _Th],
@@ -1219,8 +1227,8 @@ export var InstanceReusePolicy$ = [3, n0, _IRP,
1219
1227
  ];
1220
1228
  export var InstancesDistribution$ = [3, n0, _ID,
1221
1229
  0,
1222
- [_ODAS, _ODBC, _ODPABC, _SAS, _SIP, _SMP],
1223
- [0, 1, 1, 0, 1, 0]
1230
+ [_ODAS, _ODBC, _ODPABC, _SAS, _SIP, _SMP, _DSi],
1231
+ [0, 1, 1, 0, 1, 0, () => DistributionSegments]
1224
1232
  ];
1225
1233
  export var LaunchConfiguration$ = [3, n0, _LC,
1226
1234
  0,
@@ -1669,6 +1677,9 @@ var CapacityReservationResourceGroupArns = 64 | 0;
1669
1677
  var CheckpointPercentages = 64 | 1;
1670
1678
  var ClassicLinkVPCSecurityGroups = 64 | 0;
1671
1679
  var CpuManufacturers = 64 | 0;
1680
+ var DistributionSegments = [1, n0, _DSi,
1681
+ 0, () => DistributionSegment$
1682
+ ];
1672
1683
  var EnabledMetrics = [1, n0, _EM,
1673
1684
  0, () => EnabledMetric$
1674
1685
  ];
@@ -1776,6 +1787,7 @@ var TagDescriptionList = [1, n0, _TDL,
1776
1787
  var Tags = [1, n0, _T,
1777
1788
  0, () => Tag$
1778
1789
  ];
1790
+ var TargetCapacityTypes = 64 | 0;
1779
1791
  var TargetGroupARNs = 64 | 0;
1780
1792
  var TargetTrackingMetricDataQueries = [1, n0, _TTMDQa,
1781
1793
  0, () => TargetTrackingMetricDataQuery$
@@ -156,6 +156,13 @@ declare const CreateAutoScalingGroupCommand_base: {
156
156
  * SpotAllocationStrategy: "STRING_VALUE",
157
157
  * SpotInstancePools: Number("int"),
158
158
  * SpotMaxPrice: "STRING_VALUE",
159
+ * DistributionSegments: [ // DistributionSegments
160
+ * { // DistributionSegment
161
+ * TargetCapacityTypes: [ // TargetCapacityTypes
162
+ * "on-demand-capacity-reservation" || "capacity-block" || "interruptible-capacity-reservation" || "on-demand",
163
+ * ],
164
+ * },
165
+ * ],
159
166
  * },
160
167
  * },
161
168
  * InstanceId: "STRING_VALUE",
@@ -396,6 +403,59 @@ declare const CreateAutoScalingGroupCommand_base: {
396
403
  * *\/
397
404
  * ```
398
405
  *
406
+ * @example To create an Auto Scaling group using Distribution Segments
407
+ * ```javascript
408
+ * // This example creates an Auto Scaling group that uses Distribution Segments to prioritize On-Demand Capacity Reservations, Capacity Blocks, interruptible Capacity Reservations, and then On-Demand capacity.
409
+ * const input = {
410
+ * AutoScalingGroupName: "my-asg",
411
+ * CapacityReservationSpecification: {
412
+ * CapacityReservationTarget: {
413
+ * CapacityReservationResourceGroupArns: [
414
+ * "arn:aws:resource-groups:us-east-1:123456789012:group/my-capacity-reservation-group"
415
+ * ]
416
+ * }
417
+ * },
418
+ * DesiredCapacity: 5,
419
+ * MaxSize: 10,
420
+ * MinSize: 0,
421
+ * MixedInstancesPolicy: {
422
+ * InstancesDistribution: {
423
+ * DistributionSegments: [
424
+ * {
425
+ * TargetCapacityTypes: [
426
+ * "on-demand-capacity-reservation",
427
+ * "capacity-block",
428
+ * "interruptible-capacity-reservation",
429
+ * "on-demand"
430
+ * ]
431
+ * }
432
+ * ],
433
+ * OnDemandAllocationStrategy: "prioritized"
434
+ * },
435
+ * LaunchTemplate: {
436
+ * LaunchTemplateSpecification: {
437
+ * LaunchTemplateName: "my-template-for-auto-scaling",
438
+ * Version: "$Default"
439
+ * },
440
+ * Overrides: [
441
+ * {
442
+ * InstanceType: "m5.24xlarge"
443
+ * },
444
+ * {
445
+ * InstanceType: "p5.48xlarge"
446
+ * }
447
+ * ]
448
+ * }
449
+ * },
450
+ * VPCZoneIdentifier: "subnet-057fa0918fEXAMPLE"
451
+ * };
452
+ * const command = new CreateAutoScalingGroupCommand(input);
453
+ * const response = await client.send(command);
454
+ * /* response is
455
+ * { /* metadata only *\/ }
456
+ * *\/
457
+ * ```
458
+ *
399
459
  * @example To create an Auto Scaling group
400
460
  * ```javascript
401
461
  * // This example creates an Auto Scaling group.
@@ -170,6 +170,13 @@ declare const DescribeAutoScalingGroupsCommand_base: {
170
170
  * // SpotAllocationStrategy: "STRING_VALUE",
171
171
  * // SpotInstancePools: Number("int"),
172
172
  * // SpotMaxPrice: "STRING_VALUE",
173
+ * // DistributionSegments: [ // DistributionSegments
174
+ * // { // DistributionSegment
175
+ * // TargetCapacityTypes: [ // TargetCapacityTypes
176
+ * // "on-demand-capacity-reservation" || "capacity-block" || "interruptible-capacity-reservation" || "on-demand",
177
+ * // ],
178
+ * // },
179
+ * // ],
173
180
  * // },
174
181
  * // },
175
182
  * // MinSize: Number("int"), // required
@@ -200,6 +200,13 @@ declare const DescribeInstanceRefreshesCommand_base: {
200
200
  * // SpotAllocationStrategy: "STRING_VALUE",
201
201
  * // SpotInstancePools: Number("int"),
202
202
  * // SpotMaxPrice: "STRING_VALUE",
203
+ * // DistributionSegments: [ // DistributionSegments
204
+ * // { // DistributionSegment
205
+ * // TargetCapacityTypes: [ // TargetCapacityTypes
206
+ * // "on-demand-capacity-reservation" || "capacity-block" || "interruptible-capacity-reservation" || "on-demand",
207
+ * // ],
208
+ * // },
209
+ * // ],
203
210
  * // },
204
211
  * // },
205
212
  * // },
@@ -165,6 +165,13 @@ declare const StartInstanceRefreshCommand_base: {
165
165
  * SpotAllocationStrategy: "STRING_VALUE",
166
166
  * SpotInstancePools: Number("int"),
167
167
  * SpotMaxPrice: "STRING_VALUE",
168
+ * DistributionSegments: [ // DistributionSegments
169
+ * { // DistributionSegment
170
+ * TargetCapacityTypes: [ // TargetCapacityTypes
171
+ * "on-demand-capacity-reservation" || "capacity-block" || "interruptible-capacity-reservation" || "on-demand",
172
+ * ],
173
+ * },
174
+ * ],
168
175
  * },
169
176
  * },
170
177
  * },
@@ -185,6 +185,13 @@ declare const UpdateAutoScalingGroupCommand_base: {
185
185
  * SpotAllocationStrategy: "STRING_VALUE",
186
186
  * SpotInstancePools: Number("int"),
187
187
  * SpotMaxPrice: "STRING_VALUE",
188
+ * DistributionSegments: [ // DistributionSegments
189
+ * { // DistributionSegment
190
+ * TargetCapacityTypes: [ // TargetCapacityTypes
191
+ * "on-demand-capacity-reservation" || "capacity-block" || "interruptible-capacity-reservation" || "on-demand",
192
+ * ],
193
+ * },
194
+ * ],
188
195
  * },
189
196
  * },
190
197
  * MinSize: Number("int"),
@@ -132,6 +132,20 @@ export declare const RetentionAction: {
132
132
  * @public
133
133
  */
134
134
  export type RetentionAction = (typeof RetentionAction)[keyof typeof RetentionAction];
135
+ /**
136
+ * @public
137
+ * @enum
138
+ */
139
+ export declare const TargetCapacityType: {
140
+ readonly CAPACITY_BLOCK: "capacity-block";
141
+ readonly INTERRUPTIBLE_CAPACITY_RESERVATION: "interruptible-capacity-reservation";
142
+ readonly ON_DEMAND: "on-demand";
143
+ readonly ON_DEMAND_CAPACITY_RESERVATION: "on-demand-capacity-reservation";
144
+ };
145
+ /**
146
+ * @public
147
+ */
148
+ export type TargetCapacityType = (typeof TargetCapacityType)[keyof typeof TargetCapacityType];
135
149
  /**
136
150
  * @public
137
151
  * @enum
@@ -1,4 +1,4 @@
1
- import type { AcceleratorManufacturer, AcceleratorName, AcceleratorType, BareMetal, BurstablePerformance, CapacityDistributionStrategy, CapacityReservationPreference, CpuManufacturer, DeletionProtection, ImpairedZoneHealthCheckBehavior, InstanceGeneration, InstanceMetadataEndpointState, InstanceMetadataHttpTokensState, InstanceRefreshStatus, LifecycleState, LocalStorage, LocalStorageType, MetricStatistic, MetricType, PredefinedLoadMetricType, PredefinedMetricPairType, PredefinedScalingMetricType, PredictiveScalingMaxCapacityBreachBehavior, PredictiveScalingMode, RefreshStrategy, RetentionAction, RetryStrategy, ScaleInProtectedInstances, ScalingActivityStatusCode, StandbyInstances, WarmPoolState, WarmPoolStatus } from "./enums";
1
+ import type { AcceleratorManufacturer, AcceleratorName, AcceleratorType, BareMetal, BurstablePerformance, CapacityDistributionStrategy, CapacityReservationPreference, CpuManufacturer, DeletionProtection, ImpairedZoneHealthCheckBehavior, InstanceGeneration, InstanceMetadataEndpointState, InstanceMetadataHttpTokensState, InstanceRefreshStatus, LifecycleState, LocalStorage, LocalStorageType, MetricStatistic, MetricType, PredefinedLoadMetricType, PredefinedMetricPairType, PredefinedScalingMetricType, PredictiveScalingMaxCapacityBreachBehavior, PredictiveScalingMode, RefreshStrategy, RetentionAction, RetryStrategy, ScaleInProtectedInstances, ScalingActivityStatusCode, StandbyInstances, TargetCapacityType, WarmPoolState, WarmPoolStatus } from "./enums";
2
2
  /**
3
3
  * <p>Specifies the minimum and maximum for the <code>AcceleratorCount</code> object when
4
4
  * you specify <a href="https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_InstanceRequirements.html">InstanceRequirements</a> for an Auto Scaling group.</p>
@@ -813,9 +813,43 @@ export interface LifecycleHookSpecification {
813
813
  RoleARN?: string | undefined;
814
814
  }
815
815
  /**
816
- * <p>Use this structure to specify the distribution of On-Demand Instances and Spot
817
- * Instances and the allocation strategies used to fulfill On-Demand and Spot capacities
818
- * for a mixed instances policy.</p>
816
+ * <p>Use this structure to specify the capacity types that Amazon EC2 Auto Scaling prioritizes when it
817
+ * launches instances.</p>
818
+ * @public
819
+ */
820
+ export interface DistributionSegment {
821
+ /**
822
+ * <p>The capacity types to prioritize, in order. Amazon EC2 Auto Scaling attempts to launch instances in
823
+ * the priority order of the capacity types, and within each capacity type, in the order of
824
+ * instance types listed in your launch template <code>Overrides</code>.</p>
825
+ * <p>The following lists the valid values:</p>
826
+ * <dl>
827
+ * <dt>on-demand-capacity-reservation</dt>
828
+ * <dd>
829
+ * <p>On-Demand Capacity Reservations.</p>
830
+ * </dd>
831
+ * <dt>capacity-block</dt>
832
+ * <dd>
833
+ * <p>Capacity Blocks.</p>
834
+ * </dd>
835
+ * <dt>interruptible-capacity-reservation</dt>
836
+ * <dd>
837
+ * <p>Interruptible Capacity Reservations.</p>
838
+ * </dd>
839
+ * <dt>on-demand</dt>
840
+ * <dd>
841
+ * <p>On-Demand capacity. Include this value to allow the group to fall back to
842
+ * On-Demand capacity when the preceding capacity types are unavailable.</p>
843
+ * </dd>
844
+ * </dl>
845
+ * @public
846
+ */
847
+ TargetCapacityTypes?: TargetCapacityType[] | undefined;
848
+ }
849
+ /**
850
+ * <p>Use this structure to specify how a mixed instances policy distributes capacity across
851
+ * On-Demand, Spot, and supported Capacity Reservation types, and to specify the allocation
852
+ * strategies that are used to fulfill the capacity.</p>
819
853
  * @public
820
854
  */
821
855
  export interface InstancesDistribution {
@@ -935,6 +969,15 @@ export interface InstancesDistribution {
935
969
  * @public
936
970
  */
937
971
  SpotMaxPrice?: string | undefined;
972
+ /**
973
+ * <p>The Distribution Segments configuration. Each segment contains an ordered list of
974
+ * capacity types to prioritize.</p>
975
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/use-distribution-segments.html">Use Distribution
976
+ * Segments to target multiple capacity types</a> in the
977
+ * <i>Amazon EC2 Auto Scaling User Guide</i>.</p>
978
+ * @public
979
+ */
980
+ DistributionSegments?: DistributionSegment[] | undefined;
938
981
  }
939
982
  /**
940
983
  * <p>Specifies the minimum and maximum for the <code>BaselineEbsBandwidthMbps</code> object
@@ -1667,18 +1710,23 @@ export interface LaunchTemplate {
1667
1710
  Overrides?: LaunchTemplateOverrides[] | undefined;
1668
1711
  }
1669
1712
  /**
1670
- * <p>Use this structure to launch multiple instance types and On-Demand Instances and Spot
1671
- * Instances within a single Auto Scaling group.</p>
1713
+ * <p>Use this structure to launch multiple instance types and configure how capacity is
1714
+ * distributed across On-Demand, Spot, and supported Capacity Reservation types within a
1715
+ * single Auto Scaling group.</p>
1672
1716
  * <p>A mixed instances policy contains information that Amazon EC2 Auto Scaling can use to launch
1673
- * instances and help optimize your costs. For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html">Auto Scaling
1717
+ * instances, prioritize capacity types, and help optimize your costs. For more
1718
+ * information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html">Auto Scaling
1674
1719
  * groups with multiple instance types and purchase options</a> in the
1720
+ * <i>Amazon EC2 Auto Scaling User Guide</i>. To learn how to prioritize multiple capacity
1721
+ * types, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/use-distribution-segments.html">Use Distribution
1722
+ * Segments to target multiple capacity types</a> in the
1675
1723
  * <i>Amazon EC2 Auto Scaling User Guide</i>.</p>
1676
1724
  * @public
1677
1725
  */
1678
1726
  export interface MixedInstancesPolicy {
1679
1727
  /**
1680
1728
  * <p>One or more launch templates and the instance types (overrides) that are used to
1681
- * launch EC2 instances to fulfill On-Demand and Spot capacities.</p>
1729
+ * launch EC2 instances to fulfill the configured capacities.</p>
1682
1730
  * @public
1683
1731
  */
1684
1732
  LaunchTemplate?: LaunchTemplate | undefined;
@@ -1774,6 +1822,9 @@ export interface CreateAutoScalingGroupType {
1774
1822
  /**
1775
1823
  * <p>The mixed instances policy. For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html">Auto Scaling
1776
1824
  * groups with multiple instance types and purchase options</a> in the
1825
+ * <i>Amazon EC2 Auto Scaling User Guide</i>. To learn how to prioritize multiple capacity
1826
+ * types, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/use-distribution-segments.html">Use Distribution
1827
+ * Segments to target multiple capacity types</a> in the
1777
1828
  * <i>Amazon EC2 Auto Scaling User Guide</i>.</p>
1778
1829
  * @public
1779
1830
  */
@@ -3557,10 +3608,12 @@ export interface DesiredConfiguration {
3557
3608
  */
3558
3609
  LaunchTemplate?: LaunchTemplateSpecification | undefined;
3559
3610
  /**
3560
- * <p>Use this structure to launch multiple instance types and On-Demand Instances and Spot
3561
- * Instances within a single Auto Scaling group.</p>
3611
+ * <p>Use this structure to launch multiple instance types and configure how capacity is
3612
+ * distributed across On-Demand, Spot, and supported Capacity Reservation types within a
3613
+ * single Auto Scaling group.</p>
3562
3614
  * <p>A mixed instances policy contains information that Amazon EC2 Auto Scaling can use to launch
3563
- * instances and help optimize your costs. For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html">Auto Scaling
3615
+ * instances, prioritize capacity types, and help optimize your costs. For more
3616
+ * information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html">Auto Scaling
3564
3617
  * groups with multiple instance types and purchase options</a> in the
3565
3618
  * <i>Amazon EC2 Auto Scaling User Guide</i>.</p>
3566
3619
  * @public
@@ -7673,6 +7726,10 @@ export interface UpdateAutoScalingGroupType {
7673
7726
  * <p>The mixed instances policy. For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-mixed-instances-groups.html">Auto Scaling
7674
7727
  * groups with multiple instance types and purchase options</a> in the
7675
7728
  * <i>Amazon EC2 Auto Scaling User Guide</i>.</p>
7729
+ * <p>You can remove the Distribution Segments configuration by specifying
7730
+ * <code>OnDemandBaseCapacity</code> or
7731
+ * <code>OnDemandPercentageAboveBaseCapacity</code>. You can also remove it explicitly
7732
+ * by specifying an empty list for <code>DistributionSegments</code>.</p>
7676
7733
  * @public
7677
7734
  */
7678
7735
  MixedInstancesPolicy?: MixedInstancesPolicy | undefined;
@@ -104,6 +104,7 @@ export declare var DetachLoadBalancerTargetGroupsType$: StaticStructureSchema;
104
104
  export declare var DetachTrafficSourcesResultType$: StaticStructureSchema;
105
105
  export declare var DetachTrafficSourcesType$: StaticStructureSchema;
106
106
  export declare var DisableMetricsCollectionQuery$: StaticStructureSchema;
107
+ export declare var DistributionSegment$: StaticStructureSchema;
107
108
  export declare var Ebs$: StaticStructureSchema;
108
109
  export declare var EnabledMetric$: StaticStructureSchema;
109
110
  export declare var EnableMetricsCollectionQuery$: StaticStructureSchema;
@@ -74,6 +74,13 @@ export declare const RetentionAction: {
74
74
  readonly Terminate: "terminate";
75
75
  };
76
76
  export type RetentionAction = (typeof RetentionAction)[keyof typeof RetentionAction];
77
+ export declare const TargetCapacityType: {
78
+ readonly CAPACITY_BLOCK: "capacity-block";
79
+ readonly INTERRUPTIBLE_CAPACITY_RESERVATION: "interruptible-capacity-reservation";
80
+ readonly ON_DEMAND: "on-demand";
81
+ readonly ON_DEMAND_CAPACITY_RESERVATION: "on-demand-capacity-reservation";
82
+ };
83
+ export type TargetCapacityType = (typeof TargetCapacityType)[keyof typeof TargetCapacityType];
77
84
  export declare const BareMetal: {
78
85
  readonly EXCLUDED: "excluded";
79
86
  readonly INCLUDED: "included";
@@ -29,6 +29,7 @@ import {
29
29
  ScaleInProtectedInstances,
30
30
  ScalingActivityStatusCode,
31
31
  StandbyInstances,
32
+ TargetCapacityType,
32
33
  WarmPoolState,
33
34
  WarmPoolStatus,
34
35
  } from "./enums";
@@ -179,6 +180,9 @@ export interface LifecycleHookSpecification {
179
180
  NotificationTargetARN?: string | undefined;
180
181
  RoleARN?: string | undefined;
181
182
  }
183
+ export interface DistributionSegment {
184
+ TargetCapacityTypes?: TargetCapacityType[] | undefined;
185
+ }
182
186
  export interface InstancesDistribution {
183
187
  OnDemandAllocationStrategy?: string | undefined;
184
188
  OnDemandBaseCapacity?: number | undefined;
@@ -186,6 +190,7 @@ export interface InstancesDistribution {
186
190
  SpotAllocationStrategy?: string | undefined;
187
191
  SpotInstancePools?: number | undefined;
188
192
  SpotMaxPrice?: string | undefined;
193
+ DistributionSegments?: DistributionSegment[] | undefined;
189
194
  }
190
195
  export interface BaselineEbsBandwidthMbpsRequest {
191
196
  Min?: number | undefined;
@@ -99,6 +99,7 @@ export declare var DetachLoadBalancerTargetGroupsType$: StaticStructureSchema;
99
99
  export declare var DetachTrafficSourcesResultType$: StaticStructureSchema;
100
100
  export declare var DetachTrafficSourcesType$: StaticStructureSchema;
101
101
  export declare var DisableMetricsCollectionQuery$: StaticStructureSchema;
102
+ export declare var DistributionSegment$: StaticStructureSchema;
102
103
  export declare var Ebs$: StaticStructureSchema;
103
104
  export declare var EnabledMetric$: StaticStructureSchema;
104
105
  export declare var EnableMetricsCollectionQuery$: StaticStructureSchema;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-auto-scaling",
3
- "version": "3.1117.0",
3
+ "version": "3.1119.0",
4
4
  "description": "AWS SDK for JavaScript Auto Scaling Client for Node.js, Browser and React Native",
5
5
  "homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-auto-scaling",
6
6
  "license": "Apache-2.0",