CloudWatch Alarm Actions library
This library contains a set of classes which can be used as CloudWatch Alarm actions.
The currently implemented actions are: EC2 Actions, SNS Actions, SSM OpsCenter Actions, Autoscaling Actions and Application Autoscaling Actions
EC2 Action Example
ts
// Alarm must be configured with an EC2 per-instance metric
declare const alarm: cloudwatch.Alarm;
// Attach a reboot when alarm triggers
alarm.addAlarmAction(
new actions.Ec2Action(actions.Ec2InstanceAction.REBOOT),
);
python
# Alarm must be configured with an EC2 per-instance metric
# alarm: cloudwatch.Alarm
# Attach a reboot when alarm triggers
alarm.add_alarm_action(
actions.Ec2Action(actions.Ec2InstanceAction.REBOOT))
java
// Alarm must be configured with an EC2 per-instance metric
Alarm alarm;
// Attach a reboot when alarm triggers
alarm.addAlarmAction(
new Ec2Action(Ec2InstanceAction.REBOOT));
csharp
// Alarm must be configured with an EC2 per-instance metric
Alarm alarm;
// Attach a reboot when alarm triggers
alarm.AddAlarmAction(
new Ec2Action(Ec2InstanceAction.REBOOT));
go
// Alarm must be configured with an EC2 per-instance metric
var alarm Alarm
// Attach a reboot when alarm triggers
alarm.AddAlarmAction(
actions.NewEc2Action(actions.Ec2InstanceAction_REBOOT))
SSM OpsCenter Action Example
ts
declare const alarm: cloudwatch.Alarm;
// Create an OpsItem with specific severity and category when alarm triggers
alarm.addAlarmAction(
new actions.SsmAction(
actions.OpsItemSeverity.CRITICAL,
actions.OpsItemCategory.PERFORMANCE // category is optional
)
);
python
# alarm: cloudwatch.Alarm
# Create an OpsItem with specific severity and category when alarm triggers
alarm.add_alarm_action(
actions.SsmAction(actions.OpsItemSeverity.CRITICAL, actions.OpsItemCategory.PERFORMANCE))
java
Alarm alarm;
// Create an OpsItem with specific severity and category when alarm triggers
alarm.addAlarmAction(
new SsmAction(OpsItemSeverity.CRITICAL, OpsItemCategory.PERFORMANCE));
csharp
Alarm alarm;
// Create an OpsItem with specific severity and category when alarm triggers
alarm.AddAlarmAction(
new SsmAction(OpsItemSeverity.CRITICAL, OpsItemCategory.PERFORMANCE));
go
var alarm Alarm
// Create an OpsItem with specific severity and category when alarm triggers
alarm.AddAlarmAction(
actions.NewSsmAction(actions.OpsItemSeverity_CRITICAL, actions.OpsItemCategory_PERFORMANCE))
SSM Incident Manager Action Example
ts
declare const alarm: cloudwatch.Alarm;
// Create an Incident Manager incident based on a specific response plan
alarm.addAlarmAction(
new actions.SsmIncidentAction('ResponsePlanName')
);
python
# alarm: cloudwatch.Alarm
# Create an Incident Manager incident based on a specific response plan
alarm.add_alarm_action(
actions.SsmIncidentAction("ResponsePlanName"))
java
Alarm alarm;
// Create an Incident Manager incident based on a specific response plan
alarm.addAlarmAction(
new SsmIncidentAction("ResponsePlanName"));
csharp
Alarm alarm;
// Create an Incident Manager incident based on a specific response plan
alarm.AddAlarmAction(
new SsmIncidentAction("ResponsePlanName"));
go
var alarm Alarm
// Create an Incident Manager incident based on a specific response plan
alarm.AddAlarmAction(
actions.NewSsmIncidentAction(jsii.String("ResponsePlanName")))
Lambda Action Example
ts
import * as lambda from 'aws-cdk-lib/aws-lambda'
declare const alarm: cloudwatch.Alarm;
declare const fn: lambda.Function;
declare const alias: lambda.Alias;
declare const version: lambda.Version;
// Attach a Lambda Function when alarm triggers
alarm.addAlarmAction(
new actions.LambdaAction(fn)
);
// Attach a Lambda Function Alias when alarm triggers
alarm.addAlarmAction(
new actions.LambdaAction(alias)
);
// Attach a Lambda Function version when alarm triggers
alarm.addAlarmAction(
new actions.LambdaAction(version)
);
python
import aws_cdk.aws_lambda as lambda_
# alarm: cloudwatch.Alarm
# fn: lambda.Function
# alias: lambda.Alias
# version: lambda.Version
# Attach a Lambda Function when alarm triggers
alarm.add_alarm_action(
actions.LambdaAction(fn))
# Attach a Lambda Function Alias when alarm triggers
alarm.add_alarm_action(
actions.LambdaAction(alias))
# Attach a Lambda Function version when alarm triggers
alarm.add_alarm_action(
actions.LambdaAction(version))
java
import software.amazon.awscdk.services.lambda.*;
Alarm alarm;
Function fn;
Alias alias;
Version version;
// Attach a Lambda Function when alarm triggers
alarm.addAlarmAction(
new LambdaAction(fn));
// Attach a Lambda Function Alias when alarm triggers
alarm.addAlarmAction(
new LambdaAction(alias));
// Attach a Lambda Function version when alarm triggers
alarm.addAlarmAction(
new LambdaAction(version));
csharp
using Amazon.CDK.AWS.Lambda;
Alarm alarm;
Function fn;
Alias alias;
Version version;
// Attach a Lambda Function when alarm triggers
alarm.AddAlarmAction(
new LambdaAction(fn));
// Attach a Lambda Function Alias when alarm triggers
alarm.AddAlarmAction(
new LambdaAction(alias));
// Attach a Lambda Function version when alarm triggers
alarm.AddAlarmAction(
new LambdaAction(version));
go
import lambda "github.com/aws/aws-cdk-go/awscdk"
var alarm Alarm
var fn Function
var alias Alias
var version Version
// Attach a Lambda Function when alarm triggers
alarm.AddAlarmAction(
actions.NewLambdaAction(fn))
// Attach a Lambda Function Alias when alarm triggers
alarm.AddAlarmAction(
actions.NewLambdaAction(alias))
// Attach a Lambda Function version when alarm triggers
alarm.AddAlarmAction(
actions.NewLambdaAction(version))
See aws-cdk-lib/aws-cloudwatch for more information.
Types
| Name | Kind | Summary |
|---|---|---|
ApplicationScalingAction | Class | Use an ApplicationAutoScaling StepScalingAction as an Alarm Action. |
AutoScalingAction | Class | Use an AutoScaling StepScalingAction as an Alarm Action. |
Ec2Action | Class | Use an EC2 action as an Alarm action. |
Ec2InstanceAction | Enum | Types of EC2 actions available. |
LambdaAction | Class | Use a Lambda action as an Alarm action. |
LambdaActionProps | Struct | Properties for Lambda Alarm Action. |
OpsItemCategory | Enum | Types of OpsItem category available. |
OpsItemSeverity | Enum | Types of OpsItem severity available. |
SnsAction | Class | Use an SNS topic as an alarm action. |
SsmAction | Class | Use an SSM OpsItem action as an Alarm action. |
SsmIncidentAction | Class | Use an SSM Incident Response Plan as an Alarm action. |