import * as rds from 'aws-cdk-lib/aws-rds'; import { Construct } from 'constructs'; import { IWatchful } from './watchful'; /** * Options for defining alarms. */ export interface WatchDatabaseClusterOptions { /** * Max CPU utilization threshold in percent * * @defaultValue 80 */ readonly cpuUtilizationThreshold?: number; /** * Max freeable memory threshold in Byte * * @defaultValue 64000000 */ readonly freeableMemoryThreshold?: number; } /** * Properties for defining a WatchDatabaseCluster */ export interface WatchDatabaseClusterProps extends WatchDatabaseClusterOptions { /** * The reference to IWatchful class. Used internally. */ readonly watchful: IWatchful; /** * The database cluster that should be watched. * [disable-awslint:ref-via-interface] */ readonly databaseCluster: rds.DatabaseCluster; } /** * A Construct which creates the following alarms for database clusters: * * - cpu utilization * - freeable memory */ export declare class WatchDatabaseCluster extends Construct { private readonly watchful; private readonly rdsCluster; constructor(scope: Construct, id: string, props: WatchDatabaseClusterProps); private createCPUUtilizationMonitor; private createFreeableMemoryMonitor; }