feat(route53): support failover routing policy for record sets#35909
feat(route53): support failover routing policy for record sets#35909mergify[bot] merged 3 commits intoaws:mainfrom
Conversation
badmintoncryer
left a comment
There was a problem hiding this comment.
Thank you for your contribution! I've added some minor comments.
packages/@aws-cdk-testing/framework-integ/test/aws-route53/test/integ.failover-record.ts
Show resolved
Hide resolved
|
Could you please execute integ test and add snapshot files? |
9900ca7 to
d0de209
Compare
✅ Updated pull request passes all PRLinter validations. Dismissing previous PRLinter review.
|
Hi @0xdsqr I am seeing this unit test failing in the CI error log I think you probably want to run |
d0de209 to
f0bb92a
Compare
|
Looks like CodeBuild CI passed now. It's all set from contributor's perspective. I'll bring this up to the team ASAP. Feel free to tag me if you need my attention. |
|
Hey @pahud realize this week is busy, but I still do have an interest in getting this merged. Any idea on if team will consider to ship this? |
|
@0xdsqr Sure! I’ll bring this up to the team tomorrow. Will get back to you ASAP. |
|
@0xdsqr Thanks for the contribution. Added some comments that need to be addressed before we can merge this in |
Pull request has been modified.
Merge Queue Status🚫 The pull request has left the queue (rule: This pull request spent 4 seconds in the queue, with no time running CI. ReasonThe pull request can't be updated
HintYou should update or rebase your pull request manually. If you do, this pull request will automatically be requeued once the queue conditions match again. |
|
Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
Pull request has been modified.
|
||||||||||||||
|
||||||||||||||
Merge Queue Status✅ The pull request has been merged This pull request spent 25 seconds in the queue, including 1 second running CI. Required conditions to merge
|
|
Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork). |
|
Comments on closed issues and PRs are hard for our team to see. |
Issue # (if applicable)
Closes #35910
Reason for this change
The L1
CfnRecordSetsupports theFailoverproperty, allowing users to define PRIMARY and SECONDARY record sets for Route 53 failover routing policies. However, this capability was not exposed at the L2RecordSetlevel.This enhancement introduces first-class support for failover routing in the L2 construct, simplifying configuration and validation for high-availability DNS setups.
Before (L1 override):
After (L2 support):
Description of changes
failover?: 'PRIMARY' | 'SECONDARY'toRecordSetPropsandRecordSetOptions. . Enables users to define primary and secondary record sets directly in the L2 construct.failoverto the synthesized CloudFormation template viaCfnRecordSet.Failover.failoverwith other routing policies (region,weight,geoLocation,multiValueAnswer, orcidrRoutingConfig).PRIMARYfailover record set does not specify ahealthCheck.failover, automatically warn ifEvaluateTargetHealthis not set totrue, aligning with Route 53 best practices.setIdentifiergeneration:Automatically derives a deterministic identifier prefix (
FAILOVER_PRIMARY_ID_/FAILOVER_SECONDARY_ID_) for failover record sets.FailoverandHealthCheckIdfields.EvaluateTargetHealth.failoveris combined with other routing policies.This aligns with Route 53’s documented behavior:
Reference: Amazon Route 53 Developer Guide — Failover Routing
Describe any new or updated permissions being added
None — this change only affects construct synthesis and validation logic.
Description of how you validated changes
record-set.test.ts.PRIMARYandSECONDARYfailover configurations.Checklist
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license