Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
332fe0d to
44f743d
Compare
Superseded by new review
There was a problem hiding this comment.
These are pre-existing issues — the mock files (mock_coordinator.go, mock_schema.go, mock_plugin_interface.go, mock_volumemounter.go) are absent from the repo because go generate / make mql/generate was never run after the //go:generate mockgen ... directives were added. None of the files involved (providers/coordinator.go, providers/runtime_test.go, providers/coordinator_test.go, providers/os/connection/snapshot/volumemounter.go) were touched by the Route 53 PR.
To fix them, run the go:generate directives:
# From repo root
go generate ./providers/...
go generate ./providers/os/connection/snapshot/...Or via the full pipeline:
make mql/generateThat will create:
providers/mock_coordinator.goproviders/mock_plugin_interface.goproviders/mock_schema.goproviders/os/connection/snapshot/mock_volumemounter.go
These errors are not related to the Route 53 PR and were present before it landed.
|
Unable to complete the code review. Reason: An internal error occurred during the review. Error detailsYou can try |
Dismissed: review could not be completed
|
/review |
Add comprehensive Route 53 support with 8 new resource types: - aws.route53: Top-level resource with access to hosted zones, health checks, delegation sets, traffic policies, query logging configs, and DNSSEC keys - aws.route53.hostedZone: DNS zones with records, VPCs, tags, DNSSEC status, nameservers, query logging, and traffic policy instances - aws.route53.record: DNS record sets with support for alias records, weighted/ latency/failover/geolocation routing policies, and health check associations - aws.route53.healthCheck: HTTP/HTTPS/TCP/calculated/CloudWatch health checks with full configuration, tags, and status - aws.route53.delegationSet: Reusable delegation sets with nameservers - aws.route53.trafficPolicy: Traffic policies with document and instances - aws.route53.trafficPolicyInstance: Traffic policy instances linked to zones - aws.route53.queryLoggingConfig: Query logging configs with CloudWatch targets - aws.route53.keySigningKey: DNSSEC key signing keys with KMS key references Includes Route 53 client caching in the AWS connection layer, cross-resource references (records -> health checks, KSKs -> KMS keys, instances -> zones), and proper handling of private hosted zones (DNSSEC not supported). Signed-off-by: Tim Smith <tsmith84@gmail.com>
- Add nil checks on GetHostedZone responses in vpcs() and nameServers() to prevent potential nil pointer dereference on partial failures - Add nil checks on GetDNSSEC responses in dnssecStatus() and keySigningKeys() for the same reason - Remove explicit State setting in queryLoggingConfig() for consistency with vpcs(), nameServers(), dnssecStatus(), and keySigningKeys() which all simply return nil, nil on access-denied or empty results Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ument status() - Cache GetHostedZone response in mqlAwsRoute53HostedZoneInternal so vpcs() and nameServers() share a single API call instead of making duplicate requests for the same hosted zone - Add nil guard for hc.HealthCheckConfig to prevent panic if the SDK ever returns a health check with nil config - Document that status() intentionally returns a single representative status from the first health checker region observation Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Test newMqlAwsRoute53Record with 8 cases: - basic A record, alias record, weighted routing, geolocation, geoproximity with bias, CIDR routing, nil optional defaults, ID format Test newMqlAwsRoute53HealthCheck with 5 cases: - HTTP with all fields, CALCULATED with children, CloudWatch alarm configuration, nil HealthCheckConfig error, nil optional defaults Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…h tag fetching - Cache GetDNSSEC API call so dnssecStatus() and keySigningKeys() share a single request per hosted zone, matching the existing getHostedZone() caching pattern. - Use GetHealthCheck (singular) API for O(1) lookup in record.healthCheck() instead of fetching the entire paginated health check list. - Batch tag fetching with ListTagsForResources (plural, up to 10 IDs per call) for both hostedZones() and healthChecks(), reducing API calls ~10x. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Tim Smith <tsmith84@gmail.com>
AWS allows at most one query logging config per hosted zone, so pagination is not needed in the per-zone lookup. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary
Add Route 53 support with new resource types:
and query logging configs
nameservers, query logging, and key signing keys
latency/failover/geolocation routing policies, and health check associations
with full configuration, tags, and status
Includes Route 53 client caching in the AWS connection layer, cross-resource
references (records -> health checks, KSKs -> KMS keys, instances -> zones),
and proper handling of private hosted zones (DNSSEC not supported).