summaryrefslogtreecommitdiff
path: root/argv.go
diff options
context:
space:
mode:
Diffstat (limited to 'argv.go')
-rw-r--r--argv.go29
1 files changed, 20 insertions, 9 deletions
diff --git a/argv.go b/argv.go
index 7ab034c..d032aea 100644
--- a/argv.go
+++ b/argv.go
@@ -11,15 +11,16 @@ import "go.wit.com/log"
var argv args
type args struct {
- List *ListCmd `arg:"subcommand:list" help:"list things"`
- Config string `arg:"env:VIRTIGO_HOME" help:"defaults to ~/.config/virtigo/"`
- Server string `arg:"env:VIRTIGO_SERVER" help:"what virtigo cluster to connect to"`
- Verbose bool `arg:"--verbose" help:"talk more"`
- Port int `arg:"--port" default:"8080" help:"allow droplet events via http"`
- Xml []string `arg:"--libvirt" help:"import qemu xml files: --libvirt /etc/libvirt/qemu/*.xml"`
- Admin bool `arg:"--admin" help:"enter admin mode"`
- Bash bool `arg:"--bash" help:"generate bash completion"`
- BashAuto []string `arg:"--auto-complete" help:"todo: move this to go-arg"`
+ List *ListCmd `arg:"subcommand:list" help:"list things"`
+ Droplet *DropletCmd `arg:"subcommand:droplet" help:"send events to a droplet"`
+ Config string `arg:"env:VIRTIGO_HOME" help:"defaults to ~/.config/virtigo/"`
+ Server string `arg:"env:VIRTIGO_SERVER" help:"what virtigo cluster to connect to"`
+ Verbose bool `arg:"--verbose" help:"talk more"`
+ Port int `arg:"--port" default:"8080" help:"allow droplet events via http"`
+ Xml []string `arg:"--libvirt" help:"import qemu xml files: --libvirt /etc/libvirt/qemu/*.xml"`
+ Admin bool `arg:"--admin" help:"enter admin mode"`
+ Bash bool `arg:"--bash" help:"generate bash completion"`
+ BashAuto []string `arg:"--auto-complete" help:"todo: move this to go-arg"`
}
type EmptyCmd struct {
@@ -33,6 +34,16 @@ type ListCmd struct {
On bool `arg:"--on" help:"only show things that are on"`
}
+type DropletCmd struct {
+ Start *EmptyCmd `arg:"subcommand:start" help:"start droplet"`
+ Stop *EmptyCmd `arg:"subcommand:stop" help:"stop droplet"`
+ Show *EmptyCmd `arg:"subcommand:show" help:"show droplet"`
+ Console *EmptyCmd `arg:"subcommand:console" help:"open serial console"`
+ VNC *EmptyCmd `arg:"subcommand:vnc" help:"open VNC console"`
+ Spice *EmptyCmd `arg:"subcommand:spice" help:"open spiceconsole"`
+ Name string `arg:"--name" help:"what droplet to start"`
+}
+
func (a args) Description() string {
return `
virtigo: control your cluster