Skip to content

DNS

Manage authoritative DNS in your project: zones, record sets, zone-file import and export, and deletion protection. Zones and records are addressed by domain name; the zone of a record is derived from its name.

See the DNS service overview for concepts and the delegation flow.

Terminal window
enumctl dns zones list

Lists all zones in the current project with their status, verification state, and deletion-protection state.

Terminal window
enumctl dns zones create <domain>

Creates a zone for a registrable root domain (for example example.com). enum assigns the zone a pair of nameservers and prints them; set those at your registrar to activate the zone.

FlagDescription
--deletion-protection=falseCreate the zone with deletion protection disabled
Terminal window
enumctl dns zones verify <domain>

Triggers an immediate delegation check instead of waiting for the periodic one. The zone activates only if your registrar’s nameservers point at the assigned pair.

Terminal window
enumctl dns zones delete <domain>

Deletes the zone and its records. Fails if the zone has deletion protection enabled; remove protection first.

Terminal window
enumctl dns zones protect <domain>
enumctl dns zones unprotect <domain>

Enables or disables deletion protection. A protected zone cannot be deleted.

Terminal window
enumctl dns zones import <domain> --file example.com.zone

Bulk-loads record sets from a BIND zone file. Reads from stdin when --file is - or omitted.

FlagDescription
--file, -fZone file to import (- or omitted reads stdin)
--modemerge (default), replace, or prune
--dry-runShow the changes without applying them
--forceApply without confirmation

Modes: merge creates and updates the sets in the file; replace also deletes sets absent from the file; prune deletes all existing sets first, then imports. The SOA and apex NS in the file are ignored, and unsupported types or out-of-zone names are skipped with a warning.

Terminal window
enumctl dns zones export <domain> --file example.com.zone

Writes the zone as a BIND zone file. Writes to stdout when --file is omitted. The zone must be active.

FlagDescription
--file, -fWrite to a file instead of stdout

Records are grouped into record sets by name and type. A set holds one or more values that share a TTL.

Terminal window
enumctl dns records list <domain>

Lists all record sets in the zone.

Terminal window
enumctl dns records get <name> <type>

Shows a single record set, for example enumctl dns records get www.example.com A.

Terminal window
enumctl dns records create <name> <type> <value>...

Creates a record set with one or more values, for example enumctl dns records create www.example.com A 203.0.113.10 203.0.113.11. The zone is derived from the name.

FlagDescription
--ttlRecord TTL in seconds (0 = per-type default)
--disabledCreate the record set disabled (not served)
Terminal window
enumctl dns records update <name> <type> <value>...

Replaces the values of an existing record set. The new value list fully replaces the old one.

FlagDescription
--ttlRecord TTL in seconds (0 = per-type default)
--disabledMark the record set disabled (not served)
Terminal window
enumctl dns records delete <name> <type>

Deletes the record set at the given name and type, for example enumctl dns records delete www.example.com A.