UNPKG

cdk-monitoring-constructs

Version:

[![NPM version](https://badge.fury.io/js/cdk-monitoring-constructs.svg)](https://badge.fury.io/js/cdk-monitoring-constructs) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.github.cdklabs/cdkmonitoringconstructs/badge.svg)](https://m

42 lines (41 loc) 2.1 kB
import { GraphWidget, HorizontalAnnotation, IWidget } from "aws-cdk-lib/aws-cloudwatch"; import { IFunction } from "aws-cdk-lib/aws-lambda"; import { SecretsManagerSecretMetricFactoryProps } from "./SecretsManagerSecretMetricFactory"; import { AlarmFactory, BaseMonitoringProps, DaysSinceUpdateThreshold, MetricWithAlarmSupport, Monitoring, MonitoringScope } from "../../common"; import { MonitoringHeaderWidget } from "../../dashboard"; export interface IPublisherConsumer { consume(lambdaFunction: IFunction): void; } export interface SecretsManagerSecretMonitoringOptions extends BaseMonitoringProps { readonly addDaysSinceLastChangeAlarm?: Record<string, DaysSinceUpdateThreshold>; readonly addDaysSinceLastRotationAlarm?: Record<string, DaysSinceUpdateThreshold>; /** * @default - true, if `addDaysSinceLastRotationAlarm` is set, otherwise `false`. */ readonly showLastRotationWidget?: boolean; /** * Provides access to the underlying metrics publisher Lambda function. * This may be useful if you want to monitor the function itself. */ readonly usePublisher?: IPublisherConsumer; } /** * Monitoring props for Secrets Manager secrets. */ export interface SecretsManagerSecretMonitoringProps extends SecretsManagerSecretMetricFactoryProps, SecretsManagerSecretMonitoringOptions { } export declare class SecretsManagerSecretMonitoring extends Monitoring { readonly title: string; readonly showLastRotationWidget: boolean; readonly alarmFactory: AlarmFactory; readonly daysSinceLastChangeMetric: MetricWithAlarmSupport; readonly daysSinceLastChangeAnnotations: HorizontalAnnotation[]; readonly daysSinceLastRotationMetric: MetricWithAlarmSupport; readonly daysSinceLastRotationAnnotations: HorizontalAnnotation[]; constructor(scope: MonitoringScope, props: SecretsManagerSecretMonitoringProps); createDaysSinceLastChangeWidget(): GraphWidget; createDaysSinceLastRotationWidget(): GraphWidget; createTitleWidget(): MonitoringHeaderWidget; widgets(): IWidget[]; summaryWidgets(): IWidget[]; }