71 lines
3.6 KiB
Plaintext
71 lines
3.6 KiB
Plaintext
|
#compdef boot2docker
|
||
|
|
||
|
# Boot2docker autocompletion for oh-my-zsh
|
||
|
# Requires: Boot2docker installed
|
||
|
# Author: Manfred Touron (@moul)
|
||
|
|
||
|
local -a _1st_arguments
|
||
|
_1st_arguments=(
|
||
|
"init":"Create a new Boot2Docker VM."
|
||
|
"up":"Start VM from any states."
|
||
|
"start":"Start VM from any states."
|
||
|
"boot":"Start VM from any states."
|
||
|
"ssh":"[ssh-command] Login to VM via SSH."
|
||
|
"save":"Suspend VM and save state to disk."
|
||
|
"suspend":"Suspend VM and save state to disk."
|
||
|
"down":"Gracefully shutdown the VM."
|
||
|
"stop":"Gracefully shutdown the VM."
|
||
|
"halt":"Gracefully shutdown the VM."
|
||
|
"restart":"Gracefully reboot the VM."
|
||
|
"poweroff":"Forcefully power off the VM (may corrupt disk image)."
|
||
|
"reset":"Forcefully power cycle the VM (may corrupt disk image)."
|
||
|
"delete":"Delete Boot2Docker VM and its disk image."
|
||
|
"destroy":"Delete Boot2Docker VM and its disk image."
|
||
|
"config":"Show selected profile file settings."
|
||
|
"cfg":"Show selected profile file settings."
|
||
|
"info":"Display detailed information of VM."
|
||
|
"ip":"Display the IP address of the VM's Host-only network."
|
||
|
"socket":"Display the DOCKER_HOST socket to connect to."
|
||
|
"shellinit":"Display the shell command to set up the Docker client."
|
||
|
"status":"Display current state of VM."
|
||
|
"download":"Download Boot2Docker ISO image."
|
||
|
"upgrade":"Upgrade the Boot2Docker ISO image (restart if running)."
|
||
|
"version":"Display version information."
|
||
|
)
|
||
|
|
||
|
_arguments \
|
||
|
'(--basevmdk)--basevmdk[Path to VMDK to use as base for persistent partition]' \
|
||
|
'(--dhcp)--dhcp[enable VirtualBox host-only network DHCP.]' \
|
||
|
'(--dhcpip)--dhcpip[VirtualBox host-only network DHCP server address.]' \
|
||
|
'(-s --disksize)'{-s,--disksize}'[boot2docker disk image size (in MB).]' \
|
||
|
'(--dockerport)--dockerport[host Docker port (forward to port 2376 in VM). (deprecated - use with care)]' \
|
||
|
'(--driver)--driver[hypervisor driver.]' \
|
||
|
'(--hostip)--hostip[VirtualBox host-only network IP address.]' \
|
||
|
'(--iso)--iso[path to boot2docker ISO image.]' \
|
||
|
'(--iso-url)--iso-url[/api.github.com/repos/boot2docker/boot2docker/releases": source URL to provision the boot2docker ISO image.]' \
|
||
|
'(--lowerip)--lowerip[VirtualBox host-only network DHCP lower bound.]' \
|
||
|
'(--memory)'{-m,--memory}'[virtual machine memory size (in MB).]' \
|
||
|
'(--netmask)--netmask[VirtualBox host-only network mask.]' \
|
||
|
'(--no-dummy)--no-dummy[Example parameter for the dummy driver.]' \
|
||
|
'(--retries)--retries[number of port knocking retries during 'start']' \
|
||
|
'(--serial)--serial[try serial console to get IP address (experimental)]' \
|
||
|
'(--serialfile)--serialfile[path to the serial socket/pipe.]' \
|
||
|
'(--ssh)--ssh[path to SSH client utility.]' \
|
||
|
'(--ssh-keygen)--ssh-keygen[path to ssh-keygen utility.]' \
|
||
|
'(--sshkey)--sshkey[path to SSH key to use.]' \
|
||
|
'(--sshport)--sshport[host SSH port (forward to port 22 in VM).]' \
|
||
|
'(--upperip)--upperip[VirtualBox host-only network DHCP upper bound.]' \
|
||
|
'(--vbm)--vbm[path to VirtualBox management utility.]' \
|
||
|
'(--vbox-share)--vbox-share[(defaults to "/Users=Users" if no shares are specified; use "disable" to explicitly prevent any shares from being created) List of directories to share during "up|start|boot" via VirtualBox Guest Additions, with optional labels]' \
|
||
|
'(--verbose)'{-v,--verbose}'[display verbose command invocations.]' \
|
||
|
'(--vm)--vm[virtual machine name.]' \
|
||
|
'(--waittime)--waittime[Time in milliseconds to wait between port knocking retries during 'start']' \
|
||
|
'*:: :->subcmds' && return 0
|
||
|
|
||
|
#_arguments '*:: :->command'
|
||
|
|
||
|
if (( CURRENT == 1 )); then
|
||
|
_describe -t commands "boot2docker command" _1st_arguments
|
||
|
return
|
||
|
fi
|