vagrant-unbundled 2.2.6.1 → 2.2.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (247) hide show
  1. checksums.yaml +4 -4
  2. data/.hashibot.hcl +14 -0
  3. data/CHANGELOG.md +153 -2
  4. data/README.md +5 -7
  5. data/bin/vagrant +23 -0
  6. data/contrib/README.md +1 -0
  7. data/contrib/bash/completion.sh +13 -1
  8. data/contrib/sudoers/linux-suse +2 -2
  9. data/contrib/zsh/_vagrant +736 -0
  10. data/contrib/zsh/generate_zsh_completion.rb +166 -0
  11. data/lib/vagrant.rb +25 -0
  12. data/lib/vagrant/action.rb +8 -0
  13. data/lib/vagrant/action/builder.rb +193 -38
  14. data/lib/vagrant/action/builtin/box_add.rb +15 -7
  15. data/lib/vagrant/action/builtin/box_check_outdated.rb +12 -15
  16. data/lib/vagrant/action/builtin/cleanup_disks.rb +56 -0
  17. data/lib/vagrant/action/builtin/cloud_init_setup.rb +127 -0
  18. data/lib/vagrant/action/builtin/cloud_init_wait.rb +30 -0
  19. data/lib/vagrant/action/builtin/delayed.rb +26 -0
  20. data/lib/vagrant/action/builtin/disk.rb +52 -0
  21. data/lib/vagrant/action/builtin/handle_box.rb +3 -1
  22. data/lib/vagrant/action/builtin/handle_forwarded_port_collisions.rb +28 -9
  23. data/lib/vagrant/action/builtin/has_provisioner.rb +36 -0
  24. data/lib/vagrant/action/builtin/mixin_provisioners.rb +20 -1
  25. data/lib/vagrant/action/builtin/mixin_synced_folders.rb +20 -21
  26. data/lib/vagrant/action/builtin/set_hostname.rb +5 -1
  27. data/lib/vagrant/action/builtin/ssh_run.rb +21 -3
  28. data/lib/vagrant/action/builtin/synced_folders.rb +10 -0
  29. data/lib/vagrant/action/builtin/trigger.rb +37 -0
  30. data/lib/vagrant/action/hook.rb +76 -23
  31. data/lib/vagrant/action/runner.rb +11 -26
  32. data/lib/vagrant/action/warden.rb +28 -22
  33. data/lib/vagrant/box.rb +5 -4
  34. data/lib/vagrant/box_metadata.rb +17 -3
  35. data/lib/vagrant/bundler.rb +265 -53
  36. data/lib/vagrant/cli.rb +4 -2
  37. data/lib/vagrant/errors.rb +61 -1
  38. data/lib/vagrant/machine.rb +56 -6
  39. data/lib/vagrant/machine_index.rb +27 -1
  40. data/lib/vagrant/plugin/manager.rb +25 -14
  41. data/lib/vagrant/plugin/v2/command.rb +6 -2
  42. data/lib/vagrant/plugin/v2/components.rb +6 -0
  43. data/lib/vagrant/plugin/v2/manager.rb +67 -0
  44. data/lib/vagrant/plugin/v2/plugin.rb +13 -0
  45. data/lib/vagrant/plugin/v2/synced_folder.rb +50 -0
  46. data/lib/vagrant/plugin/v2/trigger.rb +64 -25
  47. data/lib/vagrant/shared_helpers.rb +28 -0
  48. data/lib/vagrant/ui.rb +51 -5
  49. data/lib/vagrant/util.rb +1 -0
  50. data/lib/vagrant/util/ansi_escape_code_remover.rb +1 -1
  51. data/lib/vagrant/util/caps.rb +48 -0
  52. data/lib/vagrant/util/credential_scrubber.rb +1 -1
  53. data/lib/vagrant/util/curl_helper.rb +8 -5
  54. data/lib/vagrant/util/directory.rb +19 -0
  55. data/lib/vagrant/util/downloader.rb +7 -3
  56. data/lib/vagrant/util/file_checksum.rb +6 -2
  57. data/lib/vagrant/util/guest_hosts.rb +68 -0
  58. data/lib/vagrant/util/guest_inspection.rb +9 -1
  59. data/lib/vagrant/util/install_cli_autocomplete.rb +118 -0
  60. data/lib/vagrant/util/io.rb +7 -27
  61. data/lib/vagrant/util/ipv4_interfaces.rb +15 -0
  62. data/lib/vagrant/util/is_port_open.rb +8 -20
  63. data/lib/vagrant/util/map_command_options.rb +33 -0
  64. data/lib/vagrant/util/network_ip.rb +11 -1
  65. data/lib/vagrant/util/numeric.rb +69 -0
  66. data/lib/vagrant/util/platform.rb +8 -1
  67. data/lib/vagrant/util/powershell.rb +1 -1
  68. data/lib/vagrant/util/subprocess.rb +9 -1
  69. data/lib/vagrant/vagrantfile.rb +1 -1
  70. data/plugins/commands/autocomplete/command/install.rb +49 -0
  71. data/plugins/commands/autocomplete/command/root.rb +64 -0
  72. data/plugins/commands/autocomplete/plugin.rb +18 -0
  73. data/plugins/commands/box/command/outdated.rb +14 -2
  74. data/plugins/commands/cloud/locales/en.yml +1 -1
  75. data/plugins/commands/cloud/publish.rb +1 -1
  76. data/plugins/commands/destroy/command.rb +6 -2
  77. data/plugins/commands/snapshot/command/save.rb +13 -8
  78. data/plugins/commands/ssh_config/command.rb +1 -1
  79. data/plugins/communicators/ssh/communicator.rb +25 -24
  80. data/plugins/communicators/winrm/config.rb +1 -1
  81. data/plugins/communicators/winrm/helper.rb +1 -1
  82. data/plugins/communicators/winrm/shell.rb +1 -1
  83. data/plugins/communicators/winssh/communicator.rb +126 -38
  84. data/plugins/communicators/winssh/config.rb +3 -7
  85. data/plugins/guests/alpine/cap/change_host_name.rb +10 -11
  86. data/plugins/guests/alpine/cap/rsync.rb +1 -1
  87. data/plugins/guests/alpine/plugin.rb +16 -0
  88. data/plugins/guests/alt/cap/change_host_name.rb +40 -53
  89. data/plugins/guests/arch/cap/change_host_name.rb +5 -14
  90. data/plugins/guests/arch/cap/configure_networks.rb +27 -10
  91. data/plugins/guests/atomic/cap/change_host_name.rb +5 -14
  92. data/plugins/guests/centos/cap/flavor.rb +24 -0
  93. data/plugins/guests/centos/guest.rb +9 -0
  94. data/plugins/guests/centos/plugin.rb +20 -0
  95. data/plugins/guests/darwin/cap/change_host_name.rb +10 -6
  96. data/plugins/guests/darwin/cap/mount_vmware_shared_folder.rb +99 -13
  97. data/plugins/guests/darwin/plugin.rb +5 -0
  98. data/plugins/guests/debian/cap/change_host_name.rb +11 -11
  99. data/plugins/guests/debian/cap/configure_networks.rb +14 -6
  100. data/plugins/guests/esxi/cap/public_key.rb +3 -1
  101. data/plugins/guests/freebsd/cap/change_host_name.rb +10 -6
  102. data/plugins/guests/gentoo/cap/change_host_name.rb +14 -22
  103. data/plugins/guests/haiku/cap/rsync.rb +19 -0
  104. data/plugins/guests/haiku/plugin.rb +15 -0
  105. data/plugins/guests/linux/cap/change_host_name.rb +46 -0
  106. data/plugins/guests/linux/cap/halt.rb +9 -1
  107. data/plugins/guests/linux/cap/mount_smb_shared_folder.rb +16 -0
  108. data/plugins/guests/linux/cap/mount_virtualbox_shared_folder.rb +4 -11
  109. data/plugins/guests/linux/cap/persist_mount_shared_folder.rb +62 -0
  110. data/plugins/guests/linux/cap/reboot.rb +48 -0
  111. data/plugins/guests/linux/plugin.rb +20 -0
  112. data/plugins/guests/omnios/cap/change_host_name.rb +10 -16
  113. data/plugins/guests/openbsd/cap/change_host_name.rb +10 -6
  114. data/plugins/guests/photon/cap/change_host_name.rb +9 -15
  115. data/plugins/guests/pld/cap/change_host_name.rb +11 -17
  116. data/plugins/guests/redhat/cap/change_host_name.rb +10 -5
  117. data/plugins/guests/redhat/cap/flavor.rb +3 -1
  118. data/plugins/guests/redhat/cap/nfs_client.rb +2 -2
  119. data/plugins/guests/redhat/cap/smb.rb +20 -0
  120. data/plugins/guests/redhat/plugin.rb +5 -0
  121. data/plugins/guests/slackware/cap/change_host_name.rb +11 -17
  122. data/plugins/guests/solaris11/plugin.rb +5 -0
  123. data/plugins/guests/suse/cap/change_host_name.rb +13 -12
  124. data/plugins/guests/windows/cap/public_key.rb +3 -3
  125. data/plugins/guests/windows/cap/reboot.rb +2 -1
  126. data/plugins/hosts/darwin/cap/fs_iso.rb +49 -0
  127. data/plugins/hosts/darwin/cap/nfs.rb +11 -0
  128. data/plugins/hosts/darwin/plugin.rb +15 -0
  129. data/plugins/hosts/linux/cap/fs_iso.rb +49 -0
  130. data/plugins/hosts/linux/cap/nfs.rb +21 -2
  131. data/plugins/hosts/linux/cap/rdp.rb +1 -1
  132. data/plugins/hosts/linux/plugin.rb +10 -0
  133. data/plugins/hosts/windows/cap/fs_iso.rb +48 -0
  134. data/plugins/hosts/windows/cap/rdp.rb +1 -1
  135. data/plugins/hosts/windows/plugin.rb +15 -0
  136. data/plugins/kernel_v2/config/cloud_init.rb +126 -0
  137. data/plugins/kernel_v2/config/disk.rb +221 -0
  138. data/plugins/kernel_v2/config/ssh_connect.rb +24 -0
  139. data/plugins/kernel_v2/config/vm.rb +225 -11
  140. data/plugins/kernel_v2/config/vm_provisioner.rb +17 -3
  141. data/plugins/kernel_v2/config/vm_trigger.rb +6 -5
  142. data/plugins/providers/docker/action.rb +8 -17
  143. data/plugins/providers/docker/action/forwarded_ports.rb +2 -0
  144. data/plugins/providers/docker/action/prepare_forwarded_port_collision_params.rb +61 -0
  145. data/plugins/providers/docker/cap/has_communicator.rb +11 -0
  146. data/plugins/providers/docker/communicator.rb +1 -1
  147. data/plugins/providers/docker/driver.rb +73 -10
  148. data/plugins/providers/docker/errors.rb +4 -0
  149. data/plugins/providers/docker/executor/local.rb +7 -1
  150. data/plugins/providers/docker/plugin.rb +5 -0
  151. data/plugins/providers/hyperv/action.rb +2 -0
  152. data/plugins/providers/hyperv/action/configure.rb +8 -0
  153. data/plugins/providers/hyperv/action/export.rb +4 -2
  154. data/plugins/providers/hyperv/cap/cleanup_disks.rb +54 -0
  155. data/plugins/providers/hyperv/cap/configure_disks.rb +200 -0
  156. data/plugins/providers/hyperv/cap/validate_disk_ext.rb +34 -0
  157. data/plugins/providers/hyperv/config.rb +5 -0
  158. data/plugins/providers/hyperv/driver.rb +90 -9
  159. data/plugins/providers/hyperv/plugin.rb +25 -0
  160. data/plugins/providers/hyperv/scripts/attach_disk_drive.ps1 +28 -0
  161. data/plugins/providers/hyperv/scripts/dismount_vhd.ps1 +13 -0
  162. data/plugins/providers/hyperv/scripts/get_vhd.ps1 +16 -0
  163. data/plugins/providers/hyperv/scripts/get_vm_status.ps1 +1 -1
  164. data/plugins/providers/hyperv/scripts/list_hdds.ps1 +17 -0
  165. data/plugins/providers/hyperv/scripts/new_vhd.ps1 +31 -0
  166. data/plugins/providers/hyperv/scripts/remove_disk_drive.ps1 +25 -0
  167. data/plugins/providers/hyperv/scripts/resize_disk_drive.ps1 +18 -0
  168. data/plugins/providers/hyperv/scripts/set_enhanced_session_transport_type.ps1 +24 -0
  169. data/plugins/providers/hyperv/scripts/set_vm_integration_services.ps1 +3 -3
  170. data/plugins/providers/hyperv/scripts/utils/VagrantVM/VagrantVM.psm1 +14 -6
  171. data/plugins/providers/virtualbox/action.rb +14 -1
  172. data/plugins/providers/virtualbox/action/clean_machine_folder.rb +10 -1
  173. data/plugins/providers/virtualbox/action/export.rb +4 -2
  174. data/plugins/providers/virtualbox/action/forward_ports.rb +2 -2
  175. data/plugins/providers/virtualbox/action/import.rb +8 -4
  176. data/plugins/providers/virtualbox/action/prepare_clone_snapshot.rb +4 -2
  177. data/plugins/providers/virtualbox/action/snapshot_delete.rb +4 -2
  178. data/plugins/providers/virtualbox/action/snapshot_restore.rb +4 -2
  179. data/plugins/providers/virtualbox/cap/cleanup_disks.rb +85 -0
  180. data/plugins/providers/virtualbox/cap/configure_disks.rb +440 -0
  181. data/plugins/providers/virtualbox/cap/mount_options.rb +35 -0
  182. data/plugins/providers/virtualbox/cap/validate_disk_ext.rb +34 -0
  183. data/plugins/providers/virtualbox/driver/base.rb +15 -0
  184. data/plugins/providers/virtualbox/driver/meta.rb +17 -2
  185. data/plugins/providers/virtualbox/driver/version_5_0.rb +217 -2
  186. data/plugins/providers/virtualbox/driver/version_6_1.rb +39 -0
  187. data/plugins/providers/virtualbox/model/storage_controller.rb +135 -0
  188. data/plugins/providers/virtualbox/model/storage_controller_array.rb +100 -0
  189. data/plugins/providers/virtualbox/plugin.rb +38 -0
  190. data/plugins/providers/virtualbox/synced_folder.rb +1 -0
  191. data/plugins/provisioners/ansible/cap/guest/alpine/ansible_install.rb +44 -0
  192. data/plugins/provisioners/ansible/cap/guest/arch/ansible_install.rb +20 -3
  193. data/plugins/provisioners/ansible/cap/guest/debian/ansible_install.rb +4 -5
  194. data/plugins/provisioners/ansible/cap/guest/fedora/ansible_install.rb +2 -2
  195. data/plugins/provisioners/ansible/cap/guest/freebsd/ansible_install.rb +2 -2
  196. data/plugins/provisioners/ansible/cap/guest/pip/pip.rb +8 -4
  197. data/plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb +2 -2
  198. data/plugins/provisioners/ansible/cap/guest/suse/ansible_install.rb +2 -1
  199. data/plugins/provisioners/ansible/cap/guest/ubuntu/ansible_install.rb +3 -3
  200. data/plugins/provisioners/ansible/plugin.rb +5 -0
  201. data/plugins/provisioners/ansible/provisioner/base.rb +1 -1
  202. data/plugins/provisioners/container/client.rb +203 -0
  203. data/plugins/provisioners/container/config.rb +83 -0
  204. data/plugins/provisioners/container/installer.rb +13 -0
  205. data/plugins/provisioners/container/plugin.rb +23 -0
  206. data/plugins/provisioners/container/provisioner.rb +28 -0
  207. data/plugins/provisioners/docker/cap/{redhat → centos}/docker_install.rb +10 -7
  208. data/plugins/provisioners/docker/cap/centos/docker_start_service.rb +24 -0
  209. data/plugins/provisioners/docker/client.rb +4 -175
  210. data/plugins/provisioners/docker/config.rb +2 -72
  211. data/plugins/provisioners/docker/installer.rb +3 -5
  212. data/plugins/provisioners/docker/plugin.rb +6 -6
  213. data/plugins/provisioners/docker/provisioner.rb +4 -10
  214. data/plugins/provisioners/podman/cap/centos/podman_install.rb +35 -0
  215. data/plugins/provisioners/podman/cap/linux/podman_installed.rb +13 -0
  216. data/plugins/provisioners/podman/cap/redhat/podman_install.rb +26 -0
  217. data/plugins/provisioners/podman/client.rb +12 -0
  218. data/plugins/provisioners/podman/config.rb +28 -0
  219. data/plugins/provisioners/podman/installer.rb +33 -0
  220. data/plugins/provisioners/podman/plugin.rb +38 -0
  221. data/plugins/provisioners/podman/provisioner.rb +52 -0
  222. data/plugins/provisioners/salt/provisioner.rb +4 -0
  223. data/plugins/provisioners/shell/config.rb +1 -6
  224. data/plugins/provisioners/shell/provisioner.rb +61 -26
  225. data/plugins/synced_folders/nfs/synced_folder.rb +3 -1
  226. data/plugins/synced_folders/smb/cap/default_fstab_modification.rb +11 -0
  227. data/plugins/synced_folders/smb/cap/mount_options.rb +36 -0
  228. data/plugins/synced_folders/smb/plugin.rb +10 -0
  229. data/plugins/synced_folders/smb/synced_folder.rb +2 -2
  230. data/plugins/synced_folders/unix_mount_helpers.rb +14 -0
  231. data/templates/commands/init/Vagrantfile.erb +1 -1
  232. data/templates/guests/arch/{network_dhcp.erb → default_network/network_dhcp.erb} +0 -0
  233. data/templates/guests/arch/{network_static.erb → default_network/network_static.erb} +0 -0
  234. data/templates/guests/arch/{network_static6.erb → default_network/network_static6.erb} +0 -0
  235. data/templates/guests/arch/systemd_networkd/network_dhcp.erb +6 -0
  236. data/templates/guests/arch/systemd_networkd/network_static.erb +9 -0
  237. data/templates/guests/arch/systemd_networkd/network_static6.erb +9 -0
  238. data/templates/guests/linux/etc_fstab.erb +6 -0
  239. data/templates/locales/en.yml +235 -6
  240. data/templates/locales/providers_docker.yml +6 -0
  241. data/templates/nfs/exports_darwin.erb +7 -0
  242. data/vagrant.gemspec +12 -12
  243. data/version.txt +1 -1
  244. metadata +3937 -3686
  245. data/lib/vagrant/action/builtin/after_trigger.rb +0 -31
  246. data/lib/vagrant/action/builtin/before_trigger.rb +0 -28
  247. data/plugins/provisioners/docker/cap/redhat/docker_start_service.rb +0 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3877d5536d61bcd8f8dfb66eb3154c25dce4dba2807a15b957335079e2e8d931
