Skip to content

(aws-cdk-lib/aws-events-targets): EventBus target construct does not support retryAttempts or maxEventAge #28735

@mattvalleycodes

Description

@mattvalleycodes

Describe the feature

Unlike other target constructs, including but not limited to LambdaFunction or SfnStateMachine, the EventBus target construct does not support the retryAttempts or maxEventAge props.

By looking at the ref CloudFormation doc for the AWS::Events::Rule, I can see that it does indeed support Retry Policy. Considering other target constructs support this feature, it would be good to have it implemented for EventBus as well.

Use Case

We're using EventBridge heavily to implement our event-oriented architecture following the Hub & Spoke pattern. Each business domain has a dedicated Event Bridge that uses a Rule to push events to the centralised Hub event bridge. Right now, we rely on the default retry policy (as we don't have a way to customise it via CDK). The issue is that the default 24 hours is way too long for us, we would like the fail procedure to complete significantly faster, for example in 10 minutes. The issue is that the default 24 hours is way too long for us; we would like the fail procedure to complete significantly faster, for example, in 10 minutes.

Proposed Solution

  • Leverage the existing TargetBaseProps interface to support the new props
  • Leverage the existing bindBaseTargetConfig to inject the new retryPolicy using the provided input

Other Information

No response

Acknowledgements

  • I may be able to implement this feature request
  • This feature might incur a breaking change

CDK version used

2.121.1

Environment details (OS name and version, etc.)

Mac OS Sonomo 14.2.1 (23C71)

Metadata

Metadata

Assignees

No one assigned

    Labels

    @aws-cdk/aws-eventsRelated to CloudWatch Eventseffort/mediumMedium work item – several days of effortfeature-requestA feature should be added or improved.p2

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions