# CfnAutoScalingInstanceRefreshPreferences

Preferences for the AutoScalingInstanceRefresh update policy.

- Source: [`core/lib/cfn-resource-policy.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/core/lib/cfn-resource-policy.ts#L329)
- Type last changed: v2.263.0 · 31 Jul 2026

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import * as cdk from 'aws-cdk-lib';
const cfnAutoScalingInstanceRefreshPreferences: cdk.CfnAutoScalingInstanceRefreshPreferences = {
  alarmSpecification: {
    alarms: ['alarms'],
  },
  bakeTime: 123,
  checkpointDelay: 123,
  checkpointPercentages: [123],
  instanceWarmup: 123,
  maxHealthyPercentage: 123,
  minHealthyPercentage: 123,
  scaleInProtectedInstances: 'scaleInProtectedInstances',
  skipMatching: false,
  standbyInstances: 'standbyInstances',
};
```

## Properties

- `alarmSpecification`: [CfnAutoScalingInstanceRefreshAlarmSpecification](/cdk/api/v2/docs/aws-cdk-lib.CfnAutoScalingInstanceRefreshAlarmSpecification.html) — The CloudWatch alarms to monitor during the instance refresh.

  If any alarm goes into
  ALARM state, the instance refresh fails.

- `bakeTime`: number = 0 — The number of seconds after an instance refresh completes successfully before CloudFormation considers the update successful.

- `checkpointDelay`: number — The number of seconds to wait after a checkpoint is reached before continuing.

  **Default:** 3600 seconds (1 hour), applied only when checkpointPercentages is set

- `checkpointPercentages`: number[] — Threshold values for each checkpoint in ascending order.

  **Default:** no checkpoints

  Each number is a percentage of
  the total number of instances in the group. When the percentage of instances that have
  been replaced reaches a checkpoint, the refresh waits for the configured checkpoint delay
  before continuing.

- `instanceWarmup`: number — The number of seconds to wait after a new instance enters the InService state before moving on to replacing the next instance.

  **Default:** the group's DefaultInstanceWarmup if defined; otherwise the group's HealthCheckGracePeriod

- `maxHealthyPercentage`: number — The maximum percentage of the group that can be in service and healthy, or pending, to support your workload during the instance refresh.

  **Default:** the value set in the Auto Scaling group's instance maintenance policy, if defined; otherwise 110 when the strategy is Rolling, or 100 when the strategy is ReplaceRootVolume

  Used to control batch size.

- `minHealthyPercentage`: number — The minimum percentage of the group to keep in service, healthy, and ready to use to support your workload during the instance refresh.

  **Default:** the value set in the Auto Scaling group's instance maintenance policy, if defined; otherwise 100 when the strategy is Rolling, or 90 when the strategy is ReplaceRootVolume

- `scaleInProtectedInstances`: string = 'Wait' — Specifies the behavior of instances that are protected from scale in during an instance refresh.

- `skipMatching`: boolean = true — Indicates whether skip matching is enabled.

  If true, instances that already match the
  desired configuration are not replaced.

- `standbyInstances`: string = 'Wait' — Specifies the behavior of instances in standby during an instance refresh.
