Paginate Route53 ListHostedZones and DigitalOcean Domains.Records #5

Merged
thatjames merged 1 commit from followup/pr-a-pagination into main 2026-04-28 11:44:48 +02:00
Owner

Both providers previously returned only the first page of results.
With >100 zones (Route53) or >200 records on an apex (DigitalOcean)
the apex/record we needed could sit on a later page, leading to silent
"not found" or — worse on DigitalOcean — duplicate-create attempts when
an existing record was missed.

Route53 uses NewListHostedZonesPaginator. DigitalOcean walks pages via
the response Links until IsLastPage(); early-returns on first match
keep the steady-state cost at one round-trip when the record is on
page one. Adds a DO test that returns the matching record only on
page 2 to verify the page-walking actually fires.

Precondition for the upcoming ownership-tagging work: full-fidelity
record discovery must come first.

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

Both providers previously returned only the first page of results. With >100 zones (Route53) or >200 records on an apex (DigitalOcean) the apex/record we needed could sit on a later page, leading to silent "not found" or — worse on DigitalOcean — duplicate-create attempts when an existing record was missed. Route53 uses NewListHostedZonesPaginator. DigitalOcean walks pages via the response Links until IsLastPage(); early-returns on first match keep the steady-state cost at one round-trip when the record is on page one. Adds a DO test that returns the matching record only on page 2 to verify the page-walking actually fires. Precondition for the upcoming ownership-tagging work: full-fidelity record discovery must come first. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Paginate Route53 ListHostedZones and DigitalOcean Domains.Records
All checks were successful
deploy / deploy (push) Successful in 19s
9a2a3ec7f5
Both providers previously returned only the first page of results.
With >100 zones (Route53) or >200 records on an apex (DigitalOcean)
the apex/record we needed could sit on a later page, leading to silent
"not found" or — worse on DigitalOcean — duplicate-create attempts when
an existing record was missed.

Route53 uses NewListHostedZonesPaginator. DigitalOcean walks pages via
the response Links until IsLastPage(); early-returns on first match
keep the steady-state cost at one round-trip when the record is on
page one. Adds a DO test that returns the matching record only on
page 2 to verify the page-walking actually fires.

Precondition for the upcoming ownership-tagging work: full-fidelity
record discovery must come first.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
thatjames deleted branch followup/pr-a-pagination 2026-04-28 11:44:52 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
thatjames/docker-dns-resolver!5
No description provided.