UNPKG

1.98 kBTypeScriptView Raw
1import { Construct } from 'constructs';
2import { AlarmBase, IAlarm, IAlarmRule } from './alarm-base';
3/**
4 * Properties for creating a Composite Alarm
5 */
6export interface CompositeAlarmProps {
7 /**
8 * Whether the actions for this alarm are enabled
9 *
10 * @default true
11 */
12 readonly actionsEnabled?: boolean;
13 /**
14 * Description for the alarm
15 *
16 * @default No description
17 */
18 readonly alarmDescription?: string;
19 /**
20 * Name of the alarm
21 *
22 * @default Automatically generated name
23 */
24 readonly compositeAlarmName?: string;
25 /**
26 * Expression that specifies which other alarms are to be evaluated to determine this composite alarm's state.
27 */
28 readonly alarmRule: IAlarmRule;
29}
30/**
31 * A Composite Alarm based on Alarm Rule.
32 */
33export declare class CompositeAlarm extends AlarmBase {
34 /**
35 * Import an existing CloudWatch composite alarm provided an Name.
36 *
37 * @param scope The parent creating construct (usually `this`)
38 * @param id The construct's name
39 * @param compositeAlarmName Composite Alarm Name
40 */
41 static fromCompositeAlarmName(scope: Construct, id: string, compositeAlarmName: string): IAlarm;
42 /**
43 * Import an existing CloudWatch composite alarm provided an ARN.
44 *
45 * @param scope The parent creating construct (usually `this`)
46 * @param id The construct's name
47 * @param compositeAlarmArn Composite Alarm ARN (i.e. arn:aws:cloudwatch:<region>:<account-id>:alarm/CompositeAlarmName)
48 */
49 static fromCompositeAlarmArn(scope: Construct, id: string, compositeAlarmArn: string): IAlarm;
50 /**
51 * ARN of this alarm
52 *
53 * @attribute
54 */
55 readonly alarmArn: string;
56 /**
57 * Name of this alarm.
58 *
59 * @attribute
60 */
61 readonly alarmName: string;
62 private readonly alarmRule;
63 constructor(scope: Construct, id: string, props: CompositeAlarmProps);
64 private generateUniqueId;
65}