Skip to content

feat(domain): add domain record update command#592

Open
giornetta wants to merge 3 commits into
masterfrom
386-domain-record-update
Open

feat(domain): add domain record update command#592
giornetta wants to merge 3 commits into
masterfrom
386-domain-record-update

Conversation

@giornetta
Copy link
Copy Markdown
Member

@giornetta giornetta commented May 27, 2026

Closes #386

New: civo domain record update

Adds civo domain record update DOMAIN/DOMAIN_ID RECORD_ID [flags] so DNS records can be modified in place rather than the remove-and-recreate workaround. Wraps civogo's UpdateDNSRecord (PUT /v2/dns/{domain_id}/records/{record_id}).

Flags mirror record create: --name/-n, --value/-v, --type/-e, --ttl/-t, --priority/-p. The existing record is fetched first and only the flags actually passed are overridden, so unspecified fields keep their current values (the API call is a full-replace PUT).

Output consistency across domain commands

While here, made json/custom output consistent across the record commands via a shared dnsRecordOutputWriter helper:

  • create previously emitted the domain's id/name in json/custom (bug) — now emits the full record fields.
  • update emits the full record field set (not just id+name).
  • show used WriteMultipleObjectsJSON for a single object (now WriteSingleObjectJSON) and its type if-chain silently dropped NS records — both fixed.
  • record type is now displayed uppercased (A, CNAME, …) consistently in list, create and update (the API returns it lowercase).

giornetta added 3 commits May 27, 2026 18:16
Implements `civo domain record update DOMAIN/DOMAIN_ID RECORD_ID` so
records can be modified in place instead of remove-and-recreate. Only
flags the user passes are changed; other fields keep their current
values.

Closes #386
Add a shared dnsRecordOutputWriter helper so show, create and update
emit the full record field set in json/custom. Fixes create outputting
the domain's id/name instead of the record's, fixes show using
WriteMultipleObjectsJSON and missing the NS type case, and uppercases
the record type consistently in list, create and update.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

implement civo domain records update

1 participant