-
-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Route53: add Update support for RecordSet resource
#13627
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
Conversation
Test Results - Preflight, Unit23 084 tests 21 225 ✅ 6m 8s ⏱️ Results for commit fe6d14a. ♻️ This comment has been updated with latest results. |
Test Results (amd64) - Acceptance7 tests 5 ✅ 3m 1s ⏱️ Results for commit fe6d14a. ♻️ This comment has been updated with latest results. |
LocalStack Community integration with Pro 2 files 2 suites 1h 58m 33s ⏱️ Results for commit fe6d14a. ♻️ This comment has been updated with latest results. |
Test Results (amd64) - Integration, Bootstrap 5 files 5 suites 2h 38m 47s ⏱️ Results for commit fe6d14a. ♻️ This comment has been updated with latest results. |
Test Results - Alternative Providers582 tests 322 ✅ 17m 14s ⏱️ Results for commit fe6d14a. ♻️ This comment has been updated with latest results. |
4815318 to
fe6d14a
Compare
Interesting, but this is not a |
|
Yeah, I think this is because there is no real identifier for |
simonrw
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for implementing this change, and going the extra mile to improve the create behaviour as well!
| rr_sets = aws_client.route53.list_resource_record_sets(HostedZoneId=hosted_zone_id) | ||
| snapshot.match("record-sets-update-alias-target", rr_sets) | ||
|
|
||
| parameters["BucketTwoSetIdentifier"] = "region-3" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
idea: since you say the SetIdentifier has to recreate the record set completely, yet it's not listed in the CFn createOnlyParameters, it would be useful to use the capture_per_resource_events fixture and assert the results (after filtering) to see if the behaviour on CFn is as if it were a createOnlyProperty or if it is indeed handled in the resource provider.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have just done this and I find (time goes down):
- CREATE_IN_PROGRESS
- CREATE_COMPLETE
- UPDATE_IN_PROGRESS
- UPDATE_COMPLETE
- UPDATE_IN_PROGRESS
- UPDATE_COMPLETE
- UPDATE_IN_PROGRESS
- UPDATE_COMPLETE
so yes it looks like it's handled in the resource provider 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for checking it for me, very much appreciated 🙏 I'll merge so that we can give the fix to the customer, but I'll keep this trick in mind next time!
Motivation
We got a customer report for UPDATE support for the.
AWS::Route53:RecordSetresource provider.I've added a bit more
CREATEtest around the operation, split the tests for the different resources and added one update test. Luckily, it is actually pretty simple because the operation used forResourceRecordSetdoes support creation, deletion and update all at once, so we do not need to fully handle the update logic in the provider itself.The only special case is
SetIdentifier, because you cannot update a value that has a differentSetIdentifier, it has to be deleted and recreated (as it is the identifier value to properly update a RecordSet when you have multiple).Changes
route53test module for better test detectionRecordSetCloudFormation tests, especially with multiple values and containingAliasTargetupdateoperation and a test for itTests
Related