Aws/dns Observation
Observe Route53 hosted zones, record sets, and detect orphaned DNS records pointing at decommissioned infrastructure.
This model reads Route53 data for observation and cross-references record targets against inventory/adopt data to find orphaned entries. It does not manage zones or records — use @swamp/aws/route53 for infrastructure management.
Quick Start
swamp extension pull @webframp/aws/dns-observation
swamp model create @webframp/aws/dns-observation aws-dns-observation
swamp model method run aws-dns-observation list_zones
swamp model method run aws-dns-observation list_records
swamp model method run aws-dns-observation detect_orphansMethods
- list_zones — List all hosted zones with record counts and metadata
- list_records — List all record sets across zones (primary drift-state output)
- detect_orphans — Cross-reference records against inventory to find orphans
Prerequisites
Route53 read access. Required IAM permissions:
- route53:ListHostedZones
- route53:GetHostedZone
- route53:ListResourceRecordSets
- sts:GetCallerIdentity
For orphan detection, upstream models must have fresh data:
- @webframp/aws/inventory (scan spec) — EC2 IPs, ELBs, S3, CloudFront
- @webframp/aws/adopt (discovery spec) — Elastic IPs
@webframp/aws/dns-observation v2026.07.03.1
Changed: Added JSDoc documentation to the model export for improved
deno doc and quality rubric compliance.
Initial release.
Methods
- list_zones — List all Route53 hosted zones with record counts, public/private status, and VPC associations
- list_records — List all record sets across zones with pagination support
- detect_orphans — Cross-reference DNS record targets against inventory/adopt data to find orphaned entries pointing at decommissioned infrastructure
Orphan Detection
Identifies DNS records pointing at resources no longer present in inventory:
- ELB aliases not found in inventory
- CloudFront aliases not found in inventory
- S3 website endpoints not found in inventory
- A record IPs not found in EC2 public IPs or Elastic IPs
- CNAME targets pointing at missing ELBs or S3 buckets
Excludes RFC 1918, loopback, and link-local addresses from IP checks. Reports
truncated: true when pagination limits are reached.
Global Arguments
| Argument | Type | Description |
|---|---|---|
| region | string | AWS region (Route53 is global but STS needs a region) |
| Argument | Type | Description |
|---|---|---|
| includePrivate? | boolean | Include private hosted zones in results |
| Argument | Type | Description |
|---|---|---|
| zoneFilter? | array | Limit to specific zone IDs. Omit for all zones. |
| typeFilter? | array | Limit to specific record types (A, AAAA, CNAME, etc.) |
| Argument | Type | Description |
|---|---|---|
| inventoryModelName? | string | Name of the @webframp/aws/inventory model instance |
| adoptModelName? | string | Name of the @webframp/aws/adopt model instance |
| skipTypes? | array | Record types to skip during orphan detection |
Resources
@webframp/aws/dns-observation v2026.06.27.2
Initial release.
Methods
- list_zones — List all Route53 hosted zones with record counts, public/private status, and VPC associations
- list_records — List all record sets across zones with pagination support
- detect_orphans — Cross-reference DNS record targets against inventory/adopt data to find orphaned entries pointing at decommissioned infrastructure
Orphan Detection
Identifies DNS records pointing at resources no longer present in inventory:
- ELB aliases not found in inventory
- CloudFront aliases not found in inventory
- S3 website endpoints not found in inventory
- A record IPs not found in EC2 public IPs or Elastic IPs
- CNAME targets pointing at missing ELBs or S3 buckets
Excludes RFC 1918, loopback, and link-local addresses from IP checks. Reports
truncated: true when pagination limits are reached.
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit2/2earned
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License declared1/1earned
- Verified public repository2/2earned