Browse Source

[boot2docker plugin] Initial version

Manfred Touron 9 years ago
parent
commit
95d5f2c641
2 changed files with 76 additions and 0 deletions
  1. 6 0
      plugins/boot2docker/README.md
  2. 70 0
      plugins/boot2docker/_boot2docker

+ 6 - 0
plugins/boot2docker/README.md

@@ -0,0 +1,6 @@
+## Boot2docker autocomplete plugin
+
+- Adds autocomplete options for all boot2docker commands.
+
+
+Maintainer : Manfred Touron ([@moul](https://github.com/moul))

+ 70 - 0
plugins/boot2docker/_boot2docker

@@ -0,0 +1,70 @@
+#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