Command list is growing rather long, making commands hard to find.
Some options make command behave quite differently, such as deploy --copy, whereas other options only tweak small aspects of a command. This makes some functionality hard to find.
Some commands are ambiguous words, like create which could have been about resources, but is about deployments.
Some verbs apply to multiple kinds of objects, like list, plan, or even deploy. This makes for a more consistent experience.
The
nixops
command is a bit chaotic.deploy --copy
, whereas other options only tweak small aspects of a command. This makes some functionality hard to find.create
which could have been about resources, but is about deployments.list
,plan
, or evendeploy
. This makes for a more consistent experience.Some suggestions:
list
->deployment list
create
->deployment create
modify --name
->deployment rename
rename
->resource rename
set-args
->deployment set-arguments
delete
->deployment delete
destroy --include x
->resource destroy x
destroy
->deployment destroy
deploy
->deployment switch
deploy --include x
->resource switch
deploy --dry-run
->deployment build --dry-run
deploy --test
->deployment activate
deploy --boot
->deployment switch-for-boot
deploy --plan
->deployment plan
Some top-level commands are ok when they're frequently used or for the purpose of backward compatibility.
nixops ssh
=nixops resource ssh
nixops deploy
=~nixops deployment switch
nixops create
=nixops deployment create
but deprecatedPlan: