(rds): auto-generate all RDS engine version types from API
- Dominant language
- TypeScript
- Stars
- 12.9k
- Forks
- 4.6k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 83
Description
It would be nice if the RDS engine versions were somehow automatically generated using the `aws rds` API. A quick review of the commit history on the file (https://github.com/aws/aws-cdk/commits/master/packages/%40aws-cdk/aws-rds/lib/cluster-engine.ts) shows that lots of folks manually commit missing engine versions (including myself with https://github.com/aws/aws-cdk/pull/12495).
### Use Case
As a CDK user, it would be great if CDK automatically had a complete list of all the valid RDS versions. This would allow me to simply upgrade my version of CDK and the proper types are automatically there. In this instance, I discovered the missing engine and had to write a PR, wait for a review, wait for the release.
### Proposed Solution
The [`aws rds describe-db-engine-versions`](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/neptune/describe-db-engine-versions.html) command could be used to easily generate these types. I'm not familiar with the CloudFormation code generation logic, but perhaps when a release is tagged, this API could be used to automatically generate the relevant types?
If not automated with each release, I could envision a simple script that's run as a one-off to generate all the types from the API.
### Other
* [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 by reading packages/@aws-cdk/aws-rds/lib/cluster-engine.ts and reviewing its commit history to understand how engine-version types are maintained. Then investigate the aws rds describe-db-engine-versions API and the repository's CloudFormation code-generation logic. Done means establishing an automated release-time process or a script that generates complete valid RDS engine-version types.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, typescript
- Domain
- cloud, databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100