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.
List zones
Section titled “List zones”enumctl dns zones listLists all zones in the current project with their status, verification state, and deletion-protection state.
Create a zone
Section titled “Create a zone”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.
| Flag | Description |
|---|---|
--deletion-protection=false | Create the zone with deletion protection disabled |
Verify a zone
Section titled “Verify a zone”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.
Delete a zone
Section titled “Delete a zone”enumctl dns zones delete <domain>Deletes the zone and its records. Fails if the zone has deletion protection enabled; remove protection first.
Protect and unprotect a zone
Section titled “Protect and unprotect a zone”enumctl dns zones protect <domain>enumctl dns zones unprotect <domain>Enables or disables deletion protection. A protected zone cannot be deleted.
Import a zone file
Section titled “Import a zone file”enumctl dns zones import <domain> --file example.com.zoneBulk-loads record sets from a BIND zone file. Reads from stdin when --file is - or omitted.
| Flag | Description |
|---|---|
--file, -f | Zone file to import (- or omitted reads stdin) |
--mode | merge (default), replace, or prune |
--dry-run | Show the changes without applying them |
--force | Apply 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.
Export a zone file
Section titled “Export a zone file”enumctl dns zones export <domain> --file example.com.zoneWrites the zone as a BIND zone file. Writes to stdout when --file is omitted. The zone must be active.
| Flag | Description |
|---|---|
--file, -f | Write to a file instead of stdout |
Records
Section titled “Records”Records are grouped into record sets by name and type. A set holds one or more values that share a TTL.
List record sets
Section titled “List record sets”enumctl dns records list <domain>Lists all record sets in the zone.
Get a record set
Section titled “Get a record set”enumctl dns records get <name> <type>Shows a single record set, for example enumctl dns records get www.example.com A.
Create a record set
Section titled “Create a record set”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.
| Flag | Description |
|---|---|
--ttl | Record TTL in seconds (0 = per-type default) |
--disabled | Create the record set disabled (not served) |
Update a record set
Section titled “Update a record set”enumctl dns records update <name> <type> <value>...Replaces the values of an existing record set. The new value list fully replaces the old one.
| Flag | Description |
|---|---|
--ttl | Record TTL in seconds (0 = per-type default) |
--disabled | Mark the record set disabled (not served) |
Delete a record set
Section titled “Delete a record set”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.