4
- data.tar.gz: c39816ad0bda48892e90cf770fad896292c5d3a5e75566d14ee8059294dd1102
3
+ metadata.gz: d625edeb97ba13f5f08f17901d1bc642034e6742e3a790c7392487d8b65548d1
4
+ data.tar.gz: 7b1c09badb49f546e1d13db200840007ed671428f55b702591daed6a23fb512a
5
5
  SHA512:
6
- metadata.gz: 59b28f25f056aa10909d0226d4cc38a19fe6568f75602f1e3820a91b70c3d0048356df7038c0192e9ad3f0fa50dd754c6b896d599c22733576cd4130bd3635ea
7
- data.tar.gz: af8e6cfffaa0e1bfe4fd8df9f315200ac376064471c1b45e3e31fcad0fb54133ed2d9e00e0226b812e4c167fe04e7f9d86156e4cb9095d8189ccd1b89dfffa27
6
+ metadata.gz: 01e2904251bdfc815bf1dd5a6272c2b84a99225842d8ec2a761296af1479ab3fa112ad4c52460604296299471cc28c1a01cfcf237cc13a04867342feb4dc135f
7
+ data.tar.gz: f1a8ab0331ca605242690523fd479b292ec43a34719fa787e8617fb3a3bd7512824e468b72e32e9b5b89f48867b15e68a9556c52d4c6beb3fbf291ae9d7bb9bd
@@ -0,0 +1,14 @@
1
+ poll "closed_issue_locker" "locker" {
2
+ schedule = "0 50 1 * * *"
3
+ closed_for = "720h" # 30 days
4
+ max_issues = 500
5
+ sleep_between_issues = "5s"
6
+
7
+ no_comment_if_no_activity_for = "4320h" # 180 days
8
+
9
+ message = <<-EOF
10
+ I'm going to lock this issue because it has been closed for _30 days_ ⏳. This helps our maintainers find and focus on the active issues.
11
+
12
+ If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.
13
+ EOF
14
+ }
@@ -1,3 +1,154 @@
1
+ ## 2.2.10 (August 24, 2020)
2
+
3
+ FEATURES:
4
+
5
+ - hyperv/disks: Add ability to manage virtual disks for guests [GH-11541]
6
+
7
+ IMPROVEMENTS:
8
+
9
+ - core: Allow provisioners to be run when a communicator is not available [GH-11579]
10
+ - core: Add `autocomplete` command that allows for install of bash or zsh autocomplete scripts [GH-11523]
11
+ - core: Update to childprocess gem to 4.0.0 [GH-11717]
12
+ - core: Add action to wait for cloud-init to finish running [GH-11773]
13
+ - core: Update to net-ssh to 6.0 and net-sftp to 3.0 [GH-11621]
14
+ - core: Optimize port in use check for faster validation [GH-11810]
15
+ - core: Support for Ruby 2.7 [GH-11814]
16
+ - core: Add synced folder capabilities for mount options and default fstab modification behavior [GH-11797]
17
+ - guest/arch: Use systemd-networkd to configure networking for guests [GH-11400]
18
+ - guest/haiku: Rsync install for rsync synced folders [GH-11614]
19
+ - guest/solaris11: Add guest capability shell_expand_guest_path [GH-11759]
20
+ - host/darwin: Add ability to build ISO [GH-11694]
21
+ - hosts/linux: Add ability to build ISO [GH-11750]
22
+ - hosts/windows: Add ability to build ISO [GH-11750]
23
+ - providers/hyperv: Add support for SecureBootTemplate setting on import [GH-11756]
24
+ - providers/hyperv: Add support for EnhancedSessionTransportType [GH-11014]
25
+ - virtualbox/disks: Add ability to manage virtual dvds for guests [GH-11613]
26
+
27
+ BUG FIXES:
28
+
29
+ - core: Ensure MapCommandOptions class is required [GH-11629]
30
+ - core: Fix `:all` special value on triggers [GH-11688]
31
+ - core: Ensure network addresses have a valid netmask [GH-11679]
32
+ - core: Recover local machine metadata in global index [GH-11656]
33
+ - core: Print CLI help message is ambiguous option provided [GH-11746]
34
+ - core: Update how `/etc/hosts` gets updated for darwin, freebsd and openbsd [GH-11719]
35
+ - core: Capture `[3J` escape sequence [GH-11807]
36
+ - core: Treat empty box value as invalid [GH-11618]
37
+ - core: Allow forwarding ports to unknown addresses [GH-11810]
38
+ - core: Scrub credentials as whole words [GH-11837]
39
+ - commands/destroy: Add gracefull option to switch beween gracefully or forcefully shutting down a vm [GH-11628]
40
+ - communicator/ssh: Raise an error for a nil exit status [GH-11721]
41
+ - communicator/winrm: Check for nil return from querying for forwarded ports [GH-11831]
42
+ - config/vm: Add option `allow_hosts_modification` to allow/disable Vagrant editing the guests `/etc/hosts` file [GH-11565]
43
+ - config/vm: Add config option `hostname` to `config.vm.network` [GH-11566]
44
+ - config/vm: Don't ignore NFS synced folders on Windows hosts [GH-11631]
45
+ - host: Use regular port check for loopback addresses [GH-11654]
46
+ - host: Allow windows and linux hosts to detach from rdp process [GH-11732]
47
+ - host/windows: Properly register SMB password validation capability [GH-11795]
48
+ - guests: Allow setting of hostname according to `hostname` option for multiple guests [GH-11704]
49
+ - guest/alpine: Allow setting of hostname according to `hostname` option [GH-11718]
50
+ - guest/esxi: Be more permissive with permissions of ssh directory [GH-11587]
51
+ - guest/linux: Add virtual box shared folders to guest fstab [GH-11570]
52
+ - guest/suse: Allow setting of hostname according to `hostname` option [GH-11567]
53
+ - providers/docker: Ensure new containers don't grab existing bound ports [GH-11602]
54
+ - providers/hyperv: Fix check for secure boot [GH-11809]
55
+ - providers/virtualbox: Fix inability to create disk with same name across multiple guests [GH-11767]
56
+ - provisioners/docker: Allow to specify docker image version using the `run` option [GH-11806]
57
+ - provisioners/file: Allow creating empty folders [GH-11805]
58
+ - provisioners/shell: Ensure Windows shell provisioner gets the correct file extension [GH-11644]
59
+ - util/powershell: Use correct powershell executable for privileged commands [GH-11787]
60
+
61
+ ## 2.2.9 (May 07, 2020)
62
+
63
+ BUG FIXES:
64
+
65
+ - core/bundler: Properly handle plugin install with available specification [GH-11592]
66
+ - provisioners/docker: Fix CentOS docker install and start service capabilities [GH-11581]
67
+ - provisioners/podman: Seperate RHEL install from CentOS install [GH-11584]
68
+
69
+ ## 2.2.8 (May 04, 2020)
70
+
71
+ FEATURES:
72
+
73
+ - virtualbox/disks: Add ability to manage virtual disks for guests [GH-11349]
74
+
75
+ IMPROVEMENTS:
76
+
77
+ - bin/vagrant: Automatically include global options within commands [GH-11473]
78
+ - bin/vagrant: Suppress Ruby warnings when not running pre-release version [GH-11446]
79
+ - communicator/ssh: Add support for configuring SSH connect timeout [GH-11533]
80
+ - core: Update childprocess gem [GH-11487]
81
+ - core: Add cli option `--no-tty` [GH-11414]
82
+ - core: Overhaul call stack modifications implementation for hooks and triggers [GH-11455]
83
+ - core/bundler: Cache plugin solution sets to speed up startup times [GH-11363]
84
+ - config/vm: Add`box_download_options` config to specify extra download options for a box [GH-11560]
85
+ - guest/alpine: Add ansible provisioner guest support [GH-11411]
86
+ - guest/linux: Update systemd? check to use sudo [GH-11398]
87
+ - guest/linux: Use systemd if available to halt and reboot system [GH-11407]
88
+ - guests/linux: Mount smb folders with `mfsymlinks` option by default [GH-11503]
89
+ - guest/redhat: Add support for SMB [GH-11463]
90
+ - guest/windows: Rescue all regular exceptions during reboot wait [GH-11428]
91
+ - providers/docker: Support catching container name when using podman [GH-11356]
92
+ - provisioners/docker: Support Centos8 [GH-11462]
93
+ - provisioners/podman: Add Podman as a provisioner [GH-11472]
94
+ - provisioners/salt: Allow specifying python_version [GH-11436]
95
+
96
+ BUG FIXES:
97
+
98
+ - communicators/winssh: Fix issues with Windows SSH communicator [GH-11430]
99
+ - core/bundler: Activate vagrant specification when not active [GH-11445]
100
+ - core/bundler: Properly resolve sets when Vagrant is in prerelease [GH-11571]
101
+ - core/downloader: Always set `-q` flag as first option [GH-11366]
102
+ - core/hooks: Update dynamic action hook implementation to prevent looping [GH-11427]
103
+ - core/synced_folders: Validate type option if set [GH-11359]
104
+ - guests/debian: Choose netplan renderer based on network configuration and installed tools [GH-11498]
105
+ - host/darwin: Quote directories in /etc/exports [GH-11441]
106
+ - host/linux: Ensure `/etc/exports` does not contain duplicate records [GH-10591]
107
+ - host/windows: Check all interfaces for port conflict when host_ip: "0.0.0.0" [GH-11454]
108
+ - providers/docker: Fix issue where Vagrant fails to remove image if it is in use [GH-11355]
109
+ - providers/docker: Fix issue with getting correct docker image id from build output [GH-11461]
110
+ - providers/hyperv: Prevent error when identity reference cannot be translated [GH-11425]
111
+ - provider/hyperv: Use service id for manipulating vm integration services [GH-11499]
112
+ - providers/virtualbox: Parse `list dhcpservers` output on VirtualBox 6.1 [GH-11404]
113
+ - providers/virtualbox: Raise an error if guest IP ends in .1 [GH-11500]
114
+ - provisioners/shell: Ensure windows shell provisioners always get an extension [GH-11517]
115
+ - util/io: Fix encoding conversion errors [GH-11571]
116
+
117
+ ## 2.2.7 (January 27, 2020)
118
+
119
+ IMPROVEMENTS:
120
+
121
+ - guest/opensuse: Check for basename hostname prior to setting hostname [GH-11170]
122
+ - host/linux: Check for modinfo in /sbin if it's not on PATH [GH-11178]
123
+ - core: Show guest name in hostname error message [GH-11175]
124
+ - provisioners/shell: Linux guests now support `reboot` option [GH-11194]
125
+ - darwin/nfs: Put each NFS export on its own line [GH-11216]
126
+ - contrib/bash: Add more completion flags to up command [GH-11223]
127
+ - provider/virtualbox: Add VirtualBox provider support for version 6.1.x [GH-11250]
128
+ - box/outdated: Allow to force check for box updates and ignore cached check [GH-11231]
129
+ - guest/alpine: Update apk cache when installing rsync [GH-11220]
130
+ - provider/virtualbox: Improve error message when machine folder is inaccessible [GH-11239]
131
+ - provisioner/ansible_local: Add pip install method for arch guests [GH-11265]
132
+ - communicators/winssh: Use Windows shell for `vagrant ssh -c` [GH-11258]
133
+
134
+ BUG FIXES:
135
+
136
+ - command/snapshot/save: Fix regression that prevented snapshot of all guests in environment [GH-11152]
137
+ - core: Update UI to properly retain newlines when adding prefix [GH-11126]
138
+ - core: Check if box update is available locally [GH-11188]
139
+ - core: Ensure Vagrant::Errors are loaded in file_checksum util [GH-11183]
140
+ - cloud/publish: Improve argument handling for missing arguments to command [GH-11184]
141
+ - core: Get latest version for current provider during outdated check [GH-11192]
142
+ - linux/nfs: avoid adding extra newlines to /etc/exports [GH-11201]
143
+ - guest/darwin: Fix VMware synced folders on APFS [GH-11267]
144
+ - guest/redhat: Ensure `nfs-server` is restarted when installing nfs client [GH-11212]
145
+ - core: Do not validate checksums if options are empty string [GH-11211]
146
+ - provider/docker: Enhance docker build method to match against buildkit output [GH-11205]
147
+ - provisioner/ansible_local: Don't prompt for input when installing Ansible on Ubuntu and Debian [GH-11191]
148
+ - provisioner/ansible_local: Ensure all guest caps accept all passed in arguments [GH-11265]
149
+ - host/windows: Fix regression that prevented port collisions from being detected [GH-11244]
150
+ - core/provisioner: Set top level provisioner name if set in a provisioner config [GH-11295]
151
+
1
152
  ## 2.2.6 (October 14, 2019)
