import { Construct } from './construct.js'; import { Diagnostics } from './diagnostics.js'; import { StatusPageV3, StatusPageV3Ref } from './status-page-v3.js'; import { StatusPageV3Component, StatusPageV3ComponentRef } from './status-page-v3-component.js'; /** * The impact an automated incident sets on a component. Every non-operational * component status. */ export type StatusPageV3TargetImpact = 'UNDER_MAINTENANCE' | 'DEGRADED_PERFORMANCE' | 'PARTIAL_OUTAGE' | 'MAJOR_OUTAGE'; export interface StatusPageV3AutomationRuleComponentProps { /** * The component the automated incident impacts. */ component: StatusPageV3Component | StatusPageV3ComponentRef; /** * The impact set on the component while the incident is open. */ targetImpact: StatusPageV3TargetImpact; } export interface StatusPageV3AutomationRuleProps { /** * The v3 status page this rule belongs to. */ statusPage: StatusPageV3 | StatusPageV3Ref; /** * The name of the rule. */ name: string; /** * A disabled rule never opens incidents. Defaults to true. */ enabled?: boolean; /** * Body of the status update that opens the incident. */ firstUpdate: string; /** * Body of the status update that resolves the incident. */ lastUpdate: string; /** * Whether subscribers are notified of the automated updates. Defaults to true. */ notifySubscribers?: boolean; /** * A failing check matches this rule when it, or its group, carries ANY of * these tags. At least one tag is required. */ tags: string[]; /** * Minimum minutes after an automated incident before this rule may open * the next one. 0 disables the cool down. Defaults to 5. */ coolDownMinutes?: number; /** * The components an automated incident impacts, with the impact each gets. */ components: StatusPageV3AutomationRuleComponentProps[]; } /** * Creates an Automation Rule for a v3 Status Page. * * When a check whose tags overlap with the rule's tags fails, Checkly opens * one incident on the page impacting the listed components, and resolves it * when the check recovers. */ export declare class StatusPageV3AutomationRule extends Construct { statusPage: StatusPageV3 | StatusPageV3Ref; name: string; enabled?: boolean; firstUpdate: string; lastUpdate: string; notifySubscribers?: boolean; tags: string[]; coolDownMinutes?: number; components: StatusPageV3AutomationRuleComponentProps[]; static readonly __checklyType = "status-page-automation-rule"; /** * Constructs the Automation Rule instance * * @param logicalId unique project-scoped resource name identification * @param props automation rule configuration properties * * {@link https://www.checklyhq.com/docs/constructs/status-page-v3-automation-rule/ Read more in the docs} */ constructor(logicalId: string, props: StatusPageV3AutomationRuleProps); describe(): string; validate(diagnostics: Diagnostics): Promise; synthesize(): any | null; }