Support CloudFormation rollback triggers
- Dominant language
- TypeScript
- Stars
- 12.9k
- Forks
- 4.6k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 83
Description
CloudFormation supports specifying 0-5 rollback triggers as CloudWatch Metric Alarms, which when triggered will automatically cause the stack update to be cancelled. Also a monitoring time of 0-180 minutes can be specified, which means a pause time CloudFormation will wait for any of the alarms to be triggered, or a rollback to be manually triggered, before cleaning up any resources.
There should be a way to use these with AWS CDK.
### Use Case
Rollback triggers have obvious uses to make stack updates more reliable.
### Proposed Solution
Similar to `--notification-arns` currently in `deploy` command, add `--rollback-trigger-alarm-arns` option to be able to list 1-5 CloudWatch Alarms that automatically trigger a rollback. Also add `--monitoring-time-minutes` option which can be used to add 0-180 minutes of pause time after a stack update before the cleanup phase starts. Both options can be specified independently, as they are useful on their own.
### Other
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-rollback-triggers.html
https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_RollbackConfiguration.html
* [x] :wave: I may be able to implement this feature request
* [ ] :warning: This feature might incur a breaking change
---
This is a :rocket: Feature Request
Contributor guide
Research direction
Start at the CDK deploy command entry point and review the CloudFormation RollbackConfiguration API documentation linked in the issue. Trace how --notification-arns is handled, then add equivalent support for rollback alarm ARNs and monitoring time; done means both options work independently with the documented limits and are passed to CloudFormation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, typescript
- Domain
- cli, cloud, infrastructure
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100