2
153
 
3
154
  FEATURES:
@@ -13,7 +164,7 @@ IMPROVEMENTS:
13
164
  - guest/alt: Improve handling for using network tools when setting hostname [GH-11000]
14
165
  - guest/suse: Add ipv6 network config templates for SUSE based distributions [GH-11013]
15
166
  - guest/windows: Retry on connection timeout errors for the reboot capability [GH-11093]
16
- - host/bsd: Use host resolve path capability to modify local paths if requird [GH-11108]
167
+ - host/bsd: Use host resolve path capability to modify local paths if required [GH-11108]
17
168
  - host/darwin: Add host resolve path capability to provide real paths for firmlinks [GH-11108]
18
169
  - provisioners/chef: Update pkg install flags for chef on FreeBSD guests [GH-11075]
19
170
  - provider/hyperv: Improve error message when VMMS is not running [GH-10978]
@@ -509,7 +660,7 @@ BUG FIXES:
509
660
  - core: Rescue more exceptions when checking if port is open [GH-8517]
510
661
  - guests/solaris11: Inherit from Solaris guest and keep solaris11 specific methods [GH-9034]
511
662
  - guests/windows: Split out cygwin path helper for msys2/cygwin paths and ensure cygpath exists [GH-8972]
512
- - guests/windows: Specify expected shell when executing on guest (fixes winssh communicator usage) [GH-9012]
663
+ - guests/windows: Specify expected shell when executing on guest (fixes einssh communicator usage) [GH-9012]
513
664
  - guests/windows: Include WinSSH Communicator when using insert_public_key [GH-9105]
