feat(network): add address create, update, delete and reserve verbs - #18
Merged
Merged
Conversation
Drive the legacy ipam/address client the same way network prefix does: flags as payload, identifier validation before any request, confirmation on delete and the same error shape as the registry-driven nouns. update reads the address first and carries the current rDNS name into the PUT, because go-anxcloud sends rdns_name without omitempty and an omitted flag would otherwise clear it. reserve is the leaf action verb docs/cli-design.md already allows; it takes --reservation-period as a duration and renders the reserved addresses as a list.
…semantics Reject an empty reservation result instead of rendering success, require --reservation-period to be at least 1s because the Engine takes whole seconds, and drop the unreachable 32-bit guard. Pin the rDNS carry-over, identifier guards, delete paths and minimal reserve payload in tests, and record the address update and summary behaviour in the design doc.
…eserve exit code Also document the --address flag naming and list network address among the resources that report a provisioning state.
Order the address file by verb like prefix, note why update offers no --name flag, and pin that 1s is accepted while sub-second remainders are truncated to whole seconds.
ProbstenHias
pushed a commit
that referenced
this pull request
Sep 13, 2026
🤖 I have created a release *beep* *boop* --- ## [0.6.0](v0.5.0...v0.6.0) (2026-09-12) ### Features * **kubernetes:** add cluster, node-pool and kubeconfig commands ([#16](#16)) ([cf3599f](cf3599f)) * **network:** add address create, update, delete and reserve verbs ([#18](#18)) ([f485636](f485636)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
`anexia network address` was list/get only. This adds the write verbs the design doc already reserved for it:
Docs: README feature table, usage examples, and `docs/cli-design.md` (verb tables, update semantics, reserve rules, `--address` naming note, `--wait` list) updated to match.
Testing
`make ci` (vet, golangci-lint, `go test -race ./...`) is green. Wire-level tests pin every request method, path, query and JSON body against go-anxcloud v0.14.5 tags, plus usage-error paths that must not reach the Engine, failed GET/PUT/DELETE, the confirmation prompt, table and `-o json` rendering, and reservation-period boundaries (0s, 500ms, -1s rejected; 1s, 1500ms, 1h truncated to seconds).
Four independent review cycles (correctness, tests, contract/docs) were run; the last two found no behavior bugs.