diff --git a/clients/client-auto-scaling/src/commands/CreateAutoScalingGroupCommand.ts b/clients/client-auto-scaling/src/commands/CreateAutoScalingGroupCommand.ts index 75b49243af5b..24e79c4ae83d 100644 --- a/clients/client-auto-scaling/src/commands/CreateAutoScalingGroupCommand.ts +++ b/clients/client-auto-scaling/src/commands/CreateAutoScalingGroupCommand.ts @@ -95,6 +95,7 @@ export interface CreateAutoScalingGroupCommandOutput extends __MetadataBearer {} * "current" || "previous", * ], * SpotMaxPricePercentageOverLowestPrice: Number("int"), + * MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: Number("int"), * OnDemandMaxPricePercentageOverLowestPrice: Number("int"), * BareMetal: "included" || "excluded" || "required", * BurstablePerformance: "included" || "excluded" || "required", diff --git a/clients/client-auto-scaling/src/commands/DescribeAutoScalingGroupsCommand.ts b/clients/client-auto-scaling/src/commands/DescribeAutoScalingGroupsCommand.ts index 7be38cd5f3e1..727cc64bbd0a 100644 --- a/clients/client-auto-scaling/src/commands/DescribeAutoScalingGroupsCommand.ts +++ b/clients/client-auto-scaling/src/commands/DescribeAutoScalingGroupsCommand.ts @@ -104,6 +104,7 @@ export interface DescribeAutoScalingGroupsCommandOutput extends AutoScalingGroup * // "current" || "previous", * // ], * // SpotMaxPricePercentageOverLowestPrice: Number("int"), + * // MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: Number("int"), * // OnDemandMaxPricePercentageOverLowestPrice: Number("int"), * // BareMetal: "included" || "excluded" || "required", * // BurstablePerformance: "included" || "excluded" || "required", diff --git a/clients/client-auto-scaling/src/commands/DescribeInstanceRefreshesCommand.ts b/clients/client-auto-scaling/src/commands/DescribeInstanceRefreshesCommand.ts index 4e0f394ddd8b..7ddfd9b56849 100644 --- a/clients/client-auto-scaling/src/commands/DescribeInstanceRefreshesCommand.ts +++ b/clients/client-auto-scaling/src/commands/DescribeInstanceRefreshesCommand.ts @@ -28,7 +28,8 @@ export interface DescribeInstanceRefreshesCommandOutput extends DescribeInstance /** * @public - *

Gets information about the instance refreshes for the specified Auto Scaling group.

+ *

Gets information about the instance refreshes for the specified Auto Scaling group from the + * previous six weeks.

*

This operation is part of the instance refresh * feature in Amazon EC2 Auto Scaling, which helps you update instances in your Auto Scaling group * after you make configuration changes.

@@ -134,6 +135,7 @@ export interface DescribeInstanceRefreshesCommandOutput extends DescribeInstance * // "current" || "previous", * // ], * // SpotMaxPricePercentageOverLowestPrice: Number("int"), + * // MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: Number("int"), * // OnDemandMaxPricePercentageOverLowestPrice: Number("int"), * // BareMetal: "included" || "excluded" || "required", * // BurstablePerformance: "included" || "excluded" || "required", diff --git a/clients/client-auto-scaling/src/commands/StartInstanceRefreshCommand.ts b/clients/client-auto-scaling/src/commands/StartInstanceRefreshCommand.ts index 608e555b10a4..b317640a98c5 100644 --- a/clients/client-auto-scaling/src/commands/StartInstanceRefreshCommand.ts +++ b/clients/client-auto-scaling/src/commands/StartInstanceRefreshCommand.ts @@ -100,6 +100,7 @@ export interface StartInstanceRefreshCommandOutput extends StartInstanceRefreshA * "current" || "previous", * ], * SpotMaxPricePercentageOverLowestPrice: Number("int"), + * MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: Number("int"), * OnDemandMaxPricePercentageOverLowestPrice: Number("int"), * BareMetal: "included" || "excluded" || "required", * BurstablePerformance: "included" || "excluded" || "required", diff --git a/clients/client-auto-scaling/src/commands/UpdateAutoScalingGroupCommand.ts b/clients/client-auto-scaling/src/commands/UpdateAutoScalingGroupCommand.ts index dde35b853b5d..562de6195d03 100644 --- a/clients/client-auto-scaling/src/commands/UpdateAutoScalingGroupCommand.ts +++ b/clients/client-auto-scaling/src/commands/UpdateAutoScalingGroupCommand.ts @@ -121,6 +121,7 @@ export interface UpdateAutoScalingGroupCommandOutput extends __MetadataBearer {} * "current" || "previous", * ], * SpotMaxPricePercentageOverLowestPrice: Number("int"), + * MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: Number("int"), * OnDemandMaxPricePercentageOverLowestPrice: Number("int"), * BareMetal: "included" || "excluded" || "required", * BurstablePerformance: "included" || "excluded" || "required", diff --git a/clients/client-auto-scaling/src/models/models_0.ts b/clients/client-auto-scaling/src/models/models_0.ts index 31634c611afc..53897771c292 100644 --- a/clients/client-auto-scaling/src/models/models_0.ts +++ b/clients/client-auto-scaling/src/models/models_0.ts @@ -287,7 +287,8 @@ export interface Alarm { export interface AlarmSpecification { /** * @public - *

