Skip to content
v2.275.0

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 ​

NameKindSummary
ApplicationScalingActionClassUse an ApplicationAutoScaling StepScalingAction as an Alarm Action.
AutoScalingActionClassUse an AutoScaling StepScalingAction as an Alarm Action.
Ec2ActionClassUse an EC2 action as an Alarm action.
Ec2InstanceActionEnumTypes of EC2 actions available.
LambdaActionClassUse a Lambda action as an Alarm action.
LambdaActionPropsStructProperties for Lambda Alarm Action.
OpsItemCategoryEnumTypes of OpsItem category available.
OpsItemSeverityEnumTypes of OpsItem severity available.
SnsActionClassUse an SNS topic as an alarm action.
SsmActionClassUse an SSM OpsItem action as an Alarm action.
SsmIncidentActionClassUse an SSM Incident Response Plan as an Alarm action.