Class Alarm
- All Implemented Interfaces:
IResource
,IAlarm
,IAlarmRule
,software.amazon.jsii.JsiiSerializable
,software.constructs.IConstruct
,software.constructs.IDependable
- Direct Known Subclasses:
AnomalyDetectionAlarm
Example:
import software.amazon.awscdk.services.cloudwatch.*; Alias alias; // or add alarms to an existing group Alias blueGreenAlias; Alarm alarm = Alarm.Builder.create(this, "Errors") .comparisonOperator(ComparisonOperator.GREATER_THAN_THRESHOLD) .threshold(1) .evaluationPeriods(1) .metric(alias.metricErrors()) .build(); LambdaDeploymentGroup deploymentGroup = LambdaDeploymentGroup.Builder.create(this, "BlueGreenDeployment") .alias(alias) .deploymentConfig(LambdaDeploymentConfig.LINEAR_10PERCENT_EVERY_1MINUTE) .alarms(List.of(alarm)) .build(); deploymentGroup.addAlarm(Alarm.Builder.create(this, "BlueGreenErrors") .comparisonOperator(ComparisonOperator.GREATER_THAN_THRESHOLD) .threshold(1) .evaluationPeriods(1) .metric(blueGreenAlias.metricErrors()) .build());
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationMode
Nested classes/interfaces inherited from interface software.amazon.awscdk.services.cloudwatch.IAlarm
IAlarm.Jsii$Default
Nested classes/interfaces inherited from interface software.constructs.IConstruct
software.constructs.IConstruct.Jsii$Default
Nested classes/interfaces inherited from interface software.amazon.awscdk.IResource
IResource.Jsii$Default
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
Alarm
(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) protected
Alarm
(software.amazon.jsii.JsiiObjectRef objRef) Alarm
(software.constructs.Construct scope, String id, AlarmProps props) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addAlarmAction
(IAlarmAction... actions) Trigger this action if the alarm fires.static IAlarm
fromAlarmArn
(software.constructs.Construct scope, String id, String alarmArn) Import an existing CloudWatch alarm provided an ARN.static IAlarm
fromAlarmName
(software.constructs.Construct scope, String id, String alarmName) Import an existing CloudWatch alarm provided an Name.ARN of this alarm.Name of this alarm.The metric object this alarm was based on.Turn this alarm into a horizontal annotation.Methods inherited from class software.amazon.awscdk.services.cloudwatch.AlarmBase
addInsufficientDataAction, addOkAction, getAlarmActionArns, getInsufficientDataActionArns, getOkActionArns, renderAlarmRule, setAlarmActionArns, setInsufficientDataActionArns, setOkActionArns
Methods inherited from class software.amazon.awscdk.Resource
applyRemovalPolicy, generatePhysicalName, getEnv, getPhysicalName, getResourceArnAttribute, getResourceNameAttribute, getStack, isOwnedResource, isResource
Methods inherited from class software.constructs.Construct
getNode, isConstruct, toString
Methods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface software.constructs.IConstruct
getNode
Methods inherited from interface software.amazon.awscdk.IResource
applyRemovalPolicy, getEnv, getStack
Methods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Field Details
-
ANOMALY_DETECTION_NO_THRESHOLD
Conventional value for the threshold property when creating anomaly detection alarms.Anomaly detection alarms don't have numbered threshold. Instead, they have a dynamically calculated threshold based on the metric math expression that contains a metric expression.
The
threshold
property is required, but the value is ignored. This constant has the value 0, and has a symbolic name to indicate why the threshold is 0. You can usenew AnomalyDetectionAlarm()
to avoid having to pass thethreshold
property at all. -
PROPERTY_INJECTION_ID
Uniquely identifies this class.
-
-
Constructor Details
-
Alarm
protected Alarm(software.amazon.jsii.JsiiObjectRef objRef) -
Alarm
protected Alarm(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) -
Alarm
@Stability(Stable) public Alarm(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull AlarmProps props) - Parameters:
scope
- This parameter is required.id
- This parameter is required.props
- This parameter is required.
-
-
Method Details
-
fromAlarmArn
@Stability(Stable) @NotNull public static IAlarm fromAlarmArn(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull String alarmArn) Import an existing CloudWatch alarm provided an ARN.- Parameters:
scope
- The parent creating construct (usuallythis
). This parameter is required.id
- The construct's name. This parameter is required.alarmArn
- Alarm ARN (i.e. arn:aws:cloudwatch::invalid input: '<'account-id>:alarm:Foo). This parameter is required.
-
fromAlarmName
@Stability(Stable) @NotNull public static IAlarm fromAlarmName(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull String alarmName) Import an existing CloudWatch alarm provided an Name.- Parameters:
scope
- The parent creating construct (usuallythis
). This parameter is required.id
- The construct's name. This parameter is required.alarmName
- Alarm Name. This parameter is required.
-
addAlarmAction
Trigger this action if the alarm fires.Typically SnsAction or AutoScalingAction.
- Overrides:
addAlarmAction
in classAlarmBase
- Parameters:
actions
- This parameter is required.
-
toAnnotation
Turn this alarm into a horizontal annotation.This is useful if you want to represent an Alarm in a non-AlarmWidget. An
AlarmWidget
can directly show an alarm, but it can only show a single alarm and no other metrics. Instead, you can convert the alarm to a HorizontalAnnotation and add it as an annotation to another graph.This might be useful if:
- You want to show multiple alarms inside a single graph, for example if you have both a "small margin/long period" alarm as well as a "large margin/short period" alarm.
- You want to show an Alarm line in a graph with multiple metrics in it.
-
getAlarmArn
ARN of this alarm.- Specified by:
getAlarmArn
in interfaceIAlarm
- Specified by:
getAlarmArn
in classAlarmBase
-
getAlarmName
Name of this alarm.- Specified by:
getAlarmName
in interfaceIAlarm
- Specified by:
getAlarmName
in classAlarmBase
-
getMetric
The metric object this alarm was based on.
-