aws-cdk-lib.aws_events.OnEventOptions

interface OnEventOptions

LanguageType name
.NETAmazon.CDK.AWS.Events.OnEventOptions
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awsevents#OnEventOptions
Javasoftware.amazon.awscdk.services.events.OnEventOptions
Pythonaws_cdk.aws_events.OnEventOptions
TypeScript (source)aws-cdk-lib » aws_events » OnEventOptions

Standard set of options for onXxx event handlers on construct.

Example

// Lambda function containing logic that evaluates compliance with the rule.
const evalComplianceFn = new lambda.Function(this, 'CustomFunction', {
  code: lambda.AssetCode.fromInline('exports.handler = (event) => console.log(event);'),
  handler: 'index.handler',
  runtime: lambda.Runtime.NODEJS_18_X,
});

// A custom rule that runs on configuration changes of EC2 instances
const customRule = new config.CustomRule(this, 'Custom', {
  configurationChanges: true,
  lambdaFunction: evalComplianceFn,
  ruleScope: config.RuleScope.fromResource(config.ResourceType.EC2_INSTANCE),
});

// A rule to detect stack drifts
const driftRule = new config.CloudFormationStackDriftDetectionCheck(this, 'Drift');

// Topic to which compliance notification events will be published
const complianceTopic = new sns.Topic(this, 'ComplianceTopic');

// Send notification on compliance change events
driftRule.onComplianceChange('ComplianceChange', {
  target: new targets.SnsTopic(complianceTopic),
});

Properties

NameTypeDescription
crossStackScope?ConstructThe scope to use if the source of the rule and its target are in different Stacks (but in the same account & region).
description?stringA description of the rule's purpose.
eventPattern?EventPatternAdditional restrictions for the event to route to the specified target.
ruleName?stringA name for the rule.
target?IRuleTargetThe target to register for the event.

crossStackScope?

Type: Construct (optional, default: none (the main scope will be used, even for cross-stack Events))

The scope to use if the source of the rule and its target are in different Stacks (but in the same account & region).

This helps dealing with cycles that often arise in these situations.


description?

Type: string (optional, default: No description)

A description of the rule's purpose.


eventPattern?

Type: EventPattern (optional, default: No additional filtering based on an event pattern.)

Additional restrictions for the event to route to the specified target.

The method that generates the rule probably imposes some type of event filtering. The filtering implied by what you pass here is added on top of that filtering.

See also: https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html


ruleName?

Type: string (optional, default: AWS CloudFormation generates a unique physical ID.)

A name for the rule.


target?

Type: IRuleTarget (optional, default: No target is added to the rule. Use addTarget() to add a target.)

The target to register for the event.