package main var argv args type args struct { 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"` Localhost bool `arg:"--localhost" help:"use the local libvirt"` Daemon bool `arg:"--daemon" help:"run as a daemon"` 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 { } type testCmd string type ListCmd struct { Droplets *EmptyCmd `arg:"subcommand:droplets" help:"list droplets"` Hypervisors *EmptyCmd `arg:"subcommand:hypervisors" help:"list hypervisors"` 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"` }