AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

IAmazonCloudWatchEvents

Interface

Search:

Interface for accessing CloudWatchEvents
Amazon CloudWatch Events helps you to respond to state changes in your AWS resources.
When your resources change state, they automatically send events into an event stream.
You can create rules that match selected events in the stream and route them to targets
to take action. You can also use rules to take action on a pre-determined schedule.
For example, you can configure rules to:

Automatically invoke an AWS Lambda function to update DNS entries when an event notifies
you that Amazon EC2 instance enters the running state.

Direct specific API records from CloudTrail to an Amazon Kinesis stream for detailed
analysis of potential security or availability risks.

Periodically invoke a built-in target to create a snapshot of an Amazon EBS volume.

Syntax

Methods

Name

Description

Note:

Asynchronous operations (methods ending with Async) in the table below are for .NET 4.5 or higher. For .NET 3.5 the SDK follows the standard naming convention of BeginMethodName and EndMethodName to indicate asynchronous operations - these method pairs are not shown in the table below.

Displays the external AWS accounts that are permitted to write events to your account
using your account's event bus, and the associated policy. To enable your account
to receive events from other accounts, use PutPermission.

Creates or updates the specified rule. Rules are enabled by default, or based on value
of the state. You can disable a rule using DisableRule.

If you are updating an existing rule, the rule is completely replaced with what you
specify in this PutRule command. If you omit arguments in PutRule,
the old values for those arguments are not kept. Instead, they are replaced with null
values.

When you create or update a rule, incoming events might not immediately start matching
to new or updated rules. Please allow a short period of time for changes to take effect.

A rule must contain at least an EventPattern or ScheduleExpression. Rules with EventPatterns
are triggered when a matching event is observed. Rules with ScheduleExpressions self-trigger
based on the given schedule. A rule can have both an EventPattern and a ScheduleExpression,
in which case the rule triggers on matching events as well as on a schedule.

Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs).
However, CloudWatch Events uses an exact match in event patterns and rules. Be sure
to use the correct ARN characters when creating event patterns so that they match
the ARN syntax in the event you want to match.

Adds the specified targets to the specified rule, or updates the targets if they are
already associated with the rule.

Targets are the resources that are invoked when a rule is triggered.

You can configure the following as targets for CloudWatch Events:

EC2 instances

AWS Lambda functions

Streams in Amazon Kinesis Streams

Delivery streams in Amazon Kinesis Firehose

Amazon ECS tasks

AWS Step Functions state machines

AWS Batch jobs

Pipelines in Amazon Code Pipeline

Amazon Inspector assessment templates

Amazon SNS topics

Amazon SQS queues

The default event bus of another AWS account

Note that creating rules with built-in targets is supported only in the AWS Management
Console.

For some target types, PutTargets provides target-specific parameters.
If the target is an Amazon Kinesis stream, you can optionally specify which shard
the event goes to by using the KinesisParameters argument. To invoke
a command on multiple EC2 instances with one rule, you can use the RunCommandParameters
field.

To be able to make API calls against the resources that you own, Amazon CloudWatch
Events needs the appropriate permissions. For AWS Lambda and Amazon SNS resources,
CloudWatch Events relies on resource-based policies. For EC2 instances, Amazon Kinesis
streams, and AWS Step Functions state machines, CloudWatch Events relies on IAM roles
that you specify in the RoleARN argument in PutTargets.
For more information, see Authentication
and Access Control in the Amazon CloudWatch Events User Guide.

If another AWS account is in the same region and has granted you permission (using
PutPermission), you can send events to that account by setting that account's
event bus as a target of the rules in your account. To send the matched events to
the other account, specify that account's event bus as the Arn when you
run PutTargets. If your account sends events to another account, your
account is charged for each sent event. Each event sent to antoher account is charged
as a custom event. The account receiving the event is not charged. For more information
on pricing, see Amazon CloudWatch
Pricing.

For more information about enabling cross-account events, see PutPermission.

Input, InputPath and InputTransformer are mutually exclusive
and optional parameters of a target. When a rule is triggered due to a matched event:

If none of the following arguments are specified for a target, then the entire event
is passed to the target in JSON form (unless the target is Amazon EC2 Run Command
or Amazon ECS task, in which case nothing from the event is passed to the target).

If Input is specified in the form of valid JSON, then the matched event is
overridden with this constant.

If InputPath is specified in the form of JSONPath (for example, $.detail),
then only the part of the event specified in the path is passed to the target (for
example, only the detail part of the event is passed).

If InputTransformer is specified, then one or more specified JSONPaths are
extracted from the event and used as values in a template that you specify as the
input to the target.

When you specify InputPath or InputTransformer, you must
use JSON dot notation, not bracket notation.

When you add targets to a rule and the associated rule triggers soon after, new or
updated targets might not be immediately invoked. Please allow a short period of time
for changes to take effect.

This action can partially fail if too many requests are made at the same time. If
that happens, FailedEntryCount is non-zero in the response and each entry
in FailedEntries provides the ID of the failed target and the error code.

Revokes the permission of another AWS account to be able to put events to your default
event bus. Specify the account to revoke by the StatementId value that
you associated with the account when you granted it permission with PutPermission.
You can find the StatementId by using DescribeEventBus.

Removes the specified targets from the specified rule. When the rule is triggered,
those targets are no longer be invoked.

When you remove a target, when the associated rule triggers, removed targets might
continue to be invoked. Please allow a short period of time for changes to take effect.

This action can partially fail if too many requests are made at the same time. If
that happens, FailedEntryCount is non-zero in the response and each entry
in FailedEntries provides the ID of the failed target and the error code.

Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs).
However, CloudWatch Events uses an exact match in event patterns and rules. Be sure
to use the correct ARN characters when creating event patterns so that they match
the ARN syntax in the event you want to match.