import * as docdb from 'aws-cdk-lib/aws-docdb'; import { Construct } from 'constructs'; import { IWatchful } from './watchful'; /** * Options for defining alarms. */ export interface WatchDocDbClusterOptions { /** * Threshold of database cpu utilization. * * @defaultValue 80 */ readonly cpuUtilizationThreshold?: number; /** * Minimum database freeable memory in bytes. * * @defaultValue 64000000 (64 Megabyte) */ readonly freeableMemoryThresholdInByte?: number; /** * Threshold of database swap usage * * @defaultValue 256000000 (256 Megabyte) */ readonly swapUsageThresholdInByte?: number; /** * Minimum database free local storage space * * @defaultValue 2000000000 (2 Gigabyte) */ readonly freeLocalStorageInByte?: number; } /** * Properties for defining a WatchDocDbCluster */ export interface WatchDocDbClusterProps extends WatchDocDbClusterOptions { /** * The reference to IWatchful class. Used internally. */ readonly watchful: IWatchful; /** * The DocDB cluster that should be watched. * [disable-awslint:ref-via-interface] */ readonly docDb: docdb.DatabaseCluster; } /** * A Construct which creates the following alarms for DocumentDb clusters: * * - freeable memory * - swap usage * - free local storage */ export declare class WatchDocDbCluster extends Construct { private readonly watchful; private readonly docDb; constructor(scope: Construct, id: string, props: WatchDocDbClusterProps); private createCpuUtilizationTooHighAlarm; private createFreeableMemoryTooLowAlarm; private createSwapUsageTooHighAlarm; private createFreeLocalStorageTooLowAlarm; }