aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
81 lines (80 loc) • 2.32 kB
TypeScript
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;
}