bunny dns manages DNS through three resource groups:
bunny dns recordsmanages the entries within a zone.bunny dns zonesmanages the zone itself: settings, DNSSEC, logging, stats, and nameservers.bunny dns scriptsmanages Scriptable DNS scripts.
[domain] argument accepts either the zone’s domain name or its numeric zone ID, and is optional everywhere. Omit it and the CLI uses the zone linked with bunny dns zones link, or prompts you to pick one. records update and records remove likewise prompt you to pick a record when the ID is omitted.
records aliases to record / rec; zones aliases to zone; scripts aliases to script.
Records
Manage the DNS records within a zone.Record value ordering
Positional values forrecords add follow the record type:
Omit the record type (or all arguments) to run an interactive wizard that prompts for the zone, type, and per-type values.
Zones
Manage zone lifecycle, directory linking, statistics, nameservers, DNSSEC, and query logging.Scripts
Manage Scriptable DNS scripts: code that computes a DNS answer at query time, such as geo routing, weighted or failover answers, and closest-region selection. These are separate from Edge Scripts (bunny scripts, a different runtime).
A script only affects DNS once it backs a SCRIPT record on a zone. Use attach to add that record from the script side.
[id], then .bunny/dns-script.json (written by link / create / init), then the interactive picker.
init starters via --example: empty, geo, closest, weighted, failover, pullzone. Pass --deploy to also create the script on bunny.net after scaffolding.
attach always confirms before writing the record, and attaching at the apex ('@') prints a stronger warning listing any records already at that name.