514
665
  - hosts/windows: Check for vagrant.exe when validating versions within WSL [GH-9107, GH-8962]
515
666
  - providers/docker: Isolate windows check within executor to handle running through VM [GH-8921]
data/README.md CHANGED
@@ -1,10 +1,8 @@
1
1
  # Vagrant
2
2
 
3
- * Website: [https://www.vagrantup.com/](https://www.vagrantup.com/)
4
- * Source: [https://github.com/hashicorp/vagrant](https://github.com/hashicorp/vagrant)
5
- * [![Gitter chat](https://badges.gitter.im/mitchellh/vagrant.png)](https://gitter.im/mitchellh/vagrant)
6
- * Mailing list: [Google Groups](https://groups.google.com/group/vagrant-up)
7
- * IRC: #vagrant on freenode.org
3
+ - Website: [https://www.vagrantup.com/](https://www.vagrantup.com/)
4
+ - Source: [https://github.com/hashicorp/vagrant](https://github.com/hashicorp/vagrant)
5
+ - HashiCorp Discuss: [https://discuss.hashicorp.com/c/vagrant/24](https://discuss.hashicorp.com/c/vagrant/24)
8
6
 
9
7
  Vagrant is a tool for building and distributing development environments.
10
8
 
@@ -43,12 +41,12 @@ the box doesn't already exist on your system.
43
41
  ## Getting Started Guide
44
42
 
45
43
  To learn how to build a fully functional development environment, follow the
46
- [getting started guide](https://www.vagrantup.com/docs/getting-started/index.html).
44
+ [getting started guide](https://www.vagrantup.com/docs/getting-started).
47
45
 
48
46
  ## Installing from Source
49
47
 
50
48
  If you want the bleeding edge version of Vagrant, we try to keep master pretty stable
51
- and you're welcome to give it a shot. Please review the installation page [here](https://www.vagrantup.com/docs/installation/source.html).
49
+ and you're welcome to give it a shot. Please review the installation page [here](https://www.vagrantup.com/docs/installation/source).
52
50
 
53
51
  ## Contributing to Vagrant
54
52
 
@@ -94,6 +94,23 @@ begin
94
94
  # Schedule the cleanup of things
95
95
  at_exit(&Vagrant::Bundler.instance.method(:deinit))
96
96
 
97
+ # If this is not a pre-release disable verbose output
98
+ if !Vagrant.prerelease?
99
+ $VERBOSE = nil
100
+ end
101
+
102
+ # Add any option flags defined within this file here
103
+ # so they are automatically propagated to all commands
104
+ Vagrant.add_default_cli_options(proc { |o|
105
+ o.on("--[no-]color", "Enable or disable color output")
106
+ o.on("--machine-readable", "Enable machine readable output")
107
+ o.on("-v", "--version", "Display Vagrant version")
108
+ o.on("--debug", "Enable debug output")
109
+ o.on("--timestamp", "Enable timestamps on log output")
110
+ o.on("--debug-timestamp", "Enable debug output with timestamps")
111
+ o.on("--no-tty", "Enable non-interactive output")
112
+ })
113
+
97
114
  # Create a logger right away
98
115
  logger = Log4r::Logger.new("vagrant::bin::vagrant")
99
116
  logger.info("`vagrant` invoked: #{ARGV.inspect}")
@@ -130,6 +147,12 @@ begin
130
147
  opts[:ui_class] = Vagrant::UI::MachineReadable
131
148
  end
132
149
 
150
+ # Setting to enable/disable showing progress bars
151
+ if argv.include?("--no-tty")
152
+ argv.delete("--no-tty")
153
+ opts[:ui_class] = Vagrant::UI::NonInteractive
154
+ end
155
+
133
156
  # Default to colored output
134
157
  opts[:ui_class] ||= Vagrant::UI::Colored
135
158
 
@@ -14,3 +14,4 @@ for each item will be kept below.
14
14
  starting machines.
15
15
  * `vim` - Contains a `.vim` file for enabling Ruby syntax highlighting
16
16
  for `Vagrantfile`s in `vim`.
17
+ * `zsh` - Contains a zsh script for improving autocompletion with zsh.
@@ -75,7 +75,19 @@ _vagrant() {
75
75
  then
76
76
  local vm_list=$(find "${vagrant_state_file}/machines" -mindepth 1 -maxdepth 1 -type d -exec basename {} \;)
77
77
  fi
78
- local up_commands="--no-provision"
78
+ local up_commands="\
79
+ --provision \
80
+ --no-provision \
81
+ --provision-with \
82
+ --destroy-on-error \
83
+ --no-destroy-on-error \
84
+ --parallel \
85
+ --no-parallel
86
+ --provider \
87
+ --install-provider \
88
+ --no-install-provider \
89
+ -h \
90
+ --help"
79
91
  COMPREPLY=($(compgen -W "${up_commands} ${vm_list}" -- ${cur}))
80
92
  return 0
81
93
  ;;
@@ -1,6 +1,6 @@
1
1
  Cmnd_Alias VAGRANT_CHOWN = /usr/bin/chown 0\:0 /tmp/vagrant[a-z0-9-]*
2
2
  Cmnd_Alias VAGRANT_MV = /usr/bin/mv -f /tmp/vagrant[a-z0-9-]* /etc/exports
3
- Cmnd_Alias VAGRANT_START = /sbin/service nfsserver start
4
- Cmnd_Alias VAGRANT_STATUS = /sbin/service nfsserver status
3
+ Cmnd_Alias VAGRANT_START = /usr/bin/systemctl start --no-pager nfs-server
4
+ Cmnd_Alias VAGRANT_STATUS = /usr/bin/systemctl status --no-pager nfs-server
5
5
  Cmnd_Alias VAGRANT_APPLY = /usr/sbin/exportfs -ar
6
6
  %vagrant ALL=(root) NOPASSWD: VAGRANT_CHOWN, VAGRANT_MV, VAGRANT_START, VAGRANT_STATUS, VAGRANT_APPLY
@@ -0,0 +1,736 @@
1
+
2
+ #compdef _vagrant vagrant
3
+
4
+ # ZSH completion for Vagrant
5
+ #
6
+ # To use this completion add this to ~/.zshrc
7
+ # fpath=(/path/to/this/dir $fpath)
8
+ # compinit
9
+ #
10
+ # For development reload the function after making changes
11
+ # unfunction _vagrant && autoload -U _vagrant
12
+
13
+
14
+ __box_list ()
15
+ {
16
+ _wanted application expl 'command' compadd $(command vagrant box list | awk '{print $1}' )
17
+ }
18
+
19
+
20
+ __plugin_list ()
21
+ {
22
+ _wanted application expl 'command' compadd $(command vagrant plugin list | awk '{print $1}')
23
+ }
24
+
25
+
26
+ function _vagrant () {
27
+
28
+ local -a sub_commands && sub_commands=(
29
+ 'box:manages boxes: installation, removal, etc.'
30
+ 'cloud:manages everything related to Vagrant Cloud'
31
+ 'destroy:stops and deletes all traces of the vagrant machine'
32
+ 'global-status:outputs status Vagrant environments for this user'
33
+ 'halt:stops the vagrant machine'
34
+ 'help:shows the help for a subcommand'
35
+ 'init:initializes a new Vagrant environment by creating a Vagrantfile'
36
+ 'login:'
37
+ 'package:packages a running vagrant environment into a box'
38
+ 'plugin:manages plugins: install, uninstall, update, etc.'
39
+ 'port:displays information about guest port mappings'
40
+ 'powershell:connects to machine via powershell remoting'
41
+ 'provision:provisions the vagrant machine'
42
+ 'push:deploys code in this environment to a configured destination'
43
+ 'rdp:connects to machine via RDP'
44
+ 'reload:restarts vagrant machine, loads new Vagrantfile configuration'
45
+ 'resume:resume a suspended vagrant machine'
46
+ 'snapshot:manages snapshots: saving, restoring, etc.'
47
+ 'ssh:connects to machine via SSH'
48
+ 'ssh-config:outputs OpenSSH valid configuration to connect to the machine'
49
+ 'status:outputs status of the vagrant machine'
50
+ 'suspend:suspends the machine'
51
+ 'up:starts and provisions the vagrant environment'
52
+ 'upload:upload to machine via communicator'
53
+ 'validate:validates the Vagrantfile'
54
+ 'version:prints current and latest Vagrant version'
55
+ 'winrm:executes commands on a machine via WinRM'
56
+ 'winrm-config:outputs WinRM configuration to connect to the machine'
57
+ )
58
+
59
+ local -a cloud_arguments && cloud_arguments=(
60
+ '--(no-)color=[Enable or disable color output]'
61
+ '--machine-readable=[Enable machine readable output]'
62
+ '--debug=[Enable debug output]'
63
+ '--timestamp=[Enable timestamps on log output]'
64
+ '--debug-timestamp=[Enable debug output with timestamps]'
65
+ '--no-tty=[Enable non_interactive output]'
66
+ )
67
+
68
+ local -a destroy_arguments && destroy_arguments=(
69
+ '--(no-)parallel=[Enable or disable parallelism if provider supports it (automatically enables force)]'
70
+ '--(no-)color=[Enable or disable color output]'
71
+ '--machine-readable=[Enable machine readable output]'
72
+ '--debug=[Enable debug output]'
73
+ '--timestamp=[Enable timestamps on log output]'
74
+ '--debug-timestamp=[Enable debug output with timestamps]'
75
+ '--no-tty=[Enable non_interactive output]'
76
+ )
77
+
78
+ local -a global_status_arguments && global_status_arguments=(
79
+ '--prune=[Prune invalid entries.]'
80
+ '--(no-)color=[Enable or disable color output]'
81
+ '--machine-readable=[Enable machine readable output]'
82
+ '--debug=[Enable debug output]'
83
+ '--timestamp=[Enable timestamps on log output]'
84
+ '--debug-timestamp=[Enable debug output with timestamps]'
85
+ '--no-tty=[Enable non_interactive output]'
86
+ )
87
+
88
+ local -a halt_arguments && halt_arguments=(
89
+ '--(no-)color=[Enable or disable color output]'
90
+ '--machine-readable=[Enable machine readable output]'
91
+ '--debug=[Enable debug output]'
92
+ '--timestamp=[Enable timestamps on log output]'
93
+ '--debug-timestamp=[Enable debug output with timestamps]'
94
+ '--no-tty=[Enable non_interactive output]'
95
+ )
96
+
97
+ local -a help_arguments && help_arguments=(
98
+ '--(no-)color=[Enable or disable color output]'
99
+ '--machine-readable=[Enable machine readable output]'
100
+ '--debug=[Enable debug output]'
101
+ '--timestamp=[Enable timestamps on log output]'
102
+ '--debug-timestamp=[Enable debug output with timestamps]'
103
+ '--no-tty=[Enable non_interactive output]'
104
+ )
105
+
106
+ local -a init_arguments && init_arguments=(
107
+ '--box-version=[Version of the box to add]'
108
+ '--output=[Output path for the box. _ for stdout]'
109
+ '--template=[Path to custom Vagrantfile template]'
110
+ '--(no-)color=[Enable or disable color output]'
111
+ '--machine-readable=[Enable machine readable output]'
112
+ '--debug=[Enable debug output]'
113
+ '--timestamp=[Enable timestamps on log output]'
114
+ '--debug-timestamp=[Enable debug output with timestamps]'
115
+ '--no-tty=[Enable non_interactive output]'
116
+ )
117
+
118
+ local -a login_arguments && login_arguments=(
119
+ '--(no-)color=[Enable or disable color output]'
120
+ '--machine-readable=[Enable machine readable output]'
121
+ '--debug=[Enable debug output]'
122
+ '--timestamp=[Enable timestamps on log output]'
123
+ '--debug-timestamp=[Enable debug output with timestamps]'
124
+ '--no-tty=[Enable non_interactive output]'
125
+ )
126
+
127
+ local -a package_arguments && package_arguments=(
128
+ '--base=[Name of a VM in VirtualBox to package as a base box (VirtualBox Only)]'
129
+ '--output=[Name of the file to output]'
130
+ '--include=[Comma separated additional files to package with the box]'
131
+ '--vagrantfile=[Vagrantfile to package with the box]'
132
+ '--(no-)color=[Enable or disable color output]'
133
+ '--machine-readable=[Enable machine readable output]'
134
+ '--debug=[Enable debug output]'
135
+ '--timestamp=[Enable timestamps on log output]'
136
+ '--debug-timestamp=[Enable debug output with timestamps]'
137
+ '--no-tty=[Enable non_interactive output]'
138
+ )
139
+
140
+ local -a port_arguments && port_arguments=(
141
+ '--guest=[Output the host port that maps to the given guest port]'
142
+ '--(no-)color=[Enable or disable color output]'
143
+ '--machine-readable=[Enable machine readable output]'
144
+ '--debug=[Enable debug output]'
145
+ '--timestamp=[Enable timestamps on log output]'
146
+ '--debug-timestamp=[Enable debug output with timestamps]'
147
+ '--no-tty=[Enable non_interactive output]'
148
+ )
149
+
150
+ local -a powershell_arguments && powershell_arguments=(
151
+ '--(no-)color=[Enable or disable color output]'
152
+ '--machine-readable=[Enable machine readable output]'
153
+ '--debug=[Enable debug output]'
154
+ '--timestamp=[Enable timestamps on log output]'
155
+ '--debug-timestamp=[Enable debug output with timestamps]'
156
+ '--no-tty=[Enable non_interactive output]'
157
+ )
158
+
159
+ local -a provision_arguments && provision_arguments=(
160
+ '--provision-with=[Enable only certain provisioners, by type or by name.]'
161
+ '--(no-)color=[Enable or disable color output]'
162
+ '--machine-readable=[Enable machine readable output]'
163
+ '--debug=[Enable debug output]'
164
+ '--timestamp=[Enable timestamps on log output]'
165
+ '--debug-timestamp=[Enable debug output with timestamps]'
166
+ '--no-tty=[Enable non_interactive output]'
167
+ )
168
+
169
+ local -a push_arguments && push_arguments=(
170
+ '--(no-)color=[Enable or disable color output]'
171
+ '--machine-readable=[Enable machine readable output]'
172
+ '--debug=[Enable debug output]'
173
+ '--timestamp=[Enable timestamps on log output]'
174
+ '--debug-timestamp=[Enable debug output with timestamps]'
175
+ '--no-tty=[Enable non_interactive output]'
176
+ )
177
+
178
+ local -a rdp_arguments && rdp_arguments=(
179
+ '--(no-)color=[Enable or disable color output]'
180
+ '--machine-readable=[Enable machine readable output]'
181
+ '--debug=[Enable debug output]'
182
+ '--timestamp=[Enable timestamps on log output]'
183
+ '--debug-timestamp=[Enable debug output with timestamps]'
184
+ '--no-tty=[Enable non_interactive output]'
185
+ )
186
+
187
+ local -a reload_arguments && reload_arguments=(
188
+ '--(no-)provision=[Enable or disable provisioning]'
189
+ '--provision-with=[Enable only certain provisioners, by type or by name.]'
190
+ '--(no-)color=[Enable or disable color output]'
191
+ '--machine-readable=[Enable machine readable output]'
192
+ '--debug=[Enable debug output]'
193
+ '--timestamp=[Enable timestamps on log output]'
194
+ '--debug-timestamp=[Enable debug output with timestamps]'
195
+ '--no-tty=[Enable non_interactive output]'
196
+ )
197
+
198
+ local -a resume_arguments && resume_arguments=(
199
+ '--(no-)provision=[Enable or disable provisioning]'
200
+ '--provision-with=[Enable only certain provisioners, by type or by name.]'
201
+ '--(no-)color=[Enable or disable color output]'
202
+ '--machine-readable=[Enable machine readable output]'
203
+ '--debug=[Enable debug output]'
204
+ '--timestamp=[Enable timestamps on log output]'
205
+ '--debug-timestamp=[Enable debug output with timestamps]'
206
+ '--no-tty=[Enable non_interactive output]'
207
+ )
208
+
209
+ local -a ssh_arguments && ssh_arguments=(
210
+ '--(no-)color=[Enable or disable color output]'
211
+ '--machine-readable=[Enable machine readable output]'
212
+ '--debug=[Enable debug output]'
213
+ '--timestamp=[Enable timestamps on log output]'
214
+ '--debug-timestamp=[Enable debug output with timestamps]'
215
+ '--no-tty=[Enable non_interactive output]'
216
+ )
217
+
218
+ local -a ssh_config_arguments && ssh_config_arguments=(
219
+ '--host=[Name the host for the config]'
220
+ '--(no-)color=[Enable or disable color output]'
221
+ '--machine-readable=[Enable machine readable output]'
222
+ '--debug=[Enable debug output]'
223
+ '--timestamp=[Enable timestamps on log output]'
224
+ '--debug-timestamp=[Enable debug output with timestamps]'
225
+ '--no-tty=[Enable non_interactive output]'
226
+ )
227
+
228
+ local -a status_arguments && status_arguments=(
229
+ '--(no-)color=[Enable or disable color output]'
230
+ '--machine-readable=[Enable machine readable output]'
231
+ '--debug=[Enable debug output]'
232
+ '--timestamp=[Enable timestamps on log output]'
233
+ '--debug-timestamp=[Enable debug output with timestamps]'
234
+ '--no-tty=[Enable non_interactive output]'
235
+ )
236
+
237
+ local -a suspend_arguments && suspend_arguments=(
238
+ '--(no-)color=[Enable or disable color output]'
239
+ '--machine-readable=[Enable machine readable output]'
240
+ '--debug=[Enable debug output]'
241
+ '--timestamp=[Enable timestamps on log output]'
242
+ '--debug-timestamp=[Enable debug output with timestamps]'
243
+ '--no-tty=[Enable non_interactive output]'
244
+ )
245
+
246
+ local -a up_arguments && up_arguments=(
247
+ '--(no-)provision=[Enable or disable provisioning]'
248
+ '--provision-with=[Enable only certain provisioners, by type or by name.]'
249
+ '--(no-)destroy-on-error=[Destroy machine if any fatal error happens (default to true)]'
250
+ '--(no-)parallel=[Enable or disable parallelism if provider supports it]'
251
+ '--provider=[Back the machine with a specific provider]'
252
+ '--(no-)install-provider=[If possible, install the provider if it isnt installed]'
253
+ '--(no-)color=[Enable or disable color output]'
254
+ '--machine-readable=[Enable machine readable output]'
255
+ '--debug=[Enable debug output]'
256
+ '--timestamp=[Enable timestamps on log output]'
257
+ '--debug-timestamp=[Enable debug output with timestamps]'
258
+ '--no-tty=[Enable non_interactive output]'
259
+ )
260
+
261
+ local -a upload_arguments && upload_arguments=(
262
+ '--(no-)color=[Enable or disable color output]'
263
+ '--machine-readable=[Enable machine readable output]'
264
+ '--debug=[Enable debug output]'
265
+ '--timestamp=[Enable timestamps on log output]'
266
+ '--debug-timestamp=[Enable debug output with timestamps]'
267
+ '--no-tty=[Enable non_interactive output]'
268
+ )
269
+
270
+ local -a validate_arguments && validate_arguments=(
271
+ '--(no-)color=[Enable or disable color output]'
272
+ '--machine-readable=[Enable machine readable output]'
273
+ '--debug=[Enable debug output]'
274
+ '--timestamp=[Enable timestamps on log output]'
275
+ '--debug-timestamp=[Enable debug output with timestamps]'
276
+ '--no-tty=[Enable non_interactive output]'
277
+ )
278
+
279
+ local -a version_arguments && version_arguments=(
280
+ '--(no-)color=[Enable or disable color output]'
281
+ '--machine-readable=[Enable machine readable output]'
282
+ '--debug=[Enable debug output]'
283
+ '--timestamp=[Enable timestamps on log output]'
284
+ '--debug-timestamp=[Enable debug output with timestamps]'
285
+ '--no-tty=[Enable non_interactive output]'
286
+ )
287
+
288
+ local -a winrm_arguments && winrm_arguments=(
289
+ '--(no-)color=[Enable or disable color output]'
290
+ '--machine-readable=[Enable machine readable output]'
291
+ '--debug=[Enable debug output]'
292
+ '--timestamp=[Enable timestamps on log output]'
293
+ '--debug-timestamp=[Enable debug output with timestamps]'
294
+ '--no-tty=[Enable non_interactive output]'
295
+ )
296
+
297
+ local -a winrm_config_arguments && winrm_config_arguments=(
298
+ '--host=[Name the host for the config]'
299
+ '--(no-)color=[Enable or disable color output]'
300
+ '--machine-readable=[Enable machine readable output]'
301
+ '--debug=[Enable debug output]'
302
+ '--timestamp=[Enable timestamps on log output]'
303
+ '--debug-timestamp=[Enable debug output with timestamps]'
304
+ '--no-tty=[Enable non_interactive output]'
305
+ )
306
+
307
+
308
+
309
+ _arguments -C ':command:->command' '*::options:->options'
310
+
311
+ case $state in
312
+ (command)
313
+ _describe -t commands 'command' sub_commands
314
+ return
315
+ ;;
316
+
317
+ (options)
318
+ case $line[1] in
319
+ box)
320
+ __vagrant-box ;;
321
+ cloud)
322
+ _arguments -s -S : $cloud_arguments ;;
323
+ destroy)
324
+ _arguments -s -S : $destroy_arguments ;;
325
+ global-status)
326
+ _arguments -s -S : $global_status_arguments ;;
327
+ halt)
328
+ _arguments -s -S : $halt_arguments ;;
329
+ help)
330
+ _arguments -s -S : $help_arguments ;;
331
+ init)
332
+ _arguments -s -S : $init_arguments ;;
333
+ login)
334
+ _arguments -s -S : $login_arguments ;;
335
+ package)
336
+ _arguments -s -S : $package_arguments ;;
337
+ plugin)
338
+ __vagrant-plugin ;;
339
+ port)
340
+ _arguments -s -S : $port_arguments ;;
341
+ powershell)
342
+ _arguments -s -S : $powershell_arguments ;;
343
+ provision)
344
+ _arguments -s -S : $provision_arguments ;;
345
+ push)
346
+ _arguments -s -S : $push_arguments ;;
347
+ rdp)
348
+ _arguments -s -S : $rdp_arguments ;;
349
+ reload)
350
+ _arguments -s -S : $reload_arguments ;;
351
+ resume)
352
+ _arguments -s -S : $resume_arguments ;;
353
+ snapshot)
354
+ __vagrant-snapshot ;;
355
+ ssh)
356
+ _arguments -s -S : $ssh_arguments ;;
357
+ ssh-config)
358
+ _arguments -s -S : $ssh_config_arguments ;;
359
+ status)
360
+ _arguments -s -S : $status_arguments ;;
361
+ suspend)
362
+ _arguments -s -S : $suspend_arguments ;;
363
+ up)
364
+ _arguments -s -S : $up_arguments ;;
365
+ upload)
366
+ _arguments -s -S : $upload_arguments ;;
367
+ validate)
368
+ _arguments -s -S : $validate_arguments ;;
369
+ version)
370
+ _arguments -s -S : $version_arguments ;;
371
+ winrm)
372
+ _arguments -s -S : $winrm_arguments ;;
373
+ winrm-config)
374
+ _arguments -s -S : $winrm_config_arguments ;;
375
+ esac
376
+ ;;
377
+ esac
378
+
379
+ }
380
+
381
+ function __vagrant-box () {
382
+
383
+ local -a sub_commands && sub_commands=(
384
+ 'add:add'
385
+ 'list:list'
386
+ 'outdated:outdated'
387
+ 'prune:prune'
388
+ 'remove:remove'
389
+ 'repackage:repackage'
390
+ 'update:update'
391
+ )
392
+
393
+ local -a add_arguments && add_arguments=(
394
+ '--insecure=[Do not validate SSL certificates]'
395
+ '--cacert=[CA certificate for SSL download]'
396
+ '--capath=[CA certificate directory for SSL download]'
397
+ '--cert=[A client SSL cert, if needed]'
398
+ '--location-trusted=[Trust Location header from HTTP redirects and use the same credentials for subsequent urls as for the initial one]'
399
+ '--provider=[Provider the box should satisfy]'
400
+ '--box-version=[Constrain version of the added box]'
401
+ '--checksum=[Checksum for the box]'
402
+ '--checksum-type=[Checksum type (md5, sha1, sha256)]'
403
+ '--name=[Name of the box]'
404
+ '--(no-)color=[Enable or disable color output]'
405
+ '--machine-readable=[Enable machine readable output]'
406
+ '--debug=[Enable debug output]'
407
+ '--timestamp=[Enable timestamps on log output]'
408
+ '--debug-timestamp=[Enable debug output with timestamps]'
409
+ '--no-tty=[Enable non_interactive output]'
410
+ )
411
+
412
+ local -a list_arguments && list_arguments=(
413
+ '--(no-)color=[Enable or disable color output]'
414
+ '--machine-readable=[Enable machine readable output]'
415
+ '--debug=[Enable debug output]'
416
+ '--timestamp=[Enable timestamps on log output]'
417
+ '--debug-timestamp=[Enable debug output with timestamps]'
418
+ '--no-tty=[Enable non_interactive output]'
419
+ )
420
+
421
+ local -a outdated_arguments && outdated_arguments=(
422
+ '--global=[Check all boxes installed]'
423
+ '--insecure=[Do not validate SSL certificates]'
424
+ '--cacert=[CA certificate for SSL download]'
425
+ '--capath=[CA certificate directory for SSL download]'
426
+ '--cert=[A client SSL cert, if needed]'
427
+ '--(no-)color=[Enable or disable color output]'
428
+ '--machine-readable=[Enable machine readable output]'
429
+ '--debug=[Enable debug output]'
430
+ '--timestamp=[Enable timestamps on log output]'
431
+ '--debug-timestamp=[Enable debug output with timestamps]'
432
+ '--no-tty=[Enable non_interactive output]'
433
+ )
434
+
435
+ local -a prune_arguments && prune_arguments=(
436
+ '--name=[The specific box name to check for outdated versions.]'
437
+ '--(no-)color=[Enable or disable color output]'
438
+ '--machine-readable=[Enable machine readable output]'
439
+ '--debug=[Enable debug output]'
440
+ '--timestamp=[Enable timestamps on log output]'
441
+ '--debug-timestamp=[Enable debug output with timestamps]'
442
+ '--no-tty=[Enable non_interactive output]'
443
+ )
444
+
445
+ local -a remove_arguments && remove_arguments=(
446
+ '--provider=[The specific provider type for the box to remove]'
447
+ '--box-version=[The specific version of the box to remove]'
448
+ '--all=[Remove all available versions of the box]'
449
+ '--(no-)color=[Enable or disable color output]'
450
+ '--machine-readable=[Enable machine readable output]'
451
+ '--debug=[Enable debug output]'
452
+ '--timestamp=[Enable timestamps on log output]'
453
+ '--debug-timestamp=[Enable debug output with timestamps]'
454
+ '--no-tty=[Enable non_interactive output]'
455
+ )
456
+
457
+ local -a repackage_arguments && repackage_arguments=(
458
+ '--(no-)color=[Enable or disable color output]'
459
+ '--machine-readable=[Enable machine readable output]'
460
+ '--debug=[Enable debug output]'
461
+ '--timestamp=[Enable timestamps on log output]'
462
+ '--debug-timestamp=[Enable debug output with timestamps]'
463
+ '--no-tty=[Enable non_interactive output]'
464
+ )
465
+
466
+ local -a update_arguments && update_arguments=(
467
+ '--box=[__box flag.]'
468
+ '--box=[Update a specific box]'
469
+ '--provider=[Update box with specific provider]'
470
+ '--insecure=[Do not validate SSL certificates]'
471
+ '--cacert=[CA certificate for SSL download]'
472
+ '--capath=[CA certificate directory for SSL download]'
473
+ '--cert=[A client SSL cert, if needed]'
474
+ '--(no-)color=[Enable or disable color output]'
475
+ '--machine-readable=[Enable machine readable output]'
476
+ '--debug=[Enable debug output]'
477
+ '--timestamp=[Enable timestamps on log output]'
478
+ '--debug-timestamp=[Enable debug output with timestamps]'
479
+ '--no-tty=[Enable non_interactive output]'
480
+ )
481
+
482
+
483
+
484
+ _arguments -C ':command:->command' '*::options:->options'
485
+
486
+ case $state in
487
+ (command)
488
+ _describe -t commands 'command' sub_commands
489
+ return
490
+ ;;
491
+
492
+ (options)
493
+ case $line[1] in
494
+ add)
495
+ _arguments -s -S : $add_arguments ;;
496
+ list)
497
+ _arguments -s -S : $list_arguments ;;
498
+ outdated)
499
+ _arguments -s -S : $outdated_arguments ;;
500
+ prune)
501
+ _arguments -s -S : $prune_arguments ;;
502
+ remove)
503
+ _arguments -s -S : $remove_arguments ':feature:__box_list' ;;
504
+ repackage)
505
+ _arguments -s -S : $repackage_arguments ':feature:__box_list' ;;
506
+ update)
507
+ _arguments -s -S : $update_arguments ':feature:__box_list' ;;
508
+ esac
509
+ ;;
510
+ esac
511
+
512
+ }
513
+
514
+ function __vagrant-snapshot () {
515
+
516
+ local -a sub_commands && sub_commands=(
517
+ 'delete:delete'
518
+ 'list:list'
519
+ 'pop:pop'
520
+ 'push:push'
521
+ 'restore:restore'
522
+ 'save:save'
523
+ )
524
+
525
+ local -a delete_arguments && delete_arguments=(
526
+ '--(no-)color=[Enable or disable color output]'
527
+ '--machine-readable=[Enable machine readable output]'
528
+ '--debug=[Enable debug output]'
529
+ '--timestamp=[Enable timestamps on log output]'
530
+ '--debug-timestamp=[Enable debug output with timestamps]'
531
+ '--no-tty=[Enable non_interactive output]'
532
+ )
533
+
534
+ local -a list_arguments && list_arguments=(
535
+ '--(no-)color=[Enable or disable color output]'
536
+ '--machine-readable=[Enable machine readable output]'
537
+ '--debug=[Enable debug output]'
538
+ '--timestamp=[Enable timestamps on log output]'
539
+ '--debug-timestamp=[Enable debug output with timestamps]'
540
+ '--no-tty=[Enable non_interactive output]'
541
+ )
542
+
543
+ local -a pop_arguments && pop_arguments=(
544
+ '--(no-)provision=[Enable or disable provisioning]'
545
+ '--provision-with=[Enable only certain provisioners, by type or by name.]'
546
+ '--no-delete=[Dont delete the snapshot after the restore]'
547
+ '--no-start=[Dont start the snapshot after the restore]'
548
+ '--(no-)color=[Enable or disable color output]'
549
+ '--machine-readable=[Enable machine readable output]'
550
+ '--debug=[Enable debug output]'
551
+ '--timestamp=[Enable timestamps on log output]'
552
+ '--debug-timestamp=[Enable debug output with timestamps]'
553
+ '--no-tty=[Enable non_interactive output]'
554
+ )
555
+
556
+ local -a push_arguments && push_arguments=(
557
+ '--(no-)color=[Enable or disable color output]'
558
+ '--machine-readable=[Enable machine readable output]'
559
+ '--debug=[Enable debug output]'
560
+ '--timestamp=[Enable timestamps on log output]'
561
+ '--debug-timestamp=[Enable debug output with timestamps]'
562
+ '--no-tty=[Enable non_interactive output]'
563
+ )
564
+
565
+ local -a restore_arguments && restore_arguments=(
566
+ '--(no-)provision=[Enable or disable provisioning]'
567
+ '--provision-with=[Enable only certain provisioners, by type or by name.]'
568
+ '--no-start=[Dont start the snapshot after the restore]'
569
+ '--(no-)color=[Enable or disable color output]'
570
+ '--machine-readable=[Enable machine readable output]'
571
+ '--debug=[Enable debug output]'
572
+ '--timestamp=[Enable timestamps on log output]'
573
+ '--debug-timestamp=[Enable debug output with timestamps]'
574
+ '--no-tty=[Enable non_interactive output]'
575
+ )
576
+
577
+ local -a save_arguments && save_arguments=(
578
+ '--(no-)color=[Enable or disable color output]'
579
+ '--machine-readable=[Enable machine readable output]'
580
+ '--debug=[Enable debug output]'
581
+ '--timestamp=[Enable timestamps on log output]'
582
+ '--debug-timestamp=[Enable debug output with timestamps]'
583
+ '--no-tty=[Enable non_interactive output]'
584
+ )
585
+
586
+
587
+
588
+ _arguments -C ':command:->command' '*::options:->options'
589
+
590
+ case $state in
591
+ (command)
592
+ _describe -t commands 'command' sub_commands
593
+ return
594
+ ;;
595
+
596
+ (options)
597
+ case $line[1] in
598
+ delete)
599
+ _arguments -s -S : $delete_arguments ;;
600
+ list)
601
+ _arguments -s -S : $list_arguments ;;
602
+ pop)
603
+ _arguments -s -S : $pop_arguments ;;
604
+ push)
605
+ _arguments -s -S : $push_arguments ;;
606
+ restore)
607
+ _arguments -s -S : $restore_arguments ;;
608
+ save)
609
+ _arguments -s -S : $save_arguments ;;
610
+ esac
611
+ ;;
612
+ esac
613
+
614
+ }
615
+
616
+ function __vagrant-plugin () {
617
+
618
+ local -a sub_commands && sub_commands=(
619
+ 'expunge:expunge'
620
+ 'install:install'
621
+ 'license:license'
622
+ 'list:list'
623
+ 'repair:repair'
624
+ 'uninstall:uninstall'
625
+ 'update:update'
626
+ )
627
+
628
+ local -a expunge_arguments && expunge_arguments=(
629
+ '--force=[Do not prompt for confirmation]'
630
+ '--local=[Include plugins from local project for expunge]'
631
+ '--local-only=[Only expunge local project plugins]'
632
+ '--global-only=[Only expunge global plugins]'
633
+ '--reinstall=[Reinstall current plugins after expunge]'
634
+ '--(no-)color=[Enable or disable color output]'
635
+ '--machine-readable=[Enable machine readable output]'
636
+ '--debug=[Enable debug output]'
637
+ '--timestamp=[Enable timestamps on log output]'
638
+ '--debug-timestamp=[Enable debug output with timestamps]'
639
+ '--no-tty=[Enable non_interactive output]'
640
+ )
641
+
642
+ local -a install_arguments && install_arguments=(
643
+ '--entry-point=[The name of the entry point file for loading the plugin.]'
644
+ '--plugin-clean-sources=[Remove all plugin sources defined so far (including defaults)]'
645
+ '--plugin-source=[__plugin_source PLUGIN_SOURCE]'
646
+ '--plugin-version=[__plugin_version PLUGIN_VERSION]'
647
+ '--local=[Install plugin for local project only]'
648
+ '--verbose=[Enable verbose output for plugin installation]'
649
+ '--(no-)color=[Enable or disable color output]'
650
+ '--machine-readable=[Enable machine readable output]'
651
+ '--debug=[Enable debug output]'
652
+ '--timestamp=[Enable timestamps on log output]'
653
+ '--debug-timestamp=[Enable debug output with timestamps]'
654
+ '--no-tty=[Enable non_interactive output]'
655
+ )
656
+
657
+ local -a license_arguments && license_arguments=(
658
+ '--(no-)color=[Enable or disable color output]'
659
+ '--machine-readable=[Enable machine readable output]'
660
+ '--debug=[Enable debug output]'
661
+ '--timestamp=[Enable timestamps on log output]'
662
+ '--debug-timestamp=[Enable debug output with timestamps]'
663
+ '--no-tty=[Enable non_interactive output]'
664
+ )
665
+
666
+ local -a list_arguments && list_arguments=(
667
+ '--local=[Include local project plugins]'
668
+ '--(no-)color=[Enable or disable color output]'
669
+ '--machine-readable=[Enable machine readable output]'
670
+ '--debug=[Enable debug output]'
671
+ '--timestamp=[Enable timestamps on log output]'
672
+ '--debug-timestamp=[Enable debug output with timestamps]'
673
+ '--no-tty=[Enable non_interactive output]'
674
+ )
675
+
676
+ local -a repair_arguments && repair_arguments=(
677
+ '--local=[Repair plugins in local project]'
678
+ '--(no-)color=[Enable or disable color output]'
679
+ '--machine-readable=[Enable machine readable output]'
680
+ '--debug=[Enable debug output]'
681
+ '--timestamp=[Enable timestamps on log output]'
682
+ '--debug-timestamp=[Enable debug output with timestamps]'
683
+ '--no-tty=[Enable non_interactive output]'
684
+ )
685
+
686
+ local -a uninstall_arguments && uninstall_arguments=(
687
+ '--local=[Remove plugin from local project]'
688
+ '--(no-)color=[Enable or disable color output]'
689
+ '--machine-readable=[Enable machine readable output]'
690
+ '--debug=[Enable debug output]'
691
+ '--timestamp=[Enable timestamps on log output]'
692
+ '--debug-timestamp=[Enable debug output with timestamps]'
693
+ '--no-tty=[Enable non_interactive output]'
694
+ )
695
+
696
+ local -a update_arguments && update_arguments=(
697
+ '--local=[Update plugin in local project]'
698
+ '--(no-)color=[Enable or disable color output]'
699
+ '--machine-readable=[Enable machine readable output]'
700
+ '--debug=[Enable debug output]'
701
+ '--timestamp=[Enable timestamps on log output]'
702
+ '--debug-timestamp=[Enable debug output with timestamps]'
703
+ '--no-tty=[Enable non_interactive output]'
704
+ )
705
+
706
+
707
+
708
+ _arguments -C ':command:->command' '*::options:->options'
709
+
710
+ case $state in
711
+ (command)
712
+ _describe -t commands 'command' sub_commands
713
+ return
714
+ ;;
715
+
716
+ (options)
717
+ case $line[1] in
718
+ expunge)
719
+ _arguments -s -S : $expunge_arguments ;;
720
+ install)
721
+ _arguments -s -S : $install_arguments ;;
722
+ license)
723
+ _arguments -s -S : $license_arguments ;;
724
+ list)
725
+ _arguments -s -S : $list_arguments ;;
726
+ repair)
727
+ _arguments -s -S : $repair_arguments ':feature:__plugin_list' ;;
728
+ uninstall)
729
+ _arguments -s -S : $uninstall_arguments ':feature:__plugin_list' ;;
730
+ update)
731
+ _arguments -s -S : $update_arguments ':feature:__plugin_list' ;;
732
+ esac
733
+ ;;
734
+ esac
735
+
736
+ }