# CfnAlarmProps

Properties for defining a `CfnAlarm`.

Extends: CfnAlarmProps
Used as props by: CfnAlarm

- Source: Generated code
- Type last changed: v2.9.0 · 26 Jan 2022

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_lightsail as lightsail } from 'aws-cdk-lib';
const cfnAlarmProps: lightsail.CfnAlarmProps = {
  alarmName: 'alarmName',
  comparisonOperator: 'comparisonOperator',
  evaluationPeriods: 123,
  metricName: 'metricName',
  monitoredResourceName: 'monitoredResourceName',
  threshold: 123,

  // the properties below are optional
  contactProtocols: ['contactProtocols'],
  datapointsToAlarm: 123,
  notificationEnabled: false,
  notificationTriggers: ['notificationTriggers'],
  treatMissingData: 'treatMissingData',
};
```

## Properties

- `alarmName`: string (required) — The name of the alarm.

- `comparisonOperator`: string (required) — The arithmetic operation to use when comparing the specified statistic and threshold.

- `contactProtocols`: string[] — The contact protocols for the alarm, such as `Email` , `SMS` (text messaging), or both.

  *Allowed Values* : `Email` | `SMS`

- `datapointsToAlarm`: number — The number of data points within the evaluation periods that must be breaching to cause the alarm to go to the `ALARM` state.

- `evaluationPeriods`: number (required) — The number of periods over which data is compared to the specified threshold.

- `metricName`: string (required) — The name of the metric associated with the alarm.

- `monitoredResourceName`: string (required) — The name of the Lightsail resource that the alarm monitors.

- `notificationEnabled`: boolean | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) — A Boolean value indicating whether the alarm is enabled.

- `notificationTriggers`: string[] — The alarm states that trigger a notification.

  > To specify the `OK` and `INSUFFICIENT_DATA` values, you must also specify `ContactProtocols` values. Otherwise, the `OK` and `INSUFFICIENT_DATA` values will not take effect and the stack will drift.

  *Allowed Values* : `OK` | `ALARM` | `INSUFFICIENT_DATA`

- `threshold`: number (required) — The value against which the specified statistic is compared.

- `treatMissingData`: string — Specifies how the alarm handles missing data points.

  An alarm can treat missing data in the following ways:

  - `breaching` - Assumes the missing data is not within the threshold. Missing data counts towards the number of times that the metric is not within the threshold.
  - `notBreaching` - Assumes the missing data is within the threshold. Missing data does not count towards the number of times that the metric is not within the threshold.
  - `ignore` - Ignores the missing data. Maintains the current alarm state.
  - `missing` - Missing data is treated as missing.
