feat(rds): add SqlServerEngineVersion constants for engine v17 - #38401
feat(rds): add SqlServerEngineVersion constants for engine v17#38401boluwatifeajayi wants to merge 3 commits into
Conversation
There was a problem hiding this comment.
The pull request linter fails with the following errors:
❌ Features must contain a change to a README file.
❌ Features must contain a change to an integration test file and the resulting snapshot.
If you believe this pull request should receive an exemption, please comment and provide a justification. A comment requesting an exemption should contain the text Exemption Request. Additionally, if clarification is needed, add Clarification Request to a comment.
✅ A exemption request has been requested. Please wait for a maintainer's review.
|
Exemption Request README: The aws-rds README's SqlServerEngineVersion examples (lines ~1367, ~1389) intentionally use VER_11 to illustrate the parameter-group API generically, not to showcase the latest version — they're version-agnostic by design. There's no natural place to reference VER_17 specifically without making the example misleadingly imply it's the only current version. Happy to add a mention if a maintainer can point me to where it'd fit. Integration test / snapshot: As noted in the PR description, I don't have AWS credentials configured to run |
sqlserver-web does not offer engine v17 per RDS's describe-db-engine-versions. Switched tests to sqlserver-ee, which does.
|
Good catch, thanks switched both v17 tests from sqlServerWeb to sqlServerEe to match what's actually offered on RDS (confirmed 725/725 tests still passing). Pushed. @pahud |
|
gh pr comment 38401 --repo aws/aws-cdk --body "Build failure confirms what I flagged in the PR description, the integ snapshot diff (DatabaseInstanceOptionGroup WILL_REPLACE in integ.instance-s3 and integ.proxy-sql-server) is expected: INTEG_TEST_LATEST_SQLSERVER auto-selects VER_17 as latest now, and v16->v17 requires an OptionGroup replacement. This needs a maintainer with deploy access to regenerate those two snapshots, I don't have AWS credentials to run yarn integ myself. Let me know if there's anything else needed on my end." @pahud |
Closes #38400
Use case
SQL Server 2025 (engine v17) is now available on RDS, but SqlServerEngineVersion has no constants for it, blocking direct use from CDK.
Solution
Added
VER_17andVER_17_00_4045_5_V1toSqlServerEngineVersion, following the exact pattern used for every prior major version (bare-major constant + full-version constant). Since SQL Server uses a single sharedSqlServerEngineVersionclass across all editions (unlike Aurora's per-flavor classes), only two constants are needed rather than one per edition.Verified against ee/ex/se via
aws rds describe-db-engine-versions(see issue). Not independently verified for the Web edition — the parameter-group-family naming logic works correctly for it (sqlserver-web-17.0, covered by unit test), but I haven't confirmed AWS RDS actually offers v17 on Web edition specifically, since I don't have the AWS CLI available in my environment to run the equivalent query.Testing
yarn buildclean, no new lint findingsNote on integration tests
I don't have AWS credentials configured to run
yarn integ/ regenerate snapshots.INTEG_TEST_LATEST_SQLSERVERindb-versions.tsauto-selects the latest version by sort, so no manual integ test-file edit was needed — but this means the following snapshots are now stale and will need regenerating by a maintainer:packages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.instance-s3.js.snapshotpackages/@aws-cdk-testing/framework-integ/test/aws-rds/test/integ.proxy-sql-server.js.snapshotBy submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license