diff --git a/clients/client-ec2/src/commands/CreateFleetCommand.ts b/clients/client-ec2/src/commands/CreateFleetCommand.ts index e40f1ab25e4f..73e36da33be8 100644 --- a/clients/client-ec2/src/commands/CreateFleetCommand.ts +++ b/clients/client-ec2/src/commands/CreateFleetCommand.ts @@ -161,6 +161,7 @@ export interface CreateFleetCommandOutput extends CreateFleetResult, __MetadataB * AllowedInstanceTypes: [ // AllowedInstanceTypeSet * "STRING_VALUE", * ], + * MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: Number("int"), * }, * ImageId: "STRING_VALUE", * }, @@ -281,6 +282,7 @@ export interface CreateFleetCommandOutput extends CreateFleetResult, __MetadataB * // AllowedInstanceTypes: [ // AllowedInstanceTypeSet * // "STRING_VALUE", * // ], + * // MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: Number("int"), * // }, * // ImageId: "STRING_VALUE", * // }, @@ -375,6 +377,7 @@ export interface CreateFleetCommandOutput extends CreateFleetResult, __MetadataB * // AllowedInstanceTypes: [ * // "STRING_VALUE", * // ], + * // MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: Number("int"), * // }, * // ImageId: "STRING_VALUE", * // }, diff --git a/clients/client-ec2/src/commands/CreateLaunchTemplateCommand.ts b/clients/client-ec2/src/commands/CreateLaunchTemplateCommand.ts index dadc0048234f..b1b3e78a7354 100644 --- a/clients/client-ec2/src/commands/CreateLaunchTemplateCommand.ts +++ b/clients/client-ec2/src/commands/CreateLaunchTemplateCommand.ts @@ -290,6 +290,7 @@ export interface CreateLaunchTemplateCommandOutput extends CreateLaunchTemplateR * AllowedInstanceTypes: [ // AllowedInstanceTypeSet * "STRING_VALUE", * ], + * MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: Number("int"), * }, * PrivateDnsNameOptions: { // LaunchTemplatePrivateDnsNameOptionsRequest * HostnameType: "ip-name" || "resource-name", diff --git a/clients/client-ec2/src/commands/CreateLaunchTemplateVersionCommand.ts b/clients/client-ec2/src/commands/CreateLaunchTemplateVersionCommand.ts index 5ccd5b8646d0..625abc6d403b 100644 --- a/clients/client-ec2/src/commands/CreateLaunchTemplateVersionCommand.ts +++ b/clients/client-ec2/src/commands/CreateLaunchTemplateVersionCommand.ts @@ -292,6 +292,7 @@ export interface CreateLaunchTemplateVersionCommandOutput extends CreateLaunchTe * AllowedInstanceTypes: [ // AllowedInstanceTypeSet * "STRING_VALUE", * ], + * MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: Number("int"), * }, * PrivateDnsNameOptions: { // LaunchTemplatePrivateDnsNameOptionsRequest * HostnameType: "ip-name" || "resource-name", @@ -555,6 +556,7 @@ export interface CreateLaunchTemplateVersionCommandOutput extends CreateLaunchTe * // AllowedInstanceTypes: [ // AllowedInstanceTypeSet * // "STRING_VALUE", * // ], + * // MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: Number("int"), * // }, * // PrivateDnsNameOptions: { // LaunchTemplatePrivateDnsNameOptions * // HostnameType: "ip-name" || "resource-name", diff --git a/clients/client-ec2/src/commands/DescribeFleetsCommand.ts b/clients/client-ec2/src/commands/DescribeFleetsCommand.ts index dbf4e73d3fc5..c3a8483388f2 100644 --- a/clients/client-ec2/src/commands/DescribeFleetsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeFleetsCommand.ts @@ -151,6 +151,7 @@ export interface DescribeFleetsCommandOutput extends DescribeFleetsResult, __Met * // AllowedInstanceTypes: [ // AllowedInstanceTypeSet * // "STRING_VALUE", * // ], + * // MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: Number("int"), * // }, * // ImageId: "STRING_VALUE", * // }, @@ -285,6 +286,7 @@ export interface DescribeFleetsCommandOutput extends DescribeFleetsResult, __Met * // AllowedInstanceTypes: [ * // "STRING_VALUE", * // ], + * // MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: Number("int"), * // }, * // ImageId: "STRING_VALUE", * // }, @@ -379,6 +381,7 @@ export interface DescribeFleetsCommandOutput extends DescribeFleetsResult, __Met * // AllowedInstanceTypes: [ * // "STRING_VALUE", * // ], + * // MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: Number("int"), * // }, * // ImageId: "STRING_VALUE", * // }, diff --git a/clients/client-ec2/src/commands/DescribeLaunchTemplateVersionsCommand.ts b/clients/client-ec2/src/commands/DescribeLaunchTemplateVersionsCommand.ts index 77ea8126fd93..155e09398941 100644 --- a/clients/client-ec2/src/commands/DescribeLaunchTemplateVersionsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeLaunchTemplateVersionsCommand.ts @@ -319,6 +319,7 @@ export interface DescribeLaunchTemplateVersionsCommandOutput * // AllowedInstanceTypes: [ // AllowedInstanceTypeSet * // "STRING_VALUE", * // ], + * // MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: Number("int"), * // }, * // PrivateDnsNameOptions: { // LaunchTemplatePrivateDnsNameOptions * // HostnameType: "ip-name" || "resource-name", diff --git a/clients/client-ec2/src/commands/DescribeSpotFleetRequestsCommand.ts b/clients/client-ec2/src/commands/DescribeSpotFleetRequestsCommand.ts index 2724fa6ef463..b576ca7f3fc0 100644 --- a/clients/client-ec2/src/commands/DescribeSpotFleetRequestsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeSpotFleetRequestsCommand.ts @@ -253,6 +253,7 @@ export interface DescribeSpotFleetRequestsCommandOutput extends DescribeSpotFlee * // AllowedInstanceTypes: [ // AllowedInstanceTypeSet * // "STRING_VALUE", * // ], + * // MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: Number("int"), * // }, * // }, * // ], @@ -338,6 +339,7 @@ export interface DescribeSpotFleetRequestsCommandOutput extends DescribeSpotFlee * // AllowedInstanceTypes: [ * // "STRING_VALUE", * // ], + * // MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: Number("int"), * // }, * // }, * // ], diff --git a/clients/client-ec2/src/commands/GetInstanceTypesFromInstanceRequirementsCommand.ts b/clients/client-ec2/src/commands/GetInstanceTypesFromInstanceRequirementsCommand.ts index 7d344fd8c339..a185fab34077 100644 --- a/clients/client-ec2/src/commands/GetInstanceTypesFromInstanceRequirementsCommand.ts +++ b/clients/client-ec2/src/commands/GetInstanceTypesFromInstanceRequirementsCommand.ts @@ -128,6 +128,7 @@ export interface GetInstanceTypesFromInstanceRequirementsCommandOutput * AllowedInstanceTypes: [ // AllowedInstanceTypeSet * "STRING_VALUE", * ], + * MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: Number("int"), * }, * MaxResults: Number("int"), * NextToken: "STRING_VALUE", diff --git a/clients/client-ec2/src/commands/GetLaunchTemplateDataCommand.ts b/clients/client-ec2/src/commands/GetLaunchTemplateDataCommand.ts index 6e5e13a1f3ef..6fd17db0c7c7 100644 --- a/clients/client-ec2/src/commands/GetLaunchTemplateDataCommand.ts +++ b/clients/client-ec2/src/commands/GetLaunchTemplateDataCommand.ts @@ -291,6 +291,7 @@ export interface GetLaunchTemplateDataCommandOutput extends GetLaunchTemplateDat * // AllowedInstanceTypes: [ // AllowedInstanceTypeSet * // "STRING_VALUE", * // ], + * // MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: Number("int"), * // }, * // PrivateDnsNameOptions: { // LaunchTemplatePrivateDnsNameOptions * // HostnameType: "ip-name" || "resource-name", diff --git a/clients/client-ec2/src/commands/GetSpotPlacementScoresCommand.ts b/clients/client-ec2/src/commands/GetSpotPlacementScoresCommand.ts index 6732f8c311d8..d49ce1588fa8 100644 --- a/clients/client-ec2/src/commands/GetSpotPlacementScoresCommand.ts +++ b/clients/client-ec2/src/commands/GetSpotPlacementScoresCommand.ts @@ -126,6 +126,7 @@ export interface GetSpotPlacementScoresCommandOutput extends GetSpotPlacementSco * AllowedInstanceTypes: [ // AllowedInstanceTypeSet * "STRING_VALUE", * ], + * MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: Number("int"), * }, * }, * DryRun: true || false, diff --git a/clients/client-ec2/src/commands/ModifyFleetCommand.ts b/clients/client-ec2/src/commands/ModifyFleetCommand.ts index 02d0a8d5b2db..77a373f0572b 100644 --- a/clients/client-ec2/src/commands/ModifyFleetCommand.ts +++ b/clients/client-ec2/src/commands/ModifyFleetCommand.ts @@ -152,6 +152,7 @@ export interface ModifyFleetCommandOutput extends ModifyFleetResult, __MetadataB * AllowedInstanceTypes: [ // AllowedInstanceTypeSet * "STRING_VALUE", * ], + * MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: Number("int"), * }, * ImageId: "STRING_VALUE", * }, diff --git a/clients/client-ec2/src/commands/ModifySpotFleetRequestCommand.ts b/clients/client-ec2/src/commands/ModifySpotFleetRequestCommand.ts index 23624426ba84..424bf8e373e7 100644 --- a/clients/client-ec2/src/commands/ModifySpotFleetRequestCommand.ts +++ b/clients/client-ec2/src/commands/ModifySpotFleetRequestCommand.ts @@ -143,6 +143,7 @@ export interface ModifySpotFleetRequestCommandOutput extends ModifySpotFleetRequ * AllowedInstanceTypes: [ // AllowedInstanceTypeSet * "STRING_VALUE", * ], + * MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: Number("int"), * }, * }, * ], diff --git a/clients/client-ec2/src/commands/RequestSpotFleetCommand.ts b/clients/client-ec2/src/commands/RequestSpotFleetCommand.ts index 313dd926767e..1b02c41610d5 100644 --- a/clients/client-ec2/src/commands/RequestSpotFleetCommand.ts +++ b/clients/client-ec2/src/commands/RequestSpotFleetCommand.ts @@ -263,6 +263,7 @@ export interface RequestSpotFleetCommandOutput extends RequestSpotFleetResponse, * AllowedInstanceTypes: [ // AllowedInstanceTypeSet * "STRING_VALUE", * ], + * MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: Number("int"), * }, * }, * ], @@ -348,6 +349,7 @@ export interface RequestSpotFleetCommandOutput extends RequestSpotFleetResponse, * AllowedInstanceTypes: [ * "STRING_VALUE", * ], + * MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: Number("int"), * }, * }, * ], diff --git a/clients/client-ec2/src/models/models_1.ts b/clients/client-ec2/src/models/models_1.ts index c1253eaf3b69..7a6eb3f6d8eb 100644 --- a/clients/client-ec2/src/models/models_1.ts +++ b/clients/client-ec2/src/models/models_1.ts @@ -1897,17 +1897,25 @@ export interface InstanceRequirementsRequest { /** * @public - *

The price protection threshold for Spot Instance. This is the maximum you’ll pay for an Spot Instance, - * expressed as a percentage above the least expensive current generation M, C, or R instance type with your specified - * attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance - * types priced above your threshold.

+ *

[Price protection] The price protection threshold for Spot Instances, as a percentage higher than + * an identified Spot price. The identified Spot price is the Spot price of the lowest priced + * current generation C, M, or R instance type with your specified attributes. If no current + * generation C, M, or R instance type matches your attributes, then the identified Spot price + * is from the lowest priced current generation instance types, and failing that, from the + * lowest priced previous generation instance types that match your attributes. When Amazon EC2 + * selects instance types with your attributes, it will exclude instance types whose Spot + * price exceeds your specified threshold.

*

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

- *

To turn off price protection, specify a high value, such as 999999.

- *

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

- * - *

If you set TargetCapacityUnitType to vcpu or + *

To indicate no price protection threshold, specify a high value, such as 999999.

+ *

If you set TargetCapacityUnitType to vcpu or * memory-mib, the price protection threshold is applied based on the * per-vCPU or per-memory price instead of the per-instance price.

+ *

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

+ * + *

Only one of SpotMaxPricePercentageOverLowestPrice or + * MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you + * don't specify either, then SpotMaxPricePercentageOverLowestPrice is used + * and the value for that parameter defaults to 100.

*
*

Default: 100 *

@@ -1916,12 +1924,14 @@ export interface InstanceRequirementsRequest { /** * @public - *

The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, - * expressed as a percentage above the least expensive current generation M, C, or R instance type with your specified - * attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance - * types priced above your threshold.

+ *

[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than + * an identified On-Demand price. The identified On-Demand price is the price of the lowest + * priced current generation C, M, or R instance type with your specified attributes. When + * Amazon EC2 selects instance types with your attributes, it will exclude instance types whose + * price exceeds your specified threshold.

*

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

- *

To turn off price protection, specify a high value, such as 999999.

+ *

To indicate no price protection threshold, specify a high value, such as + * 999999.

*

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

* *

If you set TargetCapacityUnitType to vcpu or @@ -2174,6 +2184,31 @@ export interface InstanceRequirementsRequest { *

Default: All instance types

*/ AllowedInstanceTypes?: string[]; + + /** + * @public + *

[Price protection] The price protection threshold for Spot Instances, as a percentage of an + * identified On-Demand price. The identified On-Demand price is the price of the lowest + * priced current generation C, M, or R instance type with your specified attributes. If no + * current generation C, M, or R instance type matches your attributes, then the identified + * price is from the lowest priced current generation instance types, and failing that, from + * the lowest priced previous generation instance types that match your attributes. When Amazon EC2 + * selects instance types with your attributes, it will exclude instance types whose price + * exceeds your specified threshold.

+ *

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

+ *

To indicate no price protection threshold, specify a high value, such as + * 999999.

+ *

If you set DesiredCapacityType to vcpu or + * memory-mib, the price protection threshold is based on the per vCPU or per + * memory price instead of the per instance price.

+ * + *

Only one of SpotMaxPricePercentageOverLowestPrice or + * MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you + * don't specify either, then SpotMaxPricePercentageOverLowestPrice is used + * and the value for that parameter defaults to 100.

+ *
+ */ + MaxSpotPriceAsPercentageOfOptimalOnDemandPrice?: number; } /** @@ -3238,17 +3273,26 @@ export interface InstanceRequirements { /** * @public - *

The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, - * expressed as a percentage above the least expensive current generation M, C, or R instance type with your specified - * attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance - * types priced above your threshold.

+ *

[Price protection] The price protection threshold for Spot Instances, as a percentage higher than + * an identified Spot price. The identified Spot price is the Spot price of the lowest priced + * current generation C, M, or R instance type with your specified attributes. If no current + * generation C, M, or R instance type matches your attributes, then the identified Spot price + * is from the lowest priced current generation instance types, and failing that, from the + * lowest priced previous generation instance types that match your attributes. When Amazon EC2 + * selects instance types with your attributes, it will exclude instance types whose Spot + * price exceeds your specified threshold.

*

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

- *

To turn off price protection, specify a high value, such as 999999.

+ *

To indicate no price protection threshold, specify a high value, such as + * 999999.

+ *

If you set TargetCapacityUnitType to vcpu or + * memory-mib, the price protection threshold is applied based on the per-vCPU + * or per-memory price instead of the per-instance price.

*

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

* - *

If you set TargetCapacityUnitType to vcpu or - * memory-mib, the price protection threshold is applied based on the - * per-vCPU or per-memory price instead of the per-instance price.

+ *

Only one of SpotMaxPricePercentageOverLowestPrice or + * MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you + * don't specify either, then SpotMaxPricePercentageOverLowestPrice is used + * and the value for that parameter defaults to 100.

*
*

Default: 100 *

@@ -3257,10 +3301,11 @@ export interface InstanceRequirements { /** * @public - *

The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, - * expressed as a percentage above the least expensive current generation M, C, or R instance type with your specified - * attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance - * types priced above your threshold.

+ *

[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher + * than an identified On-Demand price. The identified On-Demand price is the price of the + * lowest priced current generation C, M, or R instance type with your specified attributes. + * When Amazon EC2 selects instance types with your attributes, it will exclude instance types + * whose price exceeds your specified threshold.

*

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

*

To turn off price protection, specify a high value, such as 999999.

*

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

@@ -3515,6 +3560,31 @@ export interface InstanceRequirements { *

Default: All instance types

*/ AllowedInstanceTypes?: string[]; + + /** + * @public + *

[Price protection] The price protection threshold for Spot Instances, as a percentage of an + * identified On-Demand price. The identified On-Demand price is the price of the lowest + * priced current generation C, M, or R instance type with your specified attributes. If no + * current generation C, M, or R instance type matches your attributes, then the identified + * price is from the lowest priced current generation instance types, and failing that, from + * the lowest priced previous generation instance types that match your attributes. When Amazon EC2 + * selects instance types with your attributes, it will exclude instance types whose price + * exceeds your specified threshold.

+ *

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

+ *

To indicate no price protection threshold, specify a high value, such as + * 999999.

+ *

If you set DesiredCapacityType to vcpu or + * memory-mib, the price protection threshold is based on the per vCPU or per + * memory price instead of the per instance price.

+ * + *

Only one of SpotMaxPricePercentageOverLowestPrice or + * MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you + * don't specify either, then SpotMaxPricePercentageOverLowestPrice is used + * and the value for that parameter defaults to 100.

+ *
+ */ + MaxSpotPriceAsPercentageOfOptimalOnDemandPrice?: number; } /** diff --git a/clients/client-ec2/src/protocols/Aws_ec2.ts b/clients/client-ec2/src/protocols/Aws_ec2.ts index c320f3baf5ff..2a3bb1dcc313 100644 --- a/clients/client-ec2/src/protocols/Aws_ec2.ts +++ b/clients/client-ec2/src/protocols/Aws_ec2.ts @@ -56473,6 +56473,9 @@ const se_InstanceRequirements = (input: InstanceRequirements, context: __SerdeCo entries[loc] = value; }); } + if (input[_MSPAPOOODP] != null) { + entries[_MSPAPOOODP] = input[_MSPAPOOODP]; + } return entries; }; @@ -56642,6 +56645,9 @@ const se_InstanceRequirementsRequest = (input: InstanceRequirementsRequest, cont entries[loc] = value; }); } + if (input[_MSPAPOOODP] != null) { + entries[_MSPAPOOODP] = input[_MSPAPOOODP]; + } return entries; }; @@ -81665,6 +81671,9 @@ const de_InstanceRequirements = (output: any, context: __SerdeContext): Instance } else if (output[_aITS] != null && output[_aITS][_i] != null) { contents[_AIT] = de_AllowedInstanceTypeSet(__getArrayIfSingleItem(output[_aITS][_i]), context); } + if (output[_mSPAPOOODP] != null) { + contents[_MSPAPOOODP] = __strictParseInt32(output[_mSPAPOOODP]) as number; + } return contents; }; @@ -96866,6 +96875,7 @@ const _MSDIH = "MaxSlotDurationInHours"; const _MSDIHi = "MinSlotDurationInHours"; const _MSFR = "ModifySpotFleetRequest"; const _MSGR = "ModifySecurityGroupRules"; +const _MSPAPOOODP = "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice"; const _MST = "ModifySnapshotTier"; const _MSa = "ManagementState"; const _MSo = "MoveStatus"; @@ -98712,6 +98722,7 @@ const _mPSa = "matchPathSet"; const _mR = "maxResults"; const _mRS = "modificationResultSet"; const _mS = "messageSet"; +const _mSPAPOOODP = "maxSpotPriceAsPercentageOfOptimalOnDemandPrice"; const _mSa = "managementState"; const _mSai = "maintenanceStrategies"; const _mSo = "moveStatus"; diff --git a/codegen/sdk-codegen/aws-models/ec2.json b/codegen/sdk-codegen/aws-models/ec2.json index 4595c3a1d18b..2d36707aa5eb 100644 --- a/codegen/sdk-codegen/aws-models/ec2.json +++ b/codegen/sdk-codegen/aws-models/ec2.json @@ -59748,7 +59748,7 @@ "target": "com.amazonaws.ec2#Integer", "traits": { "aws.protocols#ec2QueryName": "SpotMaxPricePercentageOverLowestPrice", - "smithy.api#documentation": "

The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance,\n expressed as a percentage above the least expensive current generation M, C, or R instance type with your specified\n attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance\n types priced above your threshold.

\n

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

\n

To turn off price protection, specify a high value, such as 999999.

\n

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

\n \n

If you set TargetCapacityUnitType to vcpu or\n memory-mib, the price protection threshold is applied based on the\n per-vCPU or per-memory price instead of the per-instance price.

\n
\n

Default: 100\n

", + "smithy.api#documentation": "

[Price protection] The price protection threshold for Spot Instances, as a percentage higher than\n an identified Spot price. The identified Spot price is the Spot price of the lowest priced\n current generation C, M, or R instance type with your specified attributes. If no current\n generation C, M, or R instance type matches your attributes, then the identified Spot price\n is from the lowest priced current generation instance types, and failing that, from the\n lowest priced previous generation instance types that match your attributes. When Amazon EC2\n selects instance types with your attributes, it will exclude instance types whose Spot\n price exceeds your specified threshold.

\n

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

\n

To indicate no price protection threshold, specify a high value, such as\n 999999.

\n

If you set TargetCapacityUnitType to vcpu or\n memory-mib, the price protection threshold is applied based on the per-vCPU\n or per-memory price instead of the per-instance price.

\n

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

\n \n

Only one of SpotMaxPricePercentageOverLowestPrice or\n MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you\n don't specify either, then SpotMaxPricePercentageOverLowestPrice is used\n and the value for that parameter defaults to 100.

\n
\n

Default: 100\n

", "smithy.api#xmlName": "spotMaxPricePercentageOverLowestPrice" } }, @@ -59756,7 +59756,7 @@ "target": "com.amazonaws.ec2#Integer", "traits": { "aws.protocols#ec2QueryName": "OnDemandMaxPricePercentageOverLowestPrice", - "smithy.api#documentation": "

The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance,\n expressed as a percentage above the least expensive current generation M, C, or R instance type with your specified\n attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance\n types priced above your threshold.

\n

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

\n

To turn off price protection, specify a high value, such as 999999.

\n

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

\n \n

If you set TargetCapacityUnitType to vcpu or\n memory-mib, the price protection threshold is applied based on the\n per-vCPU or per-memory price instead of the per-instance price.

\n
\n

Default: 20\n

", + "smithy.api#documentation": "

[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher\n than an identified On-Demand price. The identified On-Demand price is the price of the\n lowest priced current generation C, M, or R instance type with your specified attributes.\n When Amazon EC2 selects instance types with your attributes, it will exclude instance types\n whose price exceeds your specified threshold.

\n

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

\n

To turn off price protection, specify a high value, such as 999999.

\n

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

\n \n

If you set TargetCapacityUnitType to vcpu or\n memory-mib, the price protection threshold is applied based on the\n per-vCPU or per-memory price instead of the per-instance price.

\n
\n

Default: 20\n

", "smithy.api#xmlName": "onDemandMaxPricePercentageOverLowestPrice" } }, @@ -59879,6 +59879,14 @@ "smithy.api#documentation": "

The instance types to apply your specified attributes against. All other instance types \n are ignored, even if they match your specified attributes.

\n

You can use strings with one or more wild cards, represented by\n an asterisk (*), to allow an instance type, size, or generation. The\n following are examples: m5.8xlarge, c5*.*, m5a.*,\n r*, *3*.

\n

For example, if you specify c5*,Amazon EC2 will allow the entire C5 instance\n family, which includes all C5a and C5n instance types. If you specify\n m5a.*, Amazon EC2 will allow all the M5a instance types, but not the M5n\n instance types.

\n \n

If you specify AllowedInstanceTypes, you can't specify ExcludedInstanceTypes.

\n
\n

Default: All instance types

", "smithy.api#xmlName": "allowedInstanceTypeSet" } + }, + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice", + "smithy.api#documentation": "

[Price protection] The price protection threshold for Spot Instances, as a percentage of an\n identified On-Demand price. The identified On-Demand price is the price of the lowest\n priced current generation C, M, or R instance type with your specified attributes. If no\n current generation C, M, or R instance type matches your attributes, then the identified\n price is from the lowest priced current generation instance types, and failing that, from\n the lowest priced previous generation instance types that match your attributes. When Amazon EC2\n selects instance types with your attributes, it will exclude instance types whose price\n exceeds your specified threshold.

\n

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

\n

To indicate no price protection threshold, specify a high value, such as\n 999999.

\n

If you set DesiredCapacityType to vcpu or\n memory-mib, the price protection threshold is based on the per vCPU or per\n memory price instead of the per instance price.

\n \n

Only one of SpotMaxPricePercentageOverLowestPrice or\n MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you\n don't specify either, then SpotMaxPricePercentageOverLowestPrice is used\n and the value for that parameter defaults to 100.

\n
", + "smithy.api#xmlName": "maxSpotPriceAsPercentageOfOptimalOnDemandPrice" + } } }, "traits": { @@ -59934,13 +59942,13 @@ "SpotMaxPricePercentageOverLowestPrice": { "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

The price protection threshold for Spot Instance. This is the maximum you’ll pay for an Spot Instance,\n expressed as a percentage above the least expensive current generation M, C, or R instance type with your specified\n attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance\n types priced above your threshold.

\n

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

\n

To turn off price protection, specify a high value, such as 999999.

\n

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

\n \n

If you set TargetCapacityUnitType to vcpu or\n memory-mib, the price protection threshold is applied based on the\n per-vCPU or per-memory price instead of the per-instance price.

\n
\n

Default: 100\n

" + "smithy.api#documentation": "

[Price protection] The price protection threshold for Spot Instances, as a percentage higher than\n an identified Spot price. The identified Spot price is the Spot price of the lowest priced\n current generation C, M, or R instance type with your specified attributes. If no current\n generation C, M, or R instance type matches your attributes, then the identified Spot price\n is from the lowest priced current generation instance types, and failing that, from the\n lowest priced previous generation instance types that match your attributes. When Amazon EC2\n selects instance types with your attributes, it will exclude instance types whose Spot\n price exceeds your specified threshold.

\n

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

\n

To indicate no price protection threshold, specify a high value, such as 999999.

\n

If you set TargetCapacityUnitType to vcpu or\n memory-mib, the price protection threshold is applied based on the\n per-vCPU or per-memory price instead of the per-instance price.

\n

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

\n \n

Only one of SpotMaxPricePercentageOverLowestPrice or\n MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you\n don't specify either, then SpotMaxPricePercentageOverLowestPrice is used\n and the value for that parameter defaults to 100.

\n
\n

Default: 100\n

" } }, "OnDemandMaxPricePercentageOverLowestPrice": { "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance,\n expressed as a percentage above the least expensive current generation M, C, or R instance type with your specified\n attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance\n types priced above your threshold.

\n

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

\n

To turn off price protection, specify a high value, such as 999999.

\n

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

\n \n

If you set TargetCapacityUnitType to vcpu or\n memory-mib, the price protection threshold is applied based on the\n per-vCPU or per-memory price instead of the per-instance price.

\n
\n

Default: 20\n

" + "smithy.api#documentation": "

[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than\n an identified On-Demand price. The identified On-Demand price is the price of the lowest\n priced current generation C, M, or R instance type with your specified attributes. When\n Amazon EC2 selects instance types with your attributes, it will exclude instance types whose\n price exceeds your specified threshold.

\n

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

\n

To indicate no price protection threshold, specify a high value, such as\n 999999.

\n

This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

\n \n

If you set TargetCapacityUnitType to vcpu or\n memory-mib, the price protection threshold is applied based on the\n per-vCPU or per-memory price instead of the per-instance price.

\n
\n

Default: 20\n

" } }, "BareMetal": { @@ -60037,6 +60045,12 @@ "smithy.api#documentation": "

The instance types to apply your specified attributes against. All other instance types \n are ignored, even if they match your specified attributes.

\n

You can use strings with one or more wild cards, represented by\n an asterisk (*), to allow an instance type, size, or generation. The\n following are examples: m5.8xlarge, c5*.*, m5a.*,\n r*, *3*.

\n

For example, if you specify c5*,Amazon EC2 will allow the entire C5 instance\n family, which includes all C5a and C5n instance types. If you specify\n m5a.*, Amazon EC2 will allow all the M5a instance types, but not the M5n\n instance types.

\n \n

If you specify AllowedInstanceTypes, you can't specify ExcludedInstanceTypes.

\n
\n

Default: All instance types

", "smithy.api#xmlName": "AllowedInstanceType" } + }, + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

[Price protection] The price protection threshold for Spot Instances, as a percentage of an\n identified On-Demand price. The identified On-Demand price is the price of the lowest\n priced current generation C, M, or R instance type with your specified attributes. If no\n current generation C, M, or R instance type matches your attributes, then the identified\n price is from the lowest priced current generation instance types, and failing that, from\n the lowest priced previous generation instance types that match your attributes. When Amazon EC2\n selects instance types with your attributes, it will exclude instance types whose price\n exceeds your specified threshold.

\n

The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

\n

To indicate no price protection threshold, specify a high value, such as\n 999999.

\n

If you set DesiredCapacityType to vcpu or\n memory-mib, the price protection threshold is based on the per vCPU or per\n memory price instead of the per instance price.

\n \n

Only one of SpotMaxPricePercentageOverLowestPrice or\n MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be specified. If you\n don't specify either, then SpotMaxPricePercentageOverLowestPrice is used\n and the value for that parameter defaults to 100.

\n
" + } } }, "traits": {