The names of one or more CloudWatch alarms to monitor for the instance refresh. You can specify up to 10 alarms.

+ *

The names of one or more CloudWatch alarms to monitor for the instance refresh. You can + * specify up to 10 alarms.

*/ Alarms?: string[]; } @@ -753,8 +754,7 @@ export interface InstanceMaintenancePolicy { *

Specifies the lower threshold as a percentage of the desired capacity of the Auto Scaling * group. It represents the minimum percentage of the group to keep in service, healthy, * and ready to use to support your workload when replacing instances. Value range is 0 to - * 100. After it's set, a value of -1 will clear the previously set - * value.

+ * 100. To clear a previously set value, specify a value of -1.

*/ MinHealthyPercentage?: number; @@ -763,8 +763,7 @@ export interface InstanceMaintenancePolicy { *

Specifies the upper threshold as a percentage of the desired capacity of the Auto Scaling * group. It represents the maximum percentage of the group that can be in service and * healthy, or pending, to support your workload when replacing instances. Value range is - * 100 to 200. After it's set, a value of -1 will clear the previously set - * value.

+ * 100 to 200. To clear a previously set value, specify a value of -1.

*

Both MinHealthyPercentage and MaxHealthyPercentage must be * specified, and the difference between them cannot be greater than 100. A large range * increases the number of instances that can be replaced at the same time.

@@ -1357,16 +1356,24 @@ 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 higher than the least expensive current - * generation M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling - * selects instance types with your attributes, we will exclude instance types whose price - * is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling - * interprets as a percentage. To turn off price protection, specify a high value, such as - * 999999.

+ *

[Price protection] The price protection threshold for Spot Instances, as a percentage + * higher than an identified Spot price. The identified Spot 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 either the lowest priced current generation instance + * types or, failing that, the lowest priced previous generation instance types that match + * your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will + * exclude instance types whose price exceeds your specified threshold.

+ *

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

+ *

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

*

If you set DesiredCapacityType 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.

+ * 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.

+ *
*

Default: 100 *

*/ @@ -1374,16 +1381,45 @@ 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 higher than the least expensive - * current generation M, C, or R instance type with your specified attributes. When - * Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types - * whose price is higher than your threshold. The parameter accepts an integer, which - * Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, - * such as 999999.

+ *

[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 either the lowest priced current generation instance + * types or, failing that, the lowest priced previous generation instance types that match + * your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will + * exclude instance types whose price exceeds your specified threshold.

+ *

The parameter accepts an integer, which Amazon EC2 Auto Scaling 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 applied based on the per - * vCPU or per memory price instead of the per instance price.

+ * 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; + + /** + * @public + *

[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. If no current generation C, M, or R instance type matches your + * attributes, then the identified price is from either the lowest priced current + * generation instance types or, failing that, the lowest priced previous generation + * instance types that match your attributes. When Amazon EC2 Auto Scaling selects instance types with + * your attributes, we will exclude instance types whose price exceeds your specified + * threshold.

+ *

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

+ *

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

+ *

If you set DesiredCapacityType 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.

*

Default: 20 *

*/ @@ -5017,8 +5053,8 @@ export interface Metric { /** * @public - *

This structure defines the CloudWatch metric to return, along with the statistic, period, - * and unit.

+ *

This structure defines the CloudWatch metric to return, along with the statistic and + * unit.

*

For more information about the CloudWatch terminology below, see Amazon CloudWatch * concepts in the Amazon CloudWatch User Guide.

*/ diff --git a/clients/client-auto-scaling/src/protocols/Aws_query.ts b/clients/client-auto-scaling/src/protocols/Aws_query.ts index 8d88dc59b867..6e8c1b43c5c9 100644 --- a/clients/client-auto-scaling/src/protocols/Aws_query.ts +++ b/clients/client-auto-scaling/src/protocols/Aws_query.ts @@ -6454,6 +6454,9 @@ const se_InstanceRequirements = (input: InstanceRequirements, context: __SerdeCo if (input[_SMPPOLP] != null) { entries[_SMPPOLP] = input[_SMPPOLP]; } + if (input[_MSPAPOOODP] != null) { + entries[_MSPAPOOODP] = input[_MSPAPOOODP]; + } if (input[_ODMPPOLP] != null) { entries[_ODMPPOLP] = input[_ODMPPOLP]; } @@ -9576,6 +9579,9 @@ const de_InstanceRequirements = (output: any, context: __SerdeContext): Instance if (output[_SMPPOLP] != null) { contents[_SMPPOLP] = __strictParseInt32(output[_SMPPOLP]) as number; } + if (output[_MSPAPOOODP] != null) { + contents[_MSPAPOOODP] = __strictParseInt32(output[_MSPAPOOODP]) as number; + } if (output[_ODMPPOLP] != null) { contents[_ODMPPOLP] = __strictParseInt32(output[_ODMPPOLP]) as number; } @@ -11415,6 +11421,7 @@ const _MNOLC = "MaxNumberOfLaunchConfigurations"; const _MO = "MetadataOptions"; const _MR = "MaxRecords"; const _MS = "MinSize"; +const _MSPAPOOODP = "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice"; const _MSa = "MaxSize"; const _MSe = "MetricStat"; const _MSet = "MetricSpecifications"; diff --git a/codegen/sdk-codegen/aws-models/auto-scaling.json b/codegen/sdk-codegen/aws-models/auto-scaling.json index b4551a0e6be9..221405c3fa1f 100644 --- a/codegen/sdk-codegen/aws-models/auto-scaling.json +++ b/codegen/sdk-codegen/aws-models/auto-scaling.json @@ -387,7 +387,7 @@ "Alarms": { "target": "com.amazonaws.autoscaling#AlarmList", "traits": { - "smithy.api#documentation": "

The names of one or more CloudWatch alarms to monitor for the instance refresh. You can specify up to 10 alarms.

" + "smithy.api#documentation": "

The names of one or more CloudWatch alarms to monitor for the instance refresh. You can\n specify up to 10 alarms.

" } } }, @@ -2813,6 +2813,102 @@ "DefaultInstanceWarmup": 120, "VPCZoneIdentifier": "subnet-057fa0918fEXAMPLE" } + }, + { + "title": "To create an Auto Scaling group with an attached target group", + "documentation": "This example creates an Auto Scaling group and attaches the specified target group.", + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "LaunchTemplate": { + "LaunchTemplateName": "my-template-for-auto-scaling", + "Version": "$Default" + }, + "MinSize": 1, + "MaxSize": 3, + "TargetGroupARNs": [ + "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" + ], + "HealthCheckType": "ELB", + "HealthCheckGracePeriod": 300, + "VPCZoneIdentifier": "subnet-057fa0918fEXAMPLE, subnet-610acd08EXAMPLE" + } + }, + { + "title": "To create an Auto Scaling group with a mixed instances policy", + "documentation": "This example creates an Auto Scaling group with a mixed instances policy. It specifies the c5.large, c5a.large, and c6g.large instance types and defines a different launch template for the c6g.large instance type.", + "input": { + "AutoScalingGroupName": "my-asg", + "MixedInstancesPolicy": { + "LaunchTemplate": { + "LaunchTemplateSpecification": { + "LaunchTemplateName": "my-launch-template-for-x86", + "Version": "$Default" + }, + "Overrides": [ + { + "InstanceType": "c6g.large", + "LaunchTemplateSpecification": { + "LaunchTemplateName": "my-launch-template-for-arm", + "Version": "$Default" + } + }, + { + "InstanceType": "c5.large" + }, + { + "InstanceType": "c5a.large" + } + ] + }, + "InstancesDistribution": { + "OnDemandBaseCapacity": 1, + "OnDemandPercentageAboveBaseCapacity": 50, + "SpotAllocationStrategy": "price-capacity-optimized" + } + }, + "MinSize": 1, + "MaxSize": 5, + "DesiredCapacity": 3, + "VPCZoneIdentifier": "subnet-057fa0918fEXAMPLE, subnet-610acd08EXAMPLE" + } + }, + { + "title": "To create an Auto Scaling group using attribute-based instance type selection", + "documentation": "This example creates an Auto Scaling group using attribute-based instance type selection. It requires the instance types to have a minimum of four vCPUs and a maximum of eight vCPUs, a minimum of 16,384 MiB of memory, and an Intel manufactured CPU.", + "input": { + "AutoScalingGroupName": "my-asg", + "MixedInstancesPolicy": { + "LaunchTemplate": { + "LaunchTemplateSpecification": { + "LaunchTemplateName": "my-template-for-auto-scaling", + "Version": "$Default" + }, + "Overrides": [ + { + "InstanceRequirements": { + "VCpuCount": { + "Min": 4, + "Max": 8 + }, + "MemoryMiB": { + "Min": 16384 + }, + "CpuManufacturers": ["intel"] + } + } + ] + }, + "InstancesDistribution": { + "OnDemandPercentageAboveBaseCapacity": 50, + "SpotAllocationStrategy": "price-capacity-optimized" + } + }, + "MinSize": 0, + "MaxSize": 100, + "DesiredCapacity": 4, + "DesiredCapacityType": "units", + "VPCZoneIdentifier": "subnet-057fa0918fEXAMPLE, subnet-610acd08EXAMPLE" + } } ] } @@ -3291,6 +3387,14 @@ "input": { "AutoScalingGroupName": "my-auto-scaling-group" } + }, + { + "title": "To delete an Auto Scaling group and all its instances", + "documentation": "This example deletes the specified Auto Scaling group and all its instances.", + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "ForceDelete": true + } } ] } @@ -4034,7 +4138,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets information about the instance refreshes for the specified Auto Scaling group.

\n

This operation is part of the instance refresh\n feature in Amazon EC2 Auto Scaling, which helps you update instances in your Auto Scaling group\n after you make configuration changes.

\n

To help you determine the status of an instance refresh, Amazon EC2 Auto Scaling returns information\n about the instance refreshes you previously initiated, including their status, start\n time, end time, the percentage of the instance refresh that is complete, and the number\n of instances remaining to update before the instance refresh is complete. If a rollback\n is initiated while an instance refresh is in progress, Amazon EC2 Auto Scaling also returns information\n about the rollback of the instance refresh.

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

Gets information about the instance refreshes for the specified Auto Scaling group from the\n previous six weeks.

\n

This operation is part of the instance refresh\n feature in Amazon EC2 Auto Scaling, which helps you update instances in your Auto Scaling group\n after you make configuration changes.

\n

To help you determine the status of an instance refresh, Amazon EC2 Auto Scaling returns information\n about the instance refreshes you previously initiated, including their status, start\n time, end time, the percentage of the instance refresh that is complete, and the number\n of instances remaining to update before the instance refresh is complete. If a rollback\n is initiated while an instance refresh is in progress, Amazon EC2 Auto Scaling also returns information\n about the rollback of the instance refresh.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -6174,13 +6278,13 @@ "MinHealthyPercentage": { "target": "com.amazonaws.autoscaling#IntPercentResettable", "traits": { - "smithy.api#documentation": "

Specifies the lower threshold as a percentage of the desired capacity of the Auto Scaling\n group. It represents the minimum percentage of the group to keep in service, healthy,\n and ready to use to support your workload when replacing instances. Value range is 0 to\n 100. After it's set, a value of -1 will clear the previously set\n value.

" + "smithy.api#documentation": "

Specifies the lower threshold as a percentage of the desired capacity of the Auto Scaling\n group. It represents the minimum percentage of the group to keep in service, healthy,\n and ready to use to support your workload when replacing instances. Value range is 0 to\n 100. To clear a previously set value, specify a value of -1.

" } }, "MaxHealthyPercentage": { "target": "com.amazonaws.autoscaling#IntPercent100To200Resettable", "traits": { - "smithy.api#documentation": "

Specifies the upper threshold as a percentage of the desired capacity of the Auto Scaling\n group. It represents the maximum percentage of the group that can be in service and\n healthy, or pending, to support your workload when replacing instances. Value range is\n 100 to 200. After it's set, a value of -1 will clear the previously set\n value.

\n

Both MinHealthyPercentage and MaxHealthyPercentage must be\n specified, and the difference between them cannot be greater than 100. A large range\n increases the number of instances that can be replaced at the same time.

" + "smithy.api#documentation": "

Specifies the upper threshold as a percentage of the desired capacity of the Auto Scaling\n group. It represents the maximum percentage of the group that can be in service and\n healthy, or pending, to support your workload when replacing instances. Value range is\n 100 to 200. To clear a previously set value, specify a value of -1.

\n

Both MinHealthyPercentage and MaxHealthyPercentage must be\n specified, and the difference between them cannot be greater than 100. A large range\n increases the number of instances that can be replaced at the same time.

" } } }, @@ -6548,13 +6652,19 @@ "SpotMaxPricePercentageOverLowestPrice": { "target": "com.amazonaws.autoscaling#NullablePositiveInteger", "traits": { - "smithy.api#documentation": "

The price protection threshold for Spot Instances. This is the maximum you’ll pay for\n a Spot Instance, expressed as a percentage higher than the least expensive current\n generation M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling\n selects instance types with your attributes, we will exclude instance types whose price\n is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling\n interprets as a percentage. To turn off price protection, specify a high value, such as\n 999999.

\n

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

\n

Default: 100\n

" + "smithy.api#documentation": "

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

\n

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

\n

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

\n

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

\n \n

Only one of SpotMaxPricePercentageOverLowestPrice or\n MaxSpotPriceAsPercentageOfOptimalOnDemandPrice can be\n specified.

\n
\n

Default: 100\n

" + } + }, + "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

[Price protection] The price protection threshold for Spot Instances, as a percentage\n of 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\n attributes. If no current generation C, M, or R instance type matches your attributes,\n then the identified price is from either the lowest priced current generation instance\n types or, failing that, the lowest priced previous generation instance types that match\n your attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will\n exclude instance types whose price exceeds your specified threshold.

\n

The parameter accepts an integer, which Amazon EC2 Auto Scaling 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\n per-memory price instead of the per instance price.

\n \n

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

\n
" } }, "OnDemandMaxPricePercentageOverLowestPrice": { "target": "com.amazonaws.autoscaling#NullablePositiveInteger", "traits": { - "smithy.api#documentation": "

The price protection threshold for On-Demand Instances. This is the maximum you’ll pay\n for an On-Demand Instance, expressed as a percentage higher than the least expensive\n current generation M, C, or R instance type with your specified attributes. When\n Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types\n whose price is higher than your threshold. The parameter accepts an integer, which\n Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value,\n such as 999999.

\n

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

\n

Default: 20\n

" + "smithy.api#documentation": "

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

\n

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

\n

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

\n

If you set DesiredCapacityType 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

Default: 20\n

" } }, "BareMetal": { @@ -7798,7 +7908,7 @@ } }, "traits": { - "smithy.api#documentation": "

This structure defines the CloudWatch metric to return, along with the statistic, period,\n and unit.

\n

For more information about the CloudWatch terminology below, see Amazon CloudWatch\n concepts in the Amazon CloudWatch User Guide.

" + "smithy.api#documentation": "

This structure defines the CloudWatch metric to return, along with the statistic and\n unit.

\n

For more information about the CloudWatch terminology below, see Amazon CloudWatch\n concepts in the Amazon CloudWatch User Guide.

" } }, "com.amazonaws.autoscaling#MetricStatistic": { @@ -9929,6 +10039,15 @@ "AutoScalingGroupName": "my-auto-scaling-group", "ProtectedFromScaleIn": true } + }, + { + "title": "To disable instance protection for an instance", + "documentation": "This example disables instance protection for the specified instance.", + "input": { + "InstanceIds": ["i-93633f9b"], + "AutoScalingGroupName": "my-auto-scaling-group", + "ProtectedFromScaleIn": false + } } ] }