-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
(aws-scheduler-targets-alpha): Add EventBridgePutEvents Target #27454
Comments
Thank you for all those feature requests and PRs! |
Is it fine for you if I pick that? |
I hope you dont mind, that I've opened #27629. I couldnt resist 🙈 |
@WtfJoke of course. Thank you! Please, I will make it clear that people should feel free to pick up the issues and create pull requests! I will try to review the PR soon |
Awesome, thank you |
An eventBridgePutEvents target was implemented similar to the already existing LambdaInvoke/StepFunctionStartExecution target. I needed to change some properties and methods from Target.ts from private to protected so that the logic could be reused (hope that is ok). Some design choices to outline (let me know if you disagree or have improvements I could take :) ): 1. PutEvents would accept multiple Entries (eg. an array), but I decided to support just one single event, because how Target is currently designed (to support only one target arn). It also aligns with the templated integration in the aws management console. 2. It throws an error in the constructor if the base prop `input` is used. All the props should be delivered by the new `EventBridgePutEventsEntry`. It felt not right for the developer experience to split the object (detail to `input` and `source`, `detailType` to `EventBridgePutEventsEntry` ). Closes #27454. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
|
An eventBridgePutEvents target was implemented similar to the already existing LambdaInvoke/StepFunctionStartExecution target. I needed to change some properties and methods from Target.ts from private to protected so that the logic could be reused (hope that is ok). Some design choices to outline (let me know if you disagree or have improvements I could take :) ): 1. PutEvents would accept multiple Entries (eg. an array), but I decided to support just one single event, because how Target is currently designed (to support only one target arn). It also aligns with the templated integration in the aws management console. 2. It throws an error in the constructor if the base prop `input` is used. All the props should be delivered by the new `EventBridgePutEventsEntry`. It felt not right for the developer experience to split the object (detail to `input` and `source`, `detailType` to `EventBridgePutEventsEntry` ). Closes aws#27454. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
Describe the feature
Work to support L2 constructs for AWS Scheduler is in progress (#23394). See the approved RFC. RFC planned to add 12 templates targets, but only Lambda Invoke is currently implemented (#26575).
This issue tracks implementation of
EventBridgePutEvents
target to put an event to AWS Event Bridge Event Bus.Use Case
Customers would like to use templated target
EventBridgePutEvents
to be able to put events to Event Bus on schedule. L2 target construct should grant required permissions to theAWS Scheduler
to put events to a Event Bus.Proposed Solution
The proposed solution needs to be adopted to the recent examples of
LambdaInvoke
(https://github.com/aws/aws-cdk/blob/main/packages/%40aws-cdk/aws-scheduler-targets-alpha/lib/lambda-invoke.ts).Solution should also include unit and integration tests.
Class
EventBridgePutEvents
should:addTargetActionToRole
bindBaseTargetConfig
to returneventBridgeParameters
as part ofScheduleTargetConfig
.Other Information
No response
Acknowledgements
CDK version used
2.99.1
Environment details (OS name and version, etc.)
MacOS
The text was updated successfully, but these errors were encountered: