Skip to content

Commit

Permalink
docs(client-ec2): With this release, Amazon EC2 Auto Scaling groups, …
Browse files Browse the repository at this point in the history
…EC2 Fleet, and Spot Fleet improve the default price protection behavior of attribute-based instance type selection of Spot Instances, to consistently select from a wide range of instance types.
  • Loading branch information
awstools committed Mar 1, 2024
1 parent a1a1f67 commit c3de9d4
Show file tree
Hide file tree
Showing 15 changed files with 118 additions and 48 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ export interface DescribeCapacityBlockOfferingsCommandOutput

/**
* @public
* <p>Describes Capacity Block offerings available for purchase. With Capacity Blocks, you purchase a specific instance type for a period of time.</p>
* <p>Describes Capacity Block offerings available for purchase in the Amazon Web Services Region that you're currently using. With Capacity Blocks, you purchase a specific instance type for a period of time.</p>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,13 @@ export interface DescribeFleetInstancesCommandOutput extends DescribeFleetInstan
/**
* @public
* <p>Describes the running instances for the specified EC2 Fleet.</p>
* <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#monitor-ec2-fleet">Monitor your EC2 Fleet</a> in the <i>Amazon EC2 User Guide</i>.</p>
* <note>
* <p>Currently, <code>DescribeFleetInstances</code> does not support fleets of type
* <code>instant</code>. Instead, use <code>DescribeFleets</code>, specifying the
* <code>instant</code> fleet ID in the request.</p>
* </note>
* <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#monitor-ec2-fleet">Describe your
* EC2 Fleet</a> in the <i>Amazon EC2 User Guide</i>.</p>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
Expand Down
9 changes: 7 additions & 2 deletions clients/client-ec2/src/commands/DescribeFleetsCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,13 @@ export interface DescribeFleetsCommandOutput extends DescribeFleetsResult, __Met

/**
* @public
* <p>Describes the specified EC2 Fleets or all of your EC2 Fleets.</p>
* <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#monitor-ec2-fleet">Monitor your EC2 Fleet</a> in the <i>Amazon EC2 User Guide</i>.</p>
* <p>Describes the specified EC2 Fleet or all of your EC2 Fleets.</p>
* <important>
* <p>If a fleet is of type <code>instant</code>, you must specify the fleet ID in the
* request, otherwise the fleet does not appear in the response.</p>
* </important>
* <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#monitor-ec2-fleet">Describe your
* EC2 Fleet</a> in the <i>Amazon EC2 User Guide</i>.</p>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,11 @@ export interface DescribeInstanceStatusCommandOutput extends DescribeInstanceSta
* lifecycle</a> in the <i>Amazon EC2 User Guide</i>.</p>
* </li>
* </ul>
* <note>
* <p>The order of the elements in the response, including those within nested
* structures, might vary. Applications should not assume the elements appear in a
* particular order.</p>
* </note>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
Expand Down
5 changes: 5 additions & 0 deletions clients/client-ec2/src/commands/DescribeInstancesCommand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,11 @@ export interface DescribeInstancesCommandOutput extends DescribeInstancesResult,
* not specify any instance IDs at all, the call fails. If you describe instances and
* specify only instance IDs that are in an unaffected zone, the call works
* normally.</p>
* <note>
* <p>The order of the elements in the response, including those within nested
* structures, might vary. Applications should not assume the elements appear in a
* particular order.</p>
* </note>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,11 @@ export interface DescribeReservedInstancesCommandOutput extends DescribeReserved
* <p>Describes one or more of the Reserved Instances that you purchased.</p>
* <p>For more information about Reserved Instances, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html">Reserved
* Instances</a> in the <i>Amazon EC2 User Guide</i>.</p>
* <note>
* <p>The order of the elements in the response, including those within nested
* structures, might vary. Applications should not assume the elements appear in a
* particular order.</p>
* </note>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@ export interface DescribeReservedInstancesListingsCommandOutput
* <p>As a buyer, you specify the configuration of the Reserved Instance to purchase, and the Marketplace matches what you're searching for with what's available. The Marketplace first sells the lowest priced Reserved Instances to you, and continues to sell available Reserved Instance listings to you until your demand is met. You are charged based on the total price of all of the listings that you purchase.</p>
* <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html">Reserved Instance Marketplace</a>
* in the <i>Amazon EC2 User Guide</i>.</p>
* <note>
* <p>The order of the elements in the response, including those within nested
* structures, might vary. Applications should not assume the elements appear in a
* particular order.</p>
* </note>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@ export interface DescribeReservedInstancesModificationsCommandOutput
* @public
* <p>Describes the modifications made to your Reserved Instances. If no parameter is specified, information about all your Reserved Instances modification requests is returned. If a modification ID is specified, only information about the specific modification is returned.</p>
* <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html">Modifying Reserved Instances</a> in the <i>Amazon EC2 User Guide</i>.</p>
* <note>
* <p>The order of the elements in the response, including those within nested
* structures, might vary. Applications should not assume the elements appear in a
* particular order.</p>
* </note>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,11 @@ export interface DescribeReservedInstancesOfferingsCommandOutput
* <p>If you have listed your own Reserved Instances for sale in the Reserved Instance Marketplace, they will be excluded from these results. This is to ensure that you do not purchase your own Reserved Instances.</p>
* <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html">Reserved Instance Marketplace</a>
* in the <i>Amazon EC2 User Guide</i>.</p>
* <note>
* <p>The order of the elements in the response, including those within nested
* structures, might vary. Applications should not assume the elements appear in a
* particular order.</p>
* </note>
* @example
* Use a bare-bones client and the command you need to make an API call.
* ```javascript
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ export interface ModifyInstancePlacementCommandOutput extends ModifyInstancePlac
* <p>Modify the affinity between an instance and a <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html">Dedicated
* Host</a>. When affinity is set to <code>host</code> and the instance is
* not associated with a specific Dedicated Host, the next time the instance is
* launched, it is automatically associated with the host on which it lands. If the
* started, it is automatically associated with the host on which it lands. If the
* instance is restarted or rebooted, this relationship persists.</p>
* </li>
* <li>
Expand Down
55 changes: 38 additions & 17 deletions clients/client-ec2/src/models/models_1.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1906,16 +1906,18 @@ export interface InstanceRequirementsRequest {
* selects instance types with your attributes, it will exclude instance types whose Spot
* price exceeds your specified threshold.</p>
* <p>The parameter accepts an integer, which Amazon EC2 interprets as a percentage.</p>
* <p>To indicate no price protection threshold, specify a high value, such as <code>999999</code>.</p>
* <p>If you set <code>TargetCapacityUnitType</code> to <code>vcpu</code> or
* <code>memory-mib</code>, the price protection threshold is applied based on the
* per-vCPU or per-memory price instead of the per-instance price.</p>
* <p>This parameter is not supported for <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html">GetSpotPlacementScores</a> and <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html">GetInstanceTypesFromInstanceRequirements</a>.</p>
* <note>
* <p>Only one of <code>SpotMaxPricePercentageOverLowestPrice</code> or
* <code>MaxSpotPriceAsPercentageOfOptimalOnDemandPrice</code> can be specified. If you
* don't specify either, then <code>SpotMaxPricePercentageOverLowestPrice</code> is used
* and the value for that parameter defaults to <code>100</code>.</p>
* <code>MaxSpotPriceAsPercentageOfOptimalOnDemandPrice</code> can be specified. If you
* don't specify either, Amazon EC2 will automatically apply optimal price protection to
* consistently select from a wide range of instance types. To indicate no price protection
* threshold for Spot Instances, meaning you want to consider all instance types that match your
* attributes, include one of these parameters and specify a high value, such as
* <code>999999</code>.</p>
* </note>
* <p>Default: <code>100</code>
* </p>
Expand Down Expand Up @@ -2196,16 +2198,17 @@ export interface InstanceRequirementsRequest {
* selects instance types with your attributes, it will exclude instance types whose price
* exceeds your specified threshold.</p>
* <p>The parameter accepts an integer, which Amazon EC2 interprets as a percentage.</p>
* <p>To indicate no price protection threshold, specify a high value, such as
* <code>999999</code>.</p>
* <p>If you set <code>DesiredCapacityType</code> to <code>vcpu</code> or
* <code>memory-mib</code>, the price protection threshold is based on the per vCPU or per
* memory price instead of the per instance price.</p>
* <note>
* <p>Only one of <code>SpotMaxPricePercentageOverLowestPrice</code> or
* <code>MaxSpotPriceAsPercentageOfOptimalOnDemandPrice</code> can be specified. If you
* don't specify either, then <code>SpotMaxPricePercentageOverLowestPrice</code> is used
* and the value for that parameter defaults to <code>100</code>.</p>
* don't specify either, Amazon EC2 will automatically apply optimal price protection to
* consistently select from a wide range of instance types. To indicate no price protection
* threshold for Spot Instances, meaning you want to consider all instance types that match your
* attributes, include one of these parameters and specify a high value, such as
* <code>999999</code>.</p>
* </note>
*/
MaxSpotPriceAsPercentageOfOptimalOnDemandPrice?: number;
Expand Down Expand Up @@ -2329,6 +2332,14 @@ export interface FleetLaunchTemplateOverridesRequest {
/**
* @public
* <p>The number of units provided by the specified instance type.</p>
* <note>
* <p>When specifying weights, the price used in the <code>lowest-price</code> and
* <code>price-capacity-optimized</code> allocation strategies is per
* <i>unit</i> hour (where the instance price is divided by the specified
* weight). However, if all the specified weights are above the requested
* <code>TargetCapacity</code>, resulting in only 1 instance being launched, the price
* used is per <i>instance</i> hour.</p>
* </note>
*/
WeightedCapacity?: number;

Expand Down Expand Up @@ -3282,17 +3293,18 @@ export interface InstanceRequirements {
* selects instance types with your attributes, it will exclude instance types whose Spot
* price exceeds your specified threshold.</p>
* <p>The parameter accepts an integer, which Amazon EC2 interprets as a percentage.</p>
* <p>To indicate no price protection threshold, specify a high value, such as
* <code>999999</code>.</p>
* <p>If you set <code>TargetCapacityUnitType</code> to <code>vcpu</code> or
* <code>memory-mib</code>, the price protection threshold is applied based on the per-vCPU
* or per-memory price instead of the per-instance price.</p>
* <p>This parameter is not supported for <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html">GetSpotPlacementScores</a> and <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html">GetInstanceTypesFromInstanceRequirements</a>.</p>
* <note>
* <p>Only one of <code>SpotMaxPricePercentageOverLowestPrice</code> or
* <code>MaxSpotPriceAsPercentageOfOptimalOnDemandPrice</code> can be specified. If you
* don't specify either, then <code>SpotMaxPricePercentageOverLowestPrice</code> is used
* and the value for that parameter defaults to <code>100</code>.</p>
* <code>MaxSpotPriceAsPercentageOfOptimalOnDemandPrice</code> can be specified. If you
* don't specify either, Amazon EC2 will automatically apply optimal price protection to
* consistently select from a wide range of instance types. To indicate no price protection
* threshold for Spot Instances, meaning you want to consider all instance types that match your
* attributes, include one of these parameters and specify a high value, such as
* <code>999999</code>.</p>
* </note>
* <p>Default: <code>100</code>
* </p>
Expand Down Expand Up @@ -3572,16 +3584,17 @@ export interface InstanceRequirements {
* selects instance types with your attributes, it will exclude instance types whose price
* exceeds your specified threshold.</p>
* <p>The parameter accepts an integer, which Amazon EC2 interprets as a percentage.</p>
* <p>To indicate no price protection threshold, specify a high value, such as
* <code>999999</code>.</p>
* <p>If you set <code>DesiredCapacityType</code> to <code>vcpu</code> or
* <code>memory-mib</code>, the price protection threshold is based on the per vCPU or per
* memory price instead of the per instance price.</p>
* <note>
* <p>Only one of <code>SpotMaxPricePercentageOverLowestPrice</code> or
* <code>MaxSpotPriceAsPercentageOfOptimalOnDemandPrice</code> can be specified. If you
* don't specify either, then <code>SpotMaxPricePercentageOverLowestPrice</code> is used
* and the value for that parameter defaults to <code>100</code>.</p>
* don't specify either, Amazon EC2 will automatically apply optimal price protection to
* consistently select from a wide range of instance types. To indicate no price protection
* threshold for Spot Instances, meaning you want to consider all instance types that match your
* attributes, include one of these parameters and specify a high value, such as
* <code>999999</code>.</p>
* </note>
*/
MaxSpotPriceAsPercentageOfOptimalOnDemandPrice?: number;
Expand Down Expand Up @@ -3641,6 +3654,14 @@ export interface FleetLaunchTemplateOverrides {
/**
* @public
* <p>The number of units provided by the specified instance type.</p>
* <note>
* <p>When specifying weights, the price used in the <code>lowest-price</code> and
* <code>price-capacity-optimized</code> allocation strategies is per
* <i>unit</i> hour (where the instance price is divided by the specified
* weight). However, if all the specified weights are above the requested
* <code>TargetCapacity</code>, resulting in only 1 instance being launched, the price
* used is per <i>instance</i> hour.</p>
* </note>
*/
WeightedCapacity?: number;

Expand Down
14 changes: 11 additions & 3 deletions clients/client-ec2/src/models/models_4.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3286,7 +3286,7 @@ export interface InstanceTopology {
/**
* @public
* <p>The network nodes. The nodes are hashed based on your account. Instances from
* different accounts running under the same droplet will return a different hashed list of
* different accounts running under the same server will return a different hashed list of
* strings.</p>
*/
NetworkNodes?: string[];
Expand Down Expand Up @@ -11235,6 +11235,14 @@ export interface LaunchTemplateOverrides {
/**
* @public
* <p>The number of units provided by the specified instance type.</p>
* <note>
* <p>When specifying weights, the price used in the <code>lowest-price</code> and
* <code>price-capacity-optimized</code> allocation strategies is per
* <i>unit</i> hour (where the instance price is divided by the specified
* weight). However, if all the specified weights are above the requested
* <code>TargetCapacity</code>, resulting in only 1 instance being launched, the price
* used is per <i>instance</i> hour.</p>
* </note>
*/
WeightedCapacity?: number;

Expand Down Expand Up @@ -12518,8 +12526,8 @@ export interface SpotPrice {
export interface DescribeSpotPriceHistoryResult {
/**
* @public
* <p>The token to include in another request to get the next page of items. This value is <code>null</code> when there
* are no more items to return.</p>
* <p>The token to include in another request to get the next page of items. This value is
* an empty string (<code>""</code>) or <code>null</code> when there are no more items to return.</p>
*/
NextToken?: string;

Expand Down
2 changes: 1 addition & 1 deletion clients/client-ec2/src/models/models_6.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5102,7 +5102,7 @@ export type HostTenancy = (typeof HostTenancy)[keyof typeof HostTenancy];
export interface ModifyInstancePlacementRequest {
/**
* @public
* <p>The affinity setting for the instance.</p>
* <p>The affinity setting for the instance. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-dedicated-hosts-work.html#dedicated-hosts-affinity">Host affinity</a> in the <i>Amazon EC2 User Guide</i>.</p>
*/
Affinity?: Affinity;

Expand Down
Loading

0 comments on commit c3de9d4

Please sign in to comment.