UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

81 lines (80 loc) 2.32 kB
import type { Construct } from 'constructs'; import type { IAlarm } from './alarm-base'; import { AlarmBase } from './alarm-base'; import type { Duration } from '../../core'; /** * Properties for creating a PromQL Alarm. */ export interface PromQLAlarmProps { /** * Name of the alarm. * * @default - Automatically generated name */ readonly alarmName?: string; /** * Description for the alarm. * * @default - No description */ readonly alarmDescription?: string; /** * The duration that a contributor must continuously breach before the contributor transitions to ALARM state. * * @default - No pending period */ readonly pendingPeriod?: Duration; /** * The duration that a contributor must continuously not be breaching before it transitions back to the OK state. * * @default - No recovery period */ readonly recoveryPeriod?: Duration; /** * The PromQL query that the alarm evaluates. */ readonly query: string; /** * The frequency at which the alarm is evaluated. * * Must be between 10 seconds and 3600 seconds. */ readonly evaluationInterval: Duration; /** * Whether the actions for this alarm are enabled. * * @default true */ readonly actionsEnabled?: boolean; } /** * A CloudWatch Alarm based on a PromQL query expression. * @see https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/alarm-promql.html * @resource AWS::CloudWatch::Alarm */ export declare class PromQLAlarm extends AlarmBase { /** Uniquely identifies this class. */ static readonly PROPERTY_INJECTION_ID: string; /** * Import an existing CloudWatch alarm provided an ARN. */ static fromPromQLAlarmArn(scope: Construct, id: string, alarmArn: string): IAlarm; /** * Import an existing CloudWatch alarm provided a Name. */ static fromPromQLAlarmName(scope: Construct, id: string, alarmName: string): IAlarm; private readonly alarm; constructor(scope: Construct, id: string, props: PromQLAlarmProps); /** * ARN of this alarm. * * @attribute */ get alarmArn(): string; /** * Name of this alarm. * * @attribute */ get alarmName(): string; }