@renovosolutions/cdk-library-cloudwatch-alarms
Version:
AWS CDK Construct Library to automatically create CloudWatch Alarms for resources in a CDK app based on resource type.
770 lines (769 loc) • 28.7 kB
TypeScript
import { IAspect, aws_dms as dms, aws_cloudwatch as cloudwatch, Duration } from 'aws-cdk-lib';
import { Construct, IConstruct } from 'constructs';
import { AlarmBaseProps } from './common';
/**
* DMS Replication Task migration types.
*
* These are the valid migration types for AWS DMS Replication Tasks.
*/
export declare enum DmsReplicationTaskMigrationType {
/**
* Full load migration - copies all existing data from the source to the target.
*/
FULL_LOAD = "full-load",
/**
* Change Data Capture (CDC) migration - captures ongoing changes from the source.
*/
CDC = "cdc",
/**
* Full load and CDC migration - performs initial full load then captures ongoing changes.
*/
FULL_LOAD_AND_CDC = "full-load-and-cdc"
}
/**
* The recommended metrics for DMS Replication Instance alarms.
*/
export declare enum DmsReplicationInstanceRecommendedAlarmsMetrics {
/**
* The percentage of allocated vCPU (virtual CPU) currently in use on the instance.
*/
CPU_UTILIZATION = "CPUUtilization",
/**
* The amount in bytes of available random access memory.
*/
FREEABLE_MEMORY = "FreeableMemory",
/**
* The amount in bytes of available storage space.
*/
FREE_STORAGE_SPACE = "FreeStorageSpace",
/**
* The average number of disk write I/O operations per second.
*/
WRITE_IOPS = "WriteIOPS",
/**
* The amount in bytes of swap space used on the replication instance.
*/
SWAP_USAGE = "SwapUsage"
}
/**
* The recommended metrics for DMS Replication Task alarms.
*/
export declare enum DmsReplicationTaskRecommendedAlarmsMetrics {
/**
* The gap, in seconds, between the last event captured from the source endpoint and current system time.
*/
CDC_LATENCY_SOURCE = "CDCLatencySource",
/**
* The gap, in seconds, between a change that was committed to the source and the same change committed to the target.
*/
CDC_LATENCY_TARGET = "CDCLatencyTarget"
}
/**
* The common optional configuration for the alarms.
*/
export interface DmsAlarmBaseConfig extends AlarmBaseProps {
/**
* The period over which the specified statistic is applied.
*
* Different alarm types may have different optimal default periods:
* - Regular alarms: 1 minute (for responsive monitoring)
* - Anomaly detection alarms: 5 minutes (for stable ML model training)
* - CDC/throughput alarms: 5 minutes (for trend analysis)
*
* @default Duration.minutes(1) for regular alarms, Duration.minutes(5) for anomaly detection and throughput alarms
*/
readonly period?: Duration;
}
/**
* The common optional configuration for anomaly detection alarms.
*
* Anomaly detection alarms have a fixed period of 5 minutes as required by AWS CloudWatch,
* so the period property is not configurable.
*/
export interface DmsAnomalyDetectionAlarmBaseConfig extends AlarmBaseProps {
/**
* The width of the anomaly detection band, expressed as a number of standard deviations from the metric's mean.
*
* @default 8 (standard deviation for anomaly detection)
*/
readonly stdDevs?: number;
}
/**
* The common properties for the DMS Replication Instance alarms.
*/
export interface DmsReplicationInstanceAlarmProps {
/**
* The DMS Replication Instance to monitor.
*/
readonly replicationInstance: dms.CfnReplicationInstance;
}
/**
* The common properties for the DMS Replication Task alarms.
*/
export interface DmsReplicationTaskAlarmProps {
/**
* The DMS Replication Task to monitor.
*/
readonly replicationTask: ReplicationTask;
}
/**
* Configuration for the CpuUtilization alarm.
*/
export interface DmsCpuUtilizationAlarmConfig extends DmsAlarmBaseConfig {
/**
* The percentage (0-100) value against which the specified statistic is compared.
* The service metrics for CPU utilization might exceed 100% utilization. However,
* we recommend that you monitor the metric for high CPU utilization to avoid impacting
* other services.
*
* @default 90
*/
readonly threshold?: number;
/**
* The number of periods over which data is compared to the specified threshold.
*
* @default 5
*/
readonly evaluationPeriods?: number;
/**
* The number of data points that must be breaching to trigger the alarm.
*
* @default 5
*/
readonly datapointsToAlarm?: number;
/**
* The alarm name.
*
* @default - replicationInstanceIdentifier + ' - CPUUtilization'
*/
readonly alarmName?: string;
/**
* The description of the alarm.
*
* @default - This alarm is used to detect high CPU utilization for the DMS Replication
* Instance. Consistent high CPU utilization can indicate a resource bottleneck or application
* performance problems.
*/
readonly alarmDescription?: string;
}
/**
* The properties for the DmsReplicationInstanceCpuUtilizationAlarm construct.
*/
export interface DmsReplicationInstanceCpuUtilizationAlarmProps extends DmsReplicationInstanceAlarmProps, DmsCpuUtilizationAlarmConfig {
}
/**
* This alarm is used to detect high CPU utilization for the DMS Replication Instance.
*
* Consistent high CPU utilization can indicate a resource bottleneck or application
* performance problems.
*
* The alarm is triggered when CPU utilization exceeds % threshold.
*/
export declare class DmsReplicationInstanceCpuUtilizationAlarm extends cloudwatch.Alarm {
constructor(scope: IConstruct, id: string, props: DmsReplicationInstanceCpuUtilizationAlarmProps);
}
/**
* Configuration for the FreeableMemory alarm.
*/
export interface DmsFreeableMemoryAlarmConfig extends DmsAlarmBaseConfig {
/**
* The amount in bytes against which the specified statistic is compared.
* Depending on the workload and instance class, different values for the threshold
* can be appropriate. Ideally, available memory should not go below 25% of total
* memory for prolonged periods.
*/
readonly threshold: number;
/**
* The number of periods over which data is compared to the specified threshold.
*
* @default 5
*/
readonly evaluationPeriods?: number;
/**
* The number of data points that must be breaching to trigger the alarm.
*
* @default 5
*/
readonly datapointsToAlarm?: number;
/**
* The alarm name.
*
* @default - replicationInstanceIdentifier + ' - FreeableMemory'
*/
readonly alarmName?: string;
/**
* The description of the alarm.
*
* @default - This alarm is used to help prevent running out of memory.
*/
readonly alarmDescription?: string;
}
/**
* The properties for the DmsReplicationInstanceFreeableMemoryAlarm construct.
*/
export interface DmsReplicationInstanceFreeableMemoryAlarmProps extends DmsReplicationInstanceAlarmProps, DmsFreeableMemoryAlarmConfig {
}
/**
* An alarm that monitors the amount of available memory (RAM) on the replication instance.
*
* This alarm is used to help prevent running out of memory.
*
* The alarm is triggered when the percentage of available memory is less than threshold.
*/
export declare class DmsReplicationInstanceFreeableMemoryAlarm extends cloudwatch.Alarm {
constructor(scope: Construct, id: string, props: DmsReplicationInstanceFreeableMemoryAlarmProps);
}
/**
* Configuration for the FreeStorageSpace alarm.
*/
export interface DmsFreeStorageSpaceAlarmConfig extends DmsAlarmBaseConfig {
/**
* The amount in bytes value against which the specified statistic is compared.
* The threshold value will depend on the currently allocated storage space. Typically,
* you should calculate the value of 10 percent of the allocated storage space and use
* that result as the threshold value.
*/
readonly threshold: number;
/**
* The number of periods over which data is compared to the specified threshold.
*
* @default 5
*/
readonly evaluationPeriods?: number;
/**
* The number of data points that must be breaching to trigger the alarm.
*
* @default 5
*/
readonly datapointsToAlarm?: number;
/**
* The alarm name.
*
* @default - replicationInstanceIdentifier + ' - FreeStorageSpace'
*/
readonly alarmName?: string;
/**
* The description of the alarm.
*
* @default - This alarm helps prevent storage full issues. This can prevent downtime
* that occurs when your replication instance runs out of storage.
*/
readonly alarmDescription?: string;
}
/**
* The properties for the DmsReplicationInstanceFreeStorageSpaceAlarm construct.
*/
export interface DmsReplicationInstanceFreeStorageSpaceAlarmProps extends DmsReplicationInstanceAlarmProps, DmsFreeStorageSpaceAlarmConfig {
}
/**
* An alarm that monitors the amount of available storage space for a DMS Replication Instance.
*
* This alarm helps prevent storage full issues. This can prevent downtime that occurs when your replication
* instance runs out of storage.
*
* The alarm is triggered when the amount of available storage space (bytes) is less than threshold.
*/
export declare class DmsReplicationInstanceFreeStorageSpaceAlarm extends cloudwatch.Alarm {
constructor(scope: IConstruct, id: string, props: DmsReplicationInstanceFreeStorageSpaceAlarmProps);
}
/**
* Configuration for the WriteIops alarm.
*/
export interface DmsWriteIopsAlarmConfig extends DmsAlarmBaseConfig {
/**
* The number of write I/O operations per second against which the specified statistic is compared.
* High write IOPS can indicate heavy write activity or potential performance bottlenecks.
* Consider your normal workload patterns when setting this threshold.
*
* @default 1000
*/
readonly threshold?: number;
/**
* The number of periods over which data is compared to the specified threshold.
*
* @default 5
*/
readonly evaluationPeriods?: number;
/**
* The number of data points that must be breaching to trigger the alarm.
*
* @default 5
*/
readonly datapointsToAlarm?: number;
/**
* The alarm name.
*
* @default - replicationInstanceIdentifier + ' - WriteIOPS'
*/
readonly alarmName?: string;
/**
* The description of the alarm.
*
* @default - This alarm is used to detect high write IOPS for the DMS Replication
* Instance. High write IOPS can indicate heavy write activity or potential I/O bottlenecks.
*/
readonly alarmDescription?: string;
}
/**
* The properties for the DmsReplicationInstanceWriteIopsAlarm construct.
*/
export interface DmsReplicationInstanceWriteIopsAlarmProps extends DmsReplicationInstanceAlarmProps, DmsWriteIopsAlarmConfig {
}
/**
* This alarm is used to detect high write IOPS for the DMS Replication Instance.
*
* High write IOPS can indicate heavy write activity or potential I/O bottlenecks.
* This can help identify performance issues or unexpected workload patterns.
*
* The alarm is triggered when write IOPS exceeds the specified threshold.
*/
export declare class DmsReplicationInstanceWriteIopsAlarm extends cloudwatch.Alarm {
constructor(scope: IConstruct, id: string, props: DmsReplicationInstanceWriteIopsAlarmProps);
}
/**
* Configuration for the SwapUsage alarm.
*/
export interface DmsSwapUsageAlarmConfig extends DmsAnomalyDetectionAlarmBaseConfig {
/**
* The number of periods over which data is compared to the specified threshold.
*
* @default 3 (to avoid false alarms from temporary fluctuations)
*/
readonly evaluationPeriods?: number;
/**
* The number of data points that must be breaching to trigger the alarm.
*
* @default 2 (allow for some variance while still detecting issues)
*/
readonly datapointsToAlarm?: number;
/**
* The comparison operator to use for the alarm.
*
* @default GREATER_THAN_UPPER_THRESHOLD (for detecting high swap usage indicating memory pressure)
*/
readonly comparisonOperator?: cloudwatch.ComparisonOperator;
/**
* The alarm name.
*
* @default - replicationInstanceIdentifier + ' - SwapUsage'
*/
readonly alarmName?: string;
/**
* The description of the alarm.
*
* @default - This alarm is used to detect high swap usage for the DMS Replication Instance.
* High swap usage can indicate memory pressure or performance issues.
*/
readonly alarmDescription?: string;
}
/**
* The properties for the DmsReplicationInstanceSwapUsageAlarm construct.
*/
export interface DmsReplicationInstanceSwapUsageAlarmProps extends DmsReplicationInstanceAlarmProps, DmsSwapUsageAlarmConfig {
}
/**
* This anomaly detection alarm is used to detect high swap usage for the DMS Replication Instance.
*
* High swap usage can indicate memory pressure, performance issues, or resource constraints.
* This alarm uses anomaly detection to identify when swap usage exceeds normal patterns,
* which can help identify performance degradation or insufficient memory allocation.
*
* By default, the alarm is triggered when swap usage exceeds the upper threshold
* of the anomaly detection band, detecting unusually high swap usage that may
* indicate memory pressure or performance issues.
*
* Note: Anomaly detection alarms use a fixed 5-minute period as required by AWS CloudWatch.
* This period cannot be customized and is optimal for anomaly detection algorithms.
*/
export declare class DmsReplicationInstanceSwapUsageAlarm extends cloudwatch.AnomalyDetectionAlarm {
constructor(scope: IConstruct, id: string, props: DmsReplicationInstanceSwapUsageAlarmProps);
}
/**
* Configuration for the CdcLatencySource alarm.
*/
export interface DmsCdcLatencySourceAlarmConfig extends DmsAlarmBaseConfig {
/**
* The latency threshold in seconds. This alarm can be used to detect:
* - High latency indicating replication lag or source database performance issues
* - Potential data freshness problems affecting real-time applications
*
* Consider your application's tolerance for data lag when setting this threshold.
*
* @default 300 (5 minutes - for detecting high latency issues)
*/
readonly threshold?: number;
/**
* The number of periods over which data is compared to the specified threshold.
*
* @default 3 (to avoid false alarms from temporary fluctuations)
*/
readonly evaluationPeriods?: number;
/**
* The number of data points that must be breaching to trigger the alarm.
*
* @default 2 (allow for some variance while still detecting issues)
*/
readonly datapointsToAlarm?: number;
/**
* The comparison operator to use for the alarm.
*
* @default GREATER_THAN_THRESHOLD (for detecting high latency issues)
*/
readonly comparisonOperator?: cloudwatch.ComparisonOperator;
/**
* The alarm name.
*
* @default - replicationTaskIdentifier + ' - CDCLatencySource'
*/
readonly alarmName?: string;
/**
* The description of the alarm.
*
* @default - This alarm monitors CDC latency from the source database.
* High values may indicate replication lag or source database performance issues.
* This can affect data freshness in real-time applications.
*/
readonly alarmDescription?: string;
}
/**
* The properties for the DmsReplicationTaskCdcLatencySourceAlarm construct.
*/
export interface DmsReplicationTaskCdcLatencySourceAlarmProps extends DmsReplicationTaskAlarmProps, DmsCdcLatencySourceAlarmConfig {
}
/**
* An alarm that monitors the CDC latency (in seconds) from the source database.
*
* This alarm monitors the gap between the last event captured from the source endpoint
* and current system time. It can help detect:
* - Replication lag indicating source database performance issues
* - Network connectivity problems affecting CDC capture
* - Source database load affecting change capture performance
* - Data freshness issues that could impact real-time applications
*
* The alarm is typically configured to trigger on high latency values.
*/
export declare class DmsReplicationTaskCdcLatencySourceAlarm extends cloudwatch.Alarm {
constructor(scope: IConstruct, id: string, props: DmsReplicationTaskCdcLatencySourceAlarmProps);
}
/**
* Configuration for the CdcLatencyTarget alarm.
*/
export interface DmsCdcLatencyTargetAlarmConfig extends DmsAlarmBaseConfig {
/**
* The latency threshold in seconds. This alarm can be used to detect:
* - High latency indicating target database performance issues or replication lag
* - Potential data consistency problems affecting downstream applications
*
* Consider your application's tolerance for data lag when setting this threshold.
*
* @default 300 (5 minutes - for detecting high latency issues)
*/
readonly threshold?: number;
/**
* The number of periods over which data is compared to the specified threshold.
*
* @default 3 (to avoid false alarms from temporary fluctuations)
*/
readonly evaluationPeriods?: number;
/**
* The number of data points that must be breaching to trigger the alarm.
*
* @default 2 (allow for some variance while still detecting issues)
*/
readonly datapointsToAlarm?: number;
/**
* The comparison operator to use for the alarm.
*
* @default GREATER_THAN_THRESHOLD (for detecting high latency issues)
*/
readonly comparisonOperator?: cloudwatch.ComparisonOperator;
/**
* The alarm name.
*
* @default - replicationTaskIdentifier + ' - CDCLatencyTarget'
*/
readonly alarmName?: string;
/**
* The description of the alarm.
*
* @default - This alarm monitors CDC latency to the target database.
* High values may indicate replication lag or target database performance issues.
* This can affect data consistency in downstream applications.
*/
readonly alarmDescription?: string;
}
/**
* The properties for the DmsReplicationTaskCdcLatencyTargetAlarm construct.
*/
export interface DmsReplicationTaskCdcLatencyTargetAlarmProps extends DmsReplicationTaskAlarmProps, DmsCdcLatencyTargetAlarmConfig {
}
/**
* An alarm that monitors the CDC latency (in seconds) to the target database.
*
* This alarm monitors the gap between a change that was committed to the source
* and the same change committed to the target. It can help detect:
* - End-to-end replication latency affecting data consistency
* - Target database performance issues affecting write operations
* - Network connectivity problems between replication instance and target
* - Data consistency issues that could impact downstream applications
*
* The alarm is typically configured to trigger on high latency values.
*/
export declare class DmsReplicationTaskCdcLatencyTargetAlarm extends cloudwatch.Alarm {
constructor(scope: IConstruct, id: string, props: DmsReplicationTaskCdcLatencyTargetAlarmProps);
}
/**
* Configurations for the recommended alarms for a DMS Replication Instance.
*
* Default actions are overridden by the actions specified in the
* individual alarm configurations.
*/
export interface DmsReplicationInstanceRecommendedAlarmsConfig {
/**
* The default action to take when an alarm is triggered.
*
* @default - None
*/
readonly defaultAlarmAction?: cloudwatch.IAlarmAction;
/**
* The default action to take when an alarm enters the ok state.
*
* @default - None
*/
readonly defaultOkAction?: cloudwatch.IAlarmAction;
/**
* The default action to take when an alarm has insufficient data.
*
* @default - None
*/
readonly defaultInsufficientDataAction?: cloudwatch.IAlarmAction;
/**
* How to handle missing data for this alarm.
*
* @default TreatMissingData.MISSING
*/
readonly treatMissingData?: cloudwatch.TreatMissingData;
/**
* Alarm metrics to exclude from the recommended alarms.
*
* @default - None
*/
readonly excludeAlarms?: DmsReplicationInstanceRecommendedAlarmsMetrics[];
/**
* The resources to exclude from the recommended alarms.
*
* Use a resources id to exclude a specific resource.
*/
readonly excludeResources?: string[];
/**
* The configuration for the CpuUtilization alarm.
*/
readonly configCpuUtilizationAlarm?: DmsCpuUtilizationAlarmConfig;
/**
* The configuration for the FreeableMemory alarm.
*/
readonly configFreeableMemoryAlarm: DmsFreeableMemoryAlarmConfig;
/**
* The configuration for the FreeStorageSpace alarm.
*/
readonly configFreeStorageSpaceAlarm: DmsFreeStorageSpaceAlarmConfig;
/**
* The configuration for the WriteIops alarm.
*/
readonly configWriteIopsAlarm?: DmsWriteIopsAlarmConfig;
/**
* The configuration for the SwapUsage alarm.
*/
readonly configSwapUsageAlarm?: DmsSwapUsageAlarmConfig;
}
/**
* Properties for the DmsReplicationInstanceRecommendedAlarms construct.
*/
export interface DmsReplicationInstanceRecommendedAlarmsProps extends DmsReplicationInstanceRecommendedAlarmsConfig {
/**
* The DMS Replication Instance to monitor.
*/
readonly replicationInstance: dms.CfnReplicationInstance;
}
/**
* A construct that creates the recommended alarms for a DMS Replication Instance.
*/
export declare class DmsReplicationInstanceRecommendedAlarms extends Construct {
/**
* The CpuUtilization alarm.
*/
readonly alarmCpuUtilization?: DmsReplicationInstanceCpuUtilizationAlarm;
/**
* The FreeableMemory alarm.
*/
readonly alarmFreeableMemory?: DmsReplicationInstanceFreeableMemoryAlarm;
/**
* The FreeStorageSpace alarm.
*/
readonly alarmFreeStorageSpace?: DmsReplicationInstanceFreeStorageSpaceAlarm;
/**
* The WriteIops alarm.
*/
readonly alarmWriteIops?: DmsReplicationInstanceWriteIopsAlarm;
/**
* The SwapUsage alarm.
*/
readonly alarmSwapUsage?: DmsReplicationInstanceSwapUsageAlarm;
constructor(scope: Construct, id: string, props: DmsReplicationInstanceRecommendedAlarmsProps);
}
/**
* Configurations for the recommended alarms for a DMS Replication Task.
*
* Default actions are overridden by the actions specified in the
* individual alarm configurations.
*/
export interface DmsReplicationTaskRecommendedAlarmsConfig {
/**
* The default action to take when an alarm is triggered.
*
* @default - None
*/
readonly defaultAlarmAction?: cloudwatch.IAlarmAction;
/**
* The default action to take when an alarm enters the ok state.
*
* @default - None
*/
readonly defaultOkAction?: cloudwatch.IAlarmAction;
/**
* The default action to take when an alarm has insufficient data.
*
* @default - None
*/
readonly defaultInsufficientDataAction?: cloudwatch.IAlarmAction;
/**
* How to handle missing data for this alarm.
*
* @default TreatMissingData.MISSING
*/
readonly treatMissingData?: cloudwatch.TreatMissingData;
/**
* Alarm metrics to exclude from the recommended alarms.
*
* @default - None
*/
readonly excludeAlarms?: DmsReplicationTaskRecommendedAlarmsMetrics[];
/**
* The resources to exclude from the recommended alarms.
*
* Use a resources id to exclude a specific resource.
*/
readonly excludeResources?: string[];
/**
* The configuration for the CDCLatencySource alarm.
*/
readonly configCdcLatencySourceAlarm?: DmsCdcLatencySourceAlarmConfig;
/**
* The configuration for the CDCLatencyTarget alarm.
*/
readonly configCdcLatencyTargetAlarm?: DmsCdcLatencyTargetAlarmConfig;
}
/**
* Properties for the DmsReplicationTaskRecommendedAlarms construct.
*/
export interface DmsReplicationTaskRecommendedAlarmsProps extends DmsReplicationTaskRecommendedAlarmsConfig {
/**
* The DMS Replication Task to monitor.
*/
readonly replicationTask: ReplicationTask;
}
/**
* A construct that creates the recommended alarms for a DMS Replication Task.
*/
export declare class DmsReplicationTaskRecommendedAlarms extends Construct {
/**
* The CDCLatencySource alarm.
*/
readonly alarmCdcLatencySource?: DmsReplicationTaskCdcLatencySourceAlarm;
/**
* The CDCLatencyTarget alarm.
*/
readonly alarmCdcLatencyTarget?: DmsReplicationTaskCdcLatencyTargetAlarm;
constructor(scope: Construct, id: string, props: DmsReplicationTaskRecommendedAlarmsProps);
}
export interface ReplicationTaskProps extends dms.CfnReplicationTaskProps {
/**
* The identifier of the replication instance.
*/
readonly replicationInstanceIdentifier: string;
}
/**
* An extension for the CfnReplicationTask construct that provides methods
* to create recommended alarms.
*/
export declare class ReplicationTask extends dms.CfnReplicationTask {
readonly replicationInstanceIdentifier: string;
constructor(scope: Construct, id: string, props: ReplicationTaskProps);
/**
* Creates an alarm that monitors the CDC latency from the source for the Replication Task.
*/
alarmCdcLatencySource(props?: DmsCdcLatencySourceAlarmConfig): DmsReplicationTaskCdcLatencySourceAlarm;
/**
* Creates an alarm that monitors the CDC latency to the target for the Replication Task.
*/
alarmCdcLatencyTarget(props?: DmsCdcLatencyTargetAlarmConfig): DmsReplicationTaskCdcLatencyTargetAlarm;
/**
* Creates the recommended alarms for the DMS Replication Task.
*
* @see https://aws.amazon.com/blogs/database/setting-up-amazon-cloudwatch-alarms-for-aws-dms-resources-using-the-aws-cli/
*/
applyRecommendedAlarms(props?: DmsReplicationTaskRecommendedAlarmsConfig): DmsReplicationTaskRecommendedAlarms;
}
/**
* Configures the recommended alarms for a DMS Replication Task.
*
* @see https://aws.amazon.com/blogs/database/setting-up-amazon-cloudwatch-alarms-for-aws-dms-resources-using-the-aws-cli/
*/
export declare class DmsReplicationTaskRecommendedAlarmsAspect implements IAspect {
private readonly props?;
constructor(props?: DmsReplicationTaskRecommendedAlarmsConfig | undefined);
visit(node: IConstruct): void;
}
/**
* An extension for the CfnReplicationInstance construct that provides methods
* to create recommended alarms.
*/
export declare class ReplicationInstance extends dms.CfnReplicationInstance {
constructor(scope: Construct, id: string, props: dms.CfnReplicationInstanceProps);
/**
* Creates an alarm that monitors the CPU utilization for the Replication Instance.
*/
alarmCpuUtilization(props?: DmsCpuUtilizationAlarmConfig): DmsReplicationInstanceCpuUtilizationAlarm;
/**
* Creates an alarm that monitors the FreeableMemory for the Replication Instance.
*/
alarmFreeableMemory(props: DmsFreeableMemoryAlarmConfig): DmsReplicationInstanceFreeableMemoryAlarm;
/**
* Creates an alarm that monitors the Free Storage Space for the Replication Instance.
*/
alarmFreeStorageSpace(props: DmsFreeStorageSpaceAlarmConfig): DmsReplicationInstanceFreeStorageSpaceAlarm;
/**
* Creates an alarm that monitors the Write IOPS for the Replication Instance.
*/
alarmWriteIops(props?: DmsWriteIopsAlarmConfig): DmsReplicationInstanceWriteIopsAlarm;
/**
* Creates an alarm that monitors the Swap Usage for the Replication Instance.
*/
alarmSwapUsage(props?: DmsSwapUsageAlarmConfig): DmsReplicationInstanceSwapUsageAlarm;
/**
* Creates the recommended alarms for the DMS Replication Instance.
*
* @see https://aws.amazon.com/blogs/database/setting-up-amazon-cloudwatch-alarms-for-aws-dms-resources-using-the-aws-cli/
*/
applyRecommendedAlarms(props: DmsReplicationInstanceRecommendedAlarmsConfig): DmsReplicationInstanceRecommendedAlarms;
}
/**
* Configures the recommended alarms for a DMS Replication Instance.
*
* @see https://aws.amazon.com/blogs/database/setting-up-amazon-cloudwatch-alarms-for-aws-dms-resources-using-the-aws-cli/
*/
export declare class DmsReplicationInstanceRecommendedAlarmsAspect implements IAspect {
private readonly props;
constructor(props: DmsReplicationInstanceRecommendedAlarmsConfig);
visit(node: IConstruct): void;
}