vagrant-unbundled 2.2.6.2 → 2.2.14.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.hashibot.hcl +14 -0
- data/CHANGELOG.md +213 -2
- data/Gemfile +1 -1
- data/README.md +9 -51
- data/RELEASE.md +1 -1
- data/bin/vagrant +23 -0
- data/contrib/README.md +1 -0
- data/contrib/bash/completion.sh +13 -1
- data/contrib/sudoers/linux-suse +2 -2
- data/contrib/zsh/_vagrant +738 -0
- data/contrib/zsh/generate_zsh_completion.rb +165 -0
- data/lib/vagrant.rb +25 -4
- data/lib/vagrant/action.rb +8 -0
- data/lib/vagrant/action/builder.rb +184 -38
- data/lib/vagrant/action/builtin/box_add.rb +20 -8
- data/lib/vagrant/action/builtin/box_check_outdated.rb +12 -15
- data/lib/vagrant/action/builtin/cleanup_disks.rb +56 -0
- data/lib/vagrant/action/builtin/cloud_init_setup.rb +122 -0
- data/lib/vagrant/action/builtin/cloud_init_wait.rb +30 -0
- data/lib/vagrant/action/builtin/delayed.rb +26 -0
- data/lib/vagrant/action/builtin/disk.rb +52 -0
- data/lib/vagrant/action/builtin/handle_box.rb +3 -1
- data/lib/vagrant/action/builtin/handle_forwarded_port_collisions.rb +28 -9
- data/lib/vagrant/action/builtin/has_provisioner.rb +36 -0
- data/lib/vagrant/action/builtin/mixin_provisioners.rb +20 -1
- data/lib/vagrant/action/builtin/mixin_synced_folders.rb +20 -21
- data/lib/vagrant/action/builtin/set_hostname.rb +5 -1
- data/lib/vagrant/action/builtin/ssh_run.rb +21 -3
- data/lib/vagrant/action/builtin/synced_folders.rb +16 -0
- data/lib/vagrant/action/builtin/trigger.rb +37 -0
- data/lib/vagrant/action/hook.rb +76 -23
- data/lib/vagrant/action/runner.rb +12 -27
- data/lib/vagrant/action/warden.rb +28 -22
- data/lib/vagrant/box.rb +11 -4
- data/lib/vagrant/box_collection.rb +1 -1
- data/lib/vagrant/box_metadata.rb +17 -3
- data/lib/vagrant/bundler.rb +298 -59
- data/lib/vagrant/cli.rb +4 -2
- data/lib/vagrant/errors.rb +61 -1
- data/lib/vagrant/machine.rb +64 -11
- data/lib/vagrant/machine_index.rb +28 -1
- data/lib/vagrant/plugin/manager.rb +25 -14
- data/lib/vagrant/plugin/v2/command.rb +7 -2
- data/lib/vagrant/plugin/v2/components.rb +6 -0
- data/lib/vagrant/plugin/v2/manager.rb +67 -0
- data/lib/vagrant/plugin/v2/plugin.rb +13 -0
- data/lib/vagrant/plugin/v2/synced_folder.rb +50 -0
- data/lib/vagrant/plugin/v2/trigger.rb +64 -25
- data/lib/vagrant/shared_helpers.rb +36 -0
- data/lib/vagrant/ui.rb +51 -5
- data/lib/vagrant/util.rb +1 -0
- data/lib/vagrant/util/ansi_escape_code_remover.rb +1 -1
- data/lib/vagrant/util/caps.rb +48 -0
- data/lib/vagrant/util/credential_scrubber.rb +1 -1
- data/lib/vagrant/util/curl_helper.rb +8 -5
- data/lib/vagrant/util/directory.rb +19 -0
- data/lib/vagrant/util/downloader.rb +10 -5
- data/lib/vagrant/util/file_checksum.rb +6 -2
- data/lib/vagrant/util/guest_hosts.rb +68 -0
- data/lib/vagrant/util/guest_inspection.rb +9 -1
- data/lib/vagrant/util/install_cli_autocomplete.rb +118 -0
- data/lib/vagrant/util/io.rb +7 -27
- data/lib/vagrant/util/ipv4_interfaces.rb +15 -0
- data/lib/vagrant/util/is_port_open.rb +8 -20
- data/lib/vagrant/util/map_command_options.rb +33 -0
- data/lib/vagrant/util/mime.rb +92 -0
- data/lib/vagrant/util/network_ip.rb +11 -1
- data/lib/vagrant/util/numeric.rb +69 -0
- data/lib/vagrant/util/platform.rb +10 -2
- data/lib/vagrant/util/powershell.rb +1 -1
- data/lib/vagrant/util/subprocess.rb +9 -1
- data/lib/vagrant/util/template_renderer.rb +2 -2
- data/lib/vagrant/util/uploader.rb +7 -4
- data/lib/vagrant/vagrantfile.rb +1 -1
- data/plugins/commands/autocomplete/command/install.rb +49 -0
- data/plugins/commands/autocomplete/command/root.rb +64 -0
- data/plugins/commands/autocomplete/plugin.rb +18 -0
- data/plugins/commands/box/command/outdated.rb +14 -2
- data/plugins/commands/cap/command.rb +5 -1
- data/plugins/commands/cloud/auth/login.rb +20 -23
- data/plugins/commands/cloud/auth/logout.rb +2 -10
- data/plugins/commands/cloud/auth/middleware/add_downloader_authentication.rb +57 -0
- data/plugins/commands/cloud/auth/whoami.rb +18 -20
- data/plugins/commands/cloud/box/create.rb +33 -29
- data/plugins/commands/cloud/box/delete.rb +30 -24
- data/plugins/commands/cloud/box/show.rb +41 -31
- data/plugins/commands/cloud/box/update.rb +34 -26
- data/plugins/commands/cloud/client/client.rb +50 -81
- data/plugins/commands/cloud/list.rb +3 -4
- data/plugins/commands/cloud/locales/en.yml +10 -10
- data/plugins/commands/cloud/plugin.rb +10 -0
- data/plugins/commands/cloud/provider/create.rb +38 -28
- data/plugins/commands/cloud/provider/delete.rb +39 -29
- data/plugins/commands/cloud/provider/update.rb +37 -28
- data/plugins/commands/cloud/provider/upload.rb +44 -34
- data/plugins/commands/cloud/publish.rb +185 -108
- data/plugins/commands/cloud/search.rb +34 -21
- data/plugins/commands/cloud/util.rb +266 -162
- data/plugins/commands/cloud/version/create.rb +33 -28
- data/plugins/commands/cloud/version/delete.rb +35 -28
- data/plugins/commands/cloud/version/release.rb +35 -29
- data/plugins/commands/cloud/version/revoke.rb +36 -29
- data/plugins/commands/cloud/version/update.rb +29 -25
- data/plugins/commands/destroy/command.rb +6 -2
- data/plugins/commands/login/plugin.rb +0 -13
- data/plugins/commands/snapshot/command/save.rb +13 -8
- data/plugins/commands/ssh_config/command.rb +1 -1
- data/plugins/communicators/ssh/communicator.rb +25 -24
- data/plugins/communicators/winrm/config.rb +1 -1
- data/plugins/communicators/winrm/helper.rb +1 -1
- data/plugins/communicators/winrm/shell.rb +1 -1
- data/plugins/communicators/winssh/communicator.rb +126 -38
- data/plugins/communicators/winssh/config.rb +3 -7
- data/plugins/guests/alpine/cap/change_host_name.rb +10 -11
- data/plugins/guests/alpine/cap/rsync.rb +1 -1
- data/plugins/guests/alpine/plugin.rb +16 -0
- data/plugins/guests/alt/cap/change_host_name.rb +40 -53
- data/plugins/guests/arch/cap/change_host_name.rb +5 -14
- data/plugins/guests/arch/cap/configure_networks.rb +27 -10
- data/plugins/guests/arch/cap/smb.rb +1 -1
- data/plugins/guests/atomic/cap/change_host_name.rb +5 -14
- data/plugins/guests/centos/cap/flavor.rb +24 -0
- data/plugins/guests/centos/guest.rb +9 -0
- data/plugins/guests/centos/plugin.rb +20 -0
- data/plugins/guests/darwin/cap/change_host_name.rb +10 -6
- data/plugins/guests/darwin/cap/darwin_version.rb +40 -0
- data/plugins/guests/darwin/cap/mount_smb_shared_folder.rb +1 -1
- data/plugins/guests/darwin/cap/mount_vmware_shared_folder.rb +109 -13
- data/plugins/guests/darwin/plugin.rb +15 -0
- data/plugins/guests/debian/cap/change_host_name.rb +12 -11
- data/plugins/guests/debian/cap/configure_networks.rb +14 -6
- data/plugins/guests/esxi/cap/public_key.rb +3 -1
- data/plugins/guests/freebsd/cap/change_host_name.rb +10 -6
- data/plugins/guests/gentoo/cap/change_host_name.rb +14 -22
- data/plugins/guests/haiku/cap/rsync.rb +19 -0
- data/plugins/guests/haiku/plugin.rb +15 -0
- data/plugins/guests/linux/cap/change_host_name.rb +46 -0
- data/plugins/guests/linux/cap/halt.rb +9 -1
- data/plugins/guests/linux/cap/mount_smb_shared_folder.rb +25 -34
- data/plugins/guests/linux/cap/mount_virtualbox_shared_folder.rb +10 -11
- data/plugins/guests/linux/cap/persist_mount_shared_folder.rb +75 -0
- data/plugins/guests/linux/cap/reboot.rb +53 -0
- data/plugins/guests/linux/plugin.rb +20 -0
- data/plugins/guests/omnios/cap/change_host_name.rb +10 -16
- data/plugins/guests/openbsd/cap/change_host_name.rb +10 -6
- data/plugins/guests/photon/cap/change_host_name.rb +9 -15
- data/plugins/guests/pld/cap/change_host_name.rb +11 -17
- data/plugins/guests/redhat/cap/change_host_name.rb +14 -5
- data/plugins/guests/redhat/cap/flavor.rb +3 -1
- data/plugins/guests/redhat/cap/nfs_client.rb +2 -2
- data/plugins/guests/redhat/cap/smb.rb +20 -0
- data/plugins/guests/redhat/plugin.rb +5 -0
- data/plugins/guests/slackware/cap/change_host_name.rb +11 -17
- data/plugins/guests/solaris11/plugin.rb +5 -0
- data/plugins/guests/suse/cap/change_host_name.rb +31 -9
- data/plugins/guests/windows/cap/public_key.rb +3 -3
- data/plugins/guests/windows/cap/reboot.rb +10 -5
- data/plugins/hosts/darwin/cap/fs_iso.rb +49 -0
- data/plugins/hosts/darwin/cap/nfs.rb +11 -0
- data/plugins/hosts/darwin/plugin.rb +15 -0
- data/plugins/hosts/linux/cap/fs_iso.rb +49 -0
- data/plugins/hosts/linux/cap/nfs.rb +21 -2
- data/plugins/hosts/linux/cap/rdp.rb +1 -1
- data/plugins/hosts/linux/plugin.rb +10 -0
- data/plugins/hosts/windows/cap/fs_iso.rb +48 -0
- data/plugins/hosts/windows/cap/rdp.rb +1 -1
- data/plugins/hosts/windows/plugin.rb +15 -0
- data/plugins/kernel_v2/config/cloud_init.rb +133 -0
- data/plugins/kernel_v2/config/disk.rb +221 -0
- data/plugins/kernel_v2/config/ssh_connect.rb +24 -0
- data/plugins/kernel_v2/config/vm.rb +230 -15
- data/plugins/kernel_v2/config/vm_provisioner.rb +17 -3
- data/plugins/kernel_v2/config/vm_trigger.rb +6 -5
- data/plugins/providers/docker/action.rb +8 -17
- data/plugins/providers/docker/action/forwarded_ports.rb +2 -0
- data/plugins/providers/docker/action/prepare_forwarded_port_collision_params.rb +61 -0
- data/plugins/providers/docker/cap/has_communicator.rb +11 -0
- data/plugins/providers/docker/communicator.rb +1 -1
- data/plugins/providers/docker/driver.rb +73 -10
- data/plugins/providers/docker/errors.rb +4 -0
- data/plugins/providers/docker/executor/local.rb +7 -1
- data/plugins/providers/docker/plugin.rb +5 -0
- data/plugins/providers/hyperv/action.rb +3 -1
- data/plugins/providers/hyperv/action/configure.rb +8 -0
- data/plugins/providers/hyperv/action/export.rb +4 -2
- data/plugins/providers/hyperv/cap/cleanup_disks.rb +54 -0
- data/plugins/providers/hyperv/cap/configure_disks.rb +200 -0
- data/plugins/providers/hyperv/cap/validate_disk_ext.rb +34 -0
- data/plugins/providers/hyperv/config.rb +5 -0
- data/plugins/providers/hyperv/driver.rb +90 -9
- data/plugins/providers/hyperv/plugin.rb +25 -0
- data/plugins/providers/hyperv/scripts/attach_disk_drive.ps1 +28 -0
- data/plugins/providers/hyperv/scripts/dismount_vhd.ps1 +13 -0
- data/plugins/providers/hyperv/scripts/get_vhd.ps1 +16 -0
- data/plugins/providers/hyperv/scripts/get_vm_status.ps1 +1 -1
- data/plugins/providers/hyperv/scripts/list_hdds.ps1 +17 -0
- data/plugins/providers/hyperv/scripts/new_vhd.ps1 +31 -0
- data/plugins/providers/hyperv/scripts/remove_disk_drive.ps1 +25 -0
- data/plugins/providers/hyperv/scripts/resize_disk_drive.ps1 +18 -0
- data/plugins/providers/hyperv/scripts/set_enhanced_session_transport_type.ps1 +24 -0
- data/plugins/providers/hyperv/scripts/set_vm_integration_services.ps1 +3 -3
- data/plugins/providers/hyperv/scripts/utils/VagrantVM/VagrantVM.psm1 +14 -6
- data/plugins/providers/virtualbox/action.rb +14 -1
- data/plugins/providers/virtualbox/action/clean_machine_folder.rb +10 -1
- data/plugins/providers/virtualbox/action/export.rb +4 -2
- data/plugins/providers/virtualbox/action/forward_ports.rb +2 -2
- data/plugins/providers/virtualbox/action/import.rb +8 -4
- data/plugins/providers/virtualbox/action/prepare_clone_snapshot.rb +4 -2
- data/plugins/providers/virtualbox/action/snapshot_delete.rb +4 -2
- data/plugins/providers/virtualbox/action/snapshot_restore.rb +4 -2
- data/plugins/providers/virtualbox/cap/cleanup_disks.rb +85 -0
- data/plugins/providers/virtualbox/cap/configure_disks.rb +440 -0
- data/plugins/providers/virtualbox/cap/mount_options.rb +35 -0
- data/plugins/providers/virtualbox/cap/validate_disk_ext.rb +34 -0
- data/plugins/providers/virtualbox/driver/base.rb +15 -0
- data/plugins/providers/virtualbox/driver/meta.rb +17 -2
- data/plugins/providers/virtualbox/driver/version_5_0.rb +217 -2
- data/plugins/providers/virtualbox/driver/version_6_1.rb +39 -0
- data/plugins/providers/virtualbox/model/storage_controller.rb +135 -0
- data/plugins/providers/virtualbox/model/storage_controller_array.rb +98 -0
- data/plugins/providers/virtualbox/plugin.rb +38 -0
- data/plugins/providers/virtualbox/provider.rb +2 -1
- data/plugins/providers/virtualbox/synced_folder.rb +1 -0
- data/plugins/provisioners/ansible/cap/guest/alpine/ansible_install.rb +44 -0
- data/plugins/provisioners/ansible/cap/guest/arch/ansible_install.rb +20 -3
- data/plugins/provisioners/ansible/cap/guest/debian/ansible_install.rb +4 -5
- data/plugins/provisioners/ansible/cap/guest/fedora/ansible_install.rb +2 -2
- data/plugins/provisioners/ansible/cap/guest/freebsd/ansible_install.rb +2 -2
- data/plugins/provisioners/ansible/cap/guest/pip/pip.rb +8 -4
- data/plugins/provisioners/ansible/cap/guest/redhat/ansible_install.rb +2 -2
- data/plugins/provisioners/ansible/cap/guest/suse/ansible_install.rb +2 -1
- data/plugins/provisioners/ansible/cap/guest/ubuntu/ansible_install.rb +3 -3
- data/plugins/provisioners/ansible/plugin.rb +5 -0
- data/plugins/provisioners/ansible/provisioner/base.rb +1 -1
- data/plugins/provisioners/container/client.rb +203 -0
- data/plugins/provisioners/container/config.rb +83 -0
- data/plugins/provisioners/container/installer.rb +13 -0
- data/plugins/provisioners/container/plugin.rb +23 -0
- data/plugins/provisioners/container/provisioner.rb +28 -0
- data/plugins/provisioners/docker/cap/{redhat → centos}/docker_install.rb +10 -7
- data/plugins/provisioners/docker/cap/centos/docker_start_service.rb +24 -0
- data/plugins/provisioners/docker/client.rb +4 -175
- data/plugins/provisioners/docker/config.rb +2 -72
- data/plugins/provisioners/docker/installer.rb +3 -5
- data/plugins/provisioners/docker/plugin.rb +6 -6
- data/plugins/provisioners/docker/provisioner.rb +4 -10
- data/plugins/provisioners/podman/cap/centos/podman_install.rb +35 -0
- data/plugins/provisioners/podman/cap/linux/podman_installed.rb +13 -0
- data/plugins/provisioners/podman/cap/redhat/podman_install.rb +26 -0
- data/plugins/provisioners/podman/client.rb +12 -0
- data/plugins/provisioners/podman/config.rb +28 -0
- data/plugins/provisioners/podman/installer.rb +33 -0
- data/plugins/provisioners/podman/plugin.rb +38 -0
- data/plugins/provisioners/podman/provisioner.rb +52 -0
- data/plugins/provisioners/salt/provisioner.rb +4 -0
- data/plugins/provisioners/shell/config.rb +1 -6
- data/plugins/provisioners/shell/provisioner.rb +61 -26
- data/plugins/synced_folders/nfs/synced_folder.rb +3 -1
- data/plugins/synced_folders/smb/cap/default_fstab_modification.rb +11 -0
- data/plugins/synced_folders/smb/cap/mount_options.rb +56 -0
- data/plugins/synced_folders/smb/plugin.rb +20 -0
- data/plugins/synced_folders/smb/synced_folder.rb +2 -2
- data/plugins/synced_folders/unix_mount_helpers.rb +14 -0
- data/scripts/website_push_www.sh +1 -1
- data/templates/commands/init/Vagrantfile.erb +1 -1
- data/templates/guests/arch/{network_dhcp.erb → default_network/network_dhcp.erb} +0 -0
- data/templates/guests/arch/{network_static.erb → default_network/network_static.erb} +0 -0
- data/templates/guests/arch/{network_static6.erb → default_network/network_static6.erb} +0 -0
- data/templates/guests/arch/systemd_networkd/network_dhcp.erb +6 -0
- data/templates/guests/arch/systemd_networkd/network_static.erb +9 -0
- data/templates/guests/arch/systemd_networkd/network_static6.erb +9 -0
- data/templates/guests/linux/etc_fstab.erb +6 -0
- data/templates/locales/en.yml +235 -6
- data/templates/locales/providers_docker.yml +6 -0
- data/templates/nfs/exports_darwin.erb +7 -0
- data/vagrant.gemspec +14 -15
- data/version.txt +1 -1
- metadata +3577 -3855
- data/lib/vagrant/action/builtin/after_trigger.rb +0 -31
- data/lib/vagrant/action/builtin/before_trigger.rb +0 -28
- data/plugins/commands/login/client.rb +0 -253
- data/plugins/commands/login/command.rb +0 -137
- data/plugins/commands/login/errors.rb +0 -24
- data/plugins/commands/login/locales/en.yml +0 -49
- data/plugins/provisioners/docker/cap/redhat/docker_start_service.rb +0 -16
- data/scripts/website_push_docs.sh +0 -40
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 66676a3a6dbd082059b30ec7f0e605c435d33bc9854a2db0184457ba735939b0
|
4
|
+
data.tar.gz: 742ad824c94d7329205e98578cb6fcd4c6c756919e09966c9a83ea23a13fd32f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 88acd31085bcda4390bc37d58078a2be3b6b16f09cd4605c34d9874cbd92ac2b73d36f5e8f9761b5d4396338555aae682baeeaf7603c46f9f6643277a5bfd330
|
7
|
+
data.tar.gz: d31c929eb5c9f55ee68e1d11b96704bb75193b2f8314edd1515e793a20338d2b650f05da038d4efa27802d0e5b5f193d9083b6b5a761dc4af02bb33830a9ee0a
|
data/.hashibot.hcl
ADDED
@@ -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
|
+
}
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,214 @@
|
|
1
|
+
## 2.2.14 (November 20, 2020)
|
2
|
+
|
3
|
+
IMPROVEMENTS:
|
4
|
+
|
5
|
+
- host/windows: Update filesystem type matching on WSL2 [GH-12056]
|
6
|
+
|
7
|
+
BUG FIXES:
|
8
|
+
|
9
|
+
- core: Track raw actions as they are applied to prevent multiple insertions [GH-12037]
|
10
|
+
- core/bundler: Update solution file resolution to support prerelease matching [GH-12054]
|
11
|
+
- guest/darwin: Mount vmware synced folders for big sur guests [GH-12053]
|
12
|
+
|
13
|
+
## 2.2.13 (November 06, 2020)
|
14
|
+
|
15
|
+
BUG FIXES:
|
16
|
+
|
17
|
+
- core/bundler: Adjust request sets properly with non-development prerelease [GH-12025]
|
18
|
+
|
19
|
+
## 2.2.12 (November 06, 2020)
|
20
|
+
|
21
|
+
BUG FIXES:
|
22
|
+
|
23
|
+
- core/bundler: Automatically enable prerelease dependency resolution [GH-12023]
|
24
|
+
|
25
|
+
NOTE: This is a fix release to resolve an immediate issue with Vagrant
|
26
|
+
plugin functionality
|
27
|
+
|
28
|
+
## 2.2.11 (November 05, 2020)
|
29
|
+
|
30
|
+
IMPROVEMENTS:
|
31
|
+
|
32
|
+
- command/cap: Add ability to specify target [GH-11965]
|
33
|
+
- command/cloud: Add --force flag to `version release` command [GH-11912]
|
34
|
+
- command/cloud: Updates to utilize the 3.0 version of vagrant_cloud [GH-11916]
|
35
|
+
- core: Switch from unmaintained gem erubis to erubi [GH-11893]
|
36
|
+
- core: Download Vagrant boxes using auth headers [GH-11835]
|
37
|
+
- core: Remove dependency on mime gem [GH-11857]
|
38
|
+
- core: Handle Errno::EALREADY exceptions on port check [GH-12008]
|
39
|
+
- core: Fix missing hook/trigger insertion into action stack [GH-12014]
|
40
|
+
- guest/linux: Make max reboot wait duration configurable [GH-12011]
|
41
|
+
- guest/windows: Make max reboot wait duration configurable [GH-12011]
|
42
|
+
- providers/virtualbox: Fix availability check of provider [GH-11936]
|
43
|
+
- tests: Add integration tests for Docker provider [GH-11907]
|
44
|
+
|
45
|
+
BUG FIXES:
|
46
|
+
|
47
|
+
- core/synced_folders: Don't persist synced folders to fstab if guest is not reachable [GH-11900]
|
48
|
+
- core: Don't try to recover machine without a uuid [GH-11863]
|
49
|
+
- config/disks: Transform provider specific config to common form [GH-11939]
|
50
|
+
- config/vm: Override synced-folder `:nfs` option [GH-11988]
|
51
|
+
- contrib/zsh: Remove newline from beginning of completion script [GH-11963]
|
52
|
+
- guests/arch: Install smbclient when setting up arch smb [GH-11923]
|
53
|
+
- guest/linux: Check for /etc/fstab before trying to modify [GH-11897]
|
54
|
+
- guest/linux: Create an /etc/fstab if does not exist [GH-11909]
|
55
|
+
- guest/linux: Persist SMB mounts [GH-11846]
|
56
|
+
- guest/debian: Set hostname in /etc/hosts as first step to changing hostname [GH-11885]
|
57
|
+
- guest/rhel: Check for existence of network files before trying to update them [GH-11877]
|
58
|
+
- guest/suse: Don't use hostnamectl to set hostname if not available on system [GH-11996]
|
59
|
+
- tests: Remove rsync dependency from tests [GH-11889]
|
60
|
+
|
61
|
+
## 2.2.10 (August 24, 2020)
|
62
|
+
|
63
|
+
FEATURES:
|
64
|
+
|
65
|
+
- hyperv/disks: Add ability to manage virtual disks for guests [GH-11541]
|
66
|
+
|
67
|
+
IMPROVEMENTS:
|
68
|
+
|
69
|
+
- core: Allow provisioners to be run when a communicator is not available [GH-11579]
|
70
|
+
- core: Add `autocomplete` command that allows for install of bash or zsh autocomplete scripts [GH-11523]
|
71
|
+
- core: Update to childprocess gem to 4.0.0 [GH-11717]
|
72
|
+
- core: Add action to wait for cloud-init to finish running [GH-11773]
|
73
|
+
- core: Update to net-ssh to 6.0 and net-sftp to 3.0 [GH-11621]
|
74
|
+
- core: Optimize port in use check for faster validation [GH-11810]
|
75
|
+
- core: Support for Ruby 2.7 [GH-11814]
|
76
|
+
- core: Add synced folder capabilities for mount options and default fstab modification behavior [GH-11797]
|
77
|
+
- guest/arch: Use systemd-networkd to configure networking for guests [GH-11400]
|
78
|
+
- guest/haiku: Rsync install for rsync synced folders [GH-11614]
|
79
|
+
- guest/solaris11: Add guest capability shell_expand_guest_path [GH-11759]
|
80
|
+
- host/darwin: Add ability to build ISO [GH-11694]
|
81
|
+
- hosts/linux: Add ability to build ISO [GH-11750]
|
82
|
+
- hosts/windows: Add ability to build ISO [GH-11750]
|
83
|
+
- providers/hyperv: Add support for SecureBootTemplate setting on import [GH-11756]
|
84
|
+
- providers/hyperv: Add support for EnhancedSessionTransportType [GH-11014]
|
85
|
+
- virtualbox/disks: Add ability to manage virtual dvds for guests [GH-11613]
|
86
|
+
|
87
|
+
BUG FIXES:
|
88
|
+
|
89
|
+
- core: Ensure MapCommandOptions class is required [GH-11629]
|
90
|
+
- core: Fix `:all` special value on triggers [GH-11688]
|
91
|
+
- core: Ensure network addresses have a valid netmask [GH-11679]
|
92
|
+
- core: Recover local machine metadata in global index [GH-11656]
|
93
|
+
- core: Print CLI help message is ambiguous option provided [GH-11746]
|
94
|
+
- core: Update how `/etc/hosts` gets updated for darwin, freebsd and openbsd [GH-11719]
|
95
|
+
- core: Capture `[3J` escape sequence [GH-11807]
|
96
|
+
- core: Treat empty box value as invalid [GH-11618]
|
97
|
+
- core: Allow forwarding ports to unknown addresses [GH-11810]
|
98
|
+
- core: Scrub credentials as whole words [GH-11837]
|
99
|
+
- commands/destroy: Add gracefull option to switch beween gracefully or forcefully shutting down a vm [GH-11628]
|
100
|
+
- communicator/ssh: Raise an error for a nil exit status [GH-11721]
|
101
|
+
- communicator/winrm: Check for nil return from querying for forwarded ports [GH-11831]
|
102
|
+
- config/vm: Add option `allow_hosts_modification` to allow/disable Vagrant editing the guests `/etc/hosts` file [GH-11565]
|
103
|
+
- config/vm: Add config option `hostname` to `config.vm.network` [GH-11566]
|
104
|
+
- config/vm: Don't ignore NFS synced folders on Windows hosts [GH-11631]
|
105
|
+
- host: Use regular port check for loopback addresses [GH-11654]
|
106
|
+
- host: Allow windows and linux hosts to detach from rdp process [GH-11732]
|
107
|
+
- host/windows: Properly register SMB password validation capability [GH-11795]
|
108
|
+
- guests: Allow setting of hostname according to `hostname` option for multiple guests [GH-11704]
|
109
|
+
- guest/alpine: Allow setting of hostname according to `hostname` option [GH-11718]
|
110
|
+
- guest/esxi: Be more permissive with permissions of ssh directory [GH-11587]
|
111
|
+
- guest/linux: Add virtual box shared folders to guest fstab [GH-11570]
|
112
|
+
- guest/suse: Allow setting of hostname according to `hostname` option [GH-11567]
|
113
|
+
- providers/docker: Ensure new containers don't grab existing bound ports [GH-11602]
|
114
|
+
- providers/hyperv: Fix check for secure boot [GH-11809]
|
115
|
+
- providers/virtualbox: Fix inability to create disk with same name across multiple guests [GH-11767]
|
116
|
+
- provisioners/docker: Allow to specify docker image version using the `run` option [GH-11806]
|
117
|
+
- provisioners/file: Allow creating empty folders [GH-11805]
|
118
|
+
- provisioners/shell: Ensure Windows shell provisioner gets the correct file extension [GH-11644]
|
119
|
+
- util/powershell: Use correct powershell executable for privileged commands [GH-11787]
|
120
|
+
|
121
|
+
## 2.2.9 (May 07, 2020)
|
122
|
+
|
123
|
+
BUG FIXES:
|
124
|
+
|
125
|
+
- core/bundler: Properly handle plugin install with available specification [GH-11592]
|
126
|
+
- provisioners/docker: Fix CentOS docker install and start service capabilities [GH-11581]
|
127
|
+
- provisioners/podman: Seperate RHEL install from CentOS install [GH-11584]
|
128
|
+
|
129
|
+
## 2.2.8 (May 04, 2020)
|
130
|
+
|
131
|
+
FEATURES:
|
132
|
+
|
133
|
+
- virtualbox/disks: Add ability to manage virtual disks for guests [GH-11349]
|
134
|
+
|
135
|
+
IMPROVEMENTS:
|
136
|
+
|
137
|
+
- bin/vagrant: Automatically include global options within commands [GH-11473]
|
138
|
+
- bin/vagrant: Suppress Ruby warnings when not running pre-release version [GH-11446]
|
139
|
+
- communicator/ssh: Add support for configuring SSH connect timeout [GH-11533]
|
140
|
+
- core: Update childprocess gem [GH-11487]
|
141
|
+
- core: Add cli option `--no-tty` [GH-11414]
|
142
|
+
- core: Overhaul call stack modifications implementation for hooks and triggers [GH-11455]
|
143
|
+
- core/bundler: Cache plugin solution sets to speed up startup times [GH-11363]
|
144
|
+
- config/vm: Add`box_download_options` config to specify extra download options for a box [GH-11560]
|
145
|
+
- guest/alpine: Add ansible provisioner guest support [GH-11411]
|
146
|
+
- guest/linux: Update systemd? check to use sudo [GH-11398]
|
147
|
+
- guest/linux: Use systemd if available to halt and reboot system [GH-11407]
|
148
|
+
- guests/linux: Mount smb folders with `mfsymlinks` option by default [GH-11503]
|
149
|
+
- guest/redhat: Add support for SMB [GH-11463]
|
150
|
+
- guest/windows: Rescue all regular exceptions during reboot wait [GH-11428]
|
151
|
+
- providers/docker: Support catching container name when using podman [GH-11356]
|
152
|
+
- provisioners/docker: Support Centos8 [GH-11462]
|
153
|
+
- provisioners/podman: Add Podman as a provisioner [GH-11472]
|
154
|
+
- provisioners/salt: Allow specifying python_version [GH-11436]
|
155
|
+
|
156
|
+
BUG FIXES:
|
157
|
+
|
158
|
+
- communicators/winssh: Fix issues with Windows SSH communicator [GH-11430]
|
159
|
+
- core/bundler: Activate vagrant specification when not active [GH-11445]
|
160
|
+
- core/bundler: Properly resolve sets when Vagrant is in prerelease [GH-11571]
|
161
|
+
- core/downloader: Always set `-q` flag as first option [GH-11366]
|
162
|
+
- core/hooks: Update dynamic action hook implementation to prevent looping [GH-11427]
|
163
|
+
- core/synced_folders: Validate type option if set [GH-11359]
|
164
|
+
- guests/debian: Choose netplan renderer based on network configuration and installed tools [GH-11498]
|
165
|
+
- host/darwin: Quote directories in /etc/exports [GH-11441]
|
166
|
+
- host/linux: Ensure `/etc/exports` does not contain duplicate records [GH-10591]
|
167
|
+
- host/windows: Check all interfaces for port conflict when host_ip: "0.0.0.0" [GH-11454]
|
168
|
+
- providers/docker: Fix issue where Vagrant fails to remove image if it is in use [GH-11355]
|
169
|
+
- providers/docker: Fix issue with getting correct docker image id from build output [GH-11461]
|
170
|
+
- providers/hyperv: Prevent error when identity reference cannot be translated [GH-11425]
|
171
|
+
- provider/hyperv: Use service id for manipulating vm integration services [GH-11499]
|
172
|
+
- providers/virtualbox: Parse `list dhcpservers` output on VirtualBox 6.1 [GH-11404]
|
173
|
+
- providers/virtualbox: Raise an error if guest IP ends in .1 [GH-11500]
|
174
|
+
- provisioners/shell: Ensure windows shell provisioners always get an extension [GH-11517]
|
175
|
+
- util/io: Fix encoding conversion errors [GH-11571]
|
176
|
+
|
177
|
+
## 2.2.7 (January 27, 2020)
|
178
|
+
|
179
|
+
IMPROVEMENTS:
|
180
|
+
|
181
|
+
- guest/opensuse: Check for basename hostname prior to setting hostname [GH-11170]
|
182
|
+
- host/linux: Check for modinfo in /sbin if it's not on PATH [GH-11178]
|
183
|
+
- core: Show guest name in hostname error message [GH-11175]
|
184
|
+
- provisioners/shell: Linux guests now support `reboot` option [GH-11194]
|
185
|
+
- darwin/nfs: Put each NFS export on its own line [GH-11216]
|
186
|
+
- contrib/bash: Add more completion flags to up command [GH-11223]
|
187
|
+
- provider/virtualbox: Add VirtualBox provider support for version 6.1.x [GH-11250]
|
188
|
+
- box/outdated: Allow to force check for box updates and ignore cached check [GH-11231]
|
189
|
+
- guest/alpine: Update apk cache when installing rsync [GH-11220]
|
190
|
+
- provider/virtualbox: Improve error message when machine folder is inaccessible [GH-11239]
|
191
|
+
- provisioner/ansible_local: Add pip install method for arch guests [GH-11265]
|
192
|
+
- communicators/winssh: Use Windows shell for `vagrant ssh -c` [GH-11258]
|
193
|
+
|
194
|
+
BUG FIXES:
|
195
|
+
|
196
|
+
- command/snapshot/save: Fix regression that prevented snapshot of all guests in environment [GH-11152]
|
197
|
+
- core: Update UI to properly retain newlines when adding prefix [GH-11126]
|
198
|
+
- core: Check if box update is available locally [GH-11188]
|
199
|
+
- core: Ensure Vagrant::Errors are loaded in file_checksum util [GH-11183]
|
200
|
+
- cloud/publish: Improve argument handling for missing arguments to command [GH-11184]
|
201
|
+
- core: Get latest version for current provider during outdated check [GH-11192]
|
202
|
+
- linux/nfs: avoid adding extra newlines to /etc/exports [GH-11201]
|
203
|
+
- guest/darwin: Fix VMware synced folders on APFS [GH-11267]
|
204
|
+
- guest/redhat: Ensure `nfs-server` is restarted when installing nfs client [GH-11212]
|
205
|
+
- core: Do not validate checksums if options are empty string [GH-11211]
|
206
|
+
- provider/docker: Enhance docker build method to match against buildkit output [GH-11205]
|
207
|
+
- provisioner/ansible_local: Don't prompt for input when installing Ansible on Ubuntu and Debian [GH-11191]
|
208
|
+
- provisioner/ansible_local: Ensure all guest caps accept all passed in arguments [GH-11265]
|
209
|
+
- host/windows: Fix regression that prevented port collisions from being detected [GH-11244]
|
210
|
+
- core/provisioner: Set top level provisioner name if set in a provisioner config [GH-11295]
|
211
|
+
|
1
212
|
## 2.2.6 (October 14, 2019)
|
2
213
|
|
3
214
|
FEATURES:
|
@@ -13,7 +224,7 @@ IMPROVEMENTS:
|
|
13
224
|
- guest/alt: Improve handling for using network tools when setting hostname [GH-11000]
|
14
225
|
- guest/suse: Add ipv6 network config templates for SUSE based distributions [GH-11013]
|
15
226
|
- 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
|
227
|
+
- host/bsd: Use host resolve path capability to modify local paths if required [GH-11108]
|
17
228
|
- host/darwin: Add host resolve path capability to provide real paths for firmlinks [GH-11108]
|
18
229
|
- provisioners/chef: Update pkg install flags for chef on FreeBSD guests [GH-11075]
|
19
230
|
- provider/hyperv: Improve error message when VMMS is not running [GH-10978]
|
@@ -509,7 +720,7 @@ BUG FIXES:
|
|
509
720
|
- core: Rescue more exceptions when checking if port is open [GH-8517]
|
510
721
|
- guests/solaris11: Inherit from Solaris guest and keep solaris11 specific methods [GH-9034]
|
511
722
|
- 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
|
723
|
+
- guests/windows: Specify expected shell when executing on guest (fixes einssh communicator usage) [GH-9012]
|
513
724
|
- guests/windows: Include WinSSH Communicator when using insert_public_key [GH-9105]
|
514
725
|
- hosts/windows: Check for vagrant.exe when validating versions within WSL [GH-9107, GH-8962]
|
515
726
|
- providers/docker: Isolate windows check within executor to handle running through VM [GH-8921]
|
data/Gemfile
CHANGED
@@ -5,5 +5,5 @@ gemspec
|
|
5
5
|
if File.exist?(File.expand_path("../../vagrant-spec", __FILE__))
|
6
6
|
gem 'vagrant-spec', path: "../vagrant-spec"
|
7
7
|
else
|
8
|
-
gem 'vagrant-spec', git: "https://github.com/hashicorp/vagrant-spec.git"
|
8
|
+
gem 'vagrant-spec', git: "https://github.com/hashicorp/vagrant-spec.git", branch: :main
|
9
9
|
end
|
data/README.md
CHANGED
@@ -1,10 +1,8 @@
|
|
1
1
|
# Vagrant
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
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
|
|
@@ -19,7 +17,8 @@ between Windows, Mac OS X, and Linux.
|
|
19
17
|
|
20
18
|
## Quick Start
|
21
19
|
|
22
|
-
Package dependencies: Vagrant requires `bsdtar` to be available on
|
20
|
+
Package dependencies: Vagrant requires `bsdtar` and `curl` to be available on
|
21
|
+
your system PATH to run successfully.
|
23
22
|
|
24
23
|
For the quick-start, we'll bring up a development machine on
|
25
24
|
[VirtualBox](https://www.virtualbox.org/) because it is free and works
|
@@ -43,56 +42,15 @@ the box doesn't already exist on your system.
|
|
43
42
|
## Getting Started Guide
|
44
43
|
|
45
44
|
To learn how to build a fully functional development environment, follow the
|
46
|
-
[getting started guide](https://www.vagrantup.com/docs/getting-started
|
45
|
+
[getting started guide](https://www.vagrantup.com/docs/getting-started).
|
47
46
|
|
48
47
|
## Installing from Source
|
49
48
|
|
50
|
-
If you want the bleeding edge version of Vagrant, we try to keep
|
51
|
-
and you're welcome to give it a shot. Please review the installation page [here](https://www.vagrantup.com/docs/installation/source
|
49
|
+
If you want the bleeding edge version of Vagrant, we try to keep main pretty stable
|
50
|
+
and you're welcome to give it a shot. Please review the installation page [here](https://www.vagrantup.com/docs/installation/source).
|
52
51
|
|
53
52
|
## Contributing to Vagrant
|
54
53
|
|
55
|
-
|
56
|
-
|
57
|
-
bundle exec rake
|
58
|
-
|
59
|
-
This will run the unit test suite, which should come back all green!
|
60
|
-
|
61
|
-
If you are developing Vagrant on a machine that already has a Vagrant package installation present, both will attempt to use the same folder for their configuration (location of this folder depends on system). This can cause errors when Vagrant attempts to load plugins. In this case, override the `VAGRANT_HOME` environment variable for your development version of Vagrant before running any commands, to be some new folder within the project or elsewhere on your machine. For example, in Bash:
|
62
|
-
|
63
|
-
export VAGRANT_HOME=~/.vagrant-dev
|
64
|
-
|
65
|
-
You can now run Vagrant commands against the development version:
|
66
|
-
|
67
|
-
bundle exec vagrant
|
68
|
-
|
69
|
-
Please take time to read the [HashiCorp Community Guidelines](https://www.hashicorp.com/community-guidelines) and the [Vagrant Contributing Guide](https://github.com/hashicorp/vagrant/blob/master/.github/CONTRIBUTING.md).
|
54
|
+
Please take time to read the [HashiCorp Community Guidelines](https://www.hashicorp.com/community-guidelines) and the [Vagrant Contributing Guide](https://github.com/hashicorp/vagrant/blob/main/.github/CONTRIBUTING.md).
|
70
55
|
|
71
56
|
Then you're good to go!
|
72
|
-
|
73
|
-
### Acceptance Tests
|
74
|
-
|
75
|
-
Vagrant also comes with an acceptance test suite that does black-box
|
76
|
-
tests of various Vagrant components. Note that these tests are **extremely
|
77
|
-
slow** because actual VMs are spun up and down. The full test suite can
|
78
|
-
take hours. Instead, try to run focused component tests.
|
79
|
-
|
80
|
-
To run the acceptance test suite, first copy `vagrant-spec.config.example.rb`
|
81
|
-
to `vagrant-spec.config.rb` and modify it to valid values. The places you
|
82
|
-
should fill in are clearly marked.
|
83
|
-
|
84
|
-
Next, see the components that can be tested:
|
85
|
-
|
86
|
-
```
|
87
|
-
$ rake acceptance:components
|
88
|
-
cli
|
89
|
-
provider/virtualbox/basic
|
90
|
-
...
|
91
|
-
```
|
92
|
-
|
93
|
-
Then, run one of those components:
|
94
|
-
|
95
|
-
```
|
96
|
-
$ rake acceptance:run COMPONENTS="cli"
|
97
|
-
...
|
98
|
-
```
|
data/RELEASE.md
CHANGED
@@ -22,7 +22,7 @@ targeted at Vagrant core members who have the ability to cut a release.
|
|
22
22
|
to the latest version, commit, and push.
|
23
23
|
|
24
24
|
1. Publish the webiste by deleting the `stable-website` branch, recreate the branch,
|
25
|
-
and force push. From the `
|
25
|
+
and force push. From the `main` branch, run:
|
26
26
|
|
27
27
|
```
|
28
28
|
$ git branch -D stable-website
|
data/bin/vagrant
CHANGED
@@ -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
|
|
data/contrib/README.md
CHANGED
data/contrib/bash/completion.sh
CHANGED
@@ -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="
|
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
|
;;
|
data/contrib/sudoers/linux-suse
CHANGED
@@ -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 = /
|
4
|
-
Cmnd_Alias VAGRANT_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,738 @@
|
|
1
|
+
#compdef _vagrant vagrant
|
2
|
+
|
3
|
+
# ZSH completion for Vagrant
|
4
|
+
#
|
5
|
+
# To use this completion add this to ~/.zshrc
|
6
|
+
# fpath=(/path/to/this/dir $fpath)
|
7
|
+
# compinit
|
8
|
+
#
|
9
|
+
# For development reload the function after making changes
|
10
|
+
# unfunction _vagrant && autoload -U _vagrant
|
11
|
+
|
12
|
+
|
13
|
+
__box_list ()
|
14
|
+
{
|
15
|
+
_wanted application expl 'command' compadd $(command vagrant box list | awk '{print $1}' )
|
16
|
+
}
|
17
|
+
|
18
|
+
|
19
|
+
__plugin_list ()
|
20
|
+
{
|
21
|
+
_wanted application expl 'command' compadd $(command vagrant plugin list | awk '{print $1}')
|
22
|
+
}
|
23
|
+
|
24
|
+
|
25
|
+
function _vagrant () {
|
26
|
+
|
27
|
+
local -a sub_commands && sub_commands=(
|
28
|
+
'autocomplete:manages autocomplete installation on host'
|
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
|
+
autocomplete)
|
320
|
+
__vagrant-autocomplete ;;
|
321
|
+
box)
|
322
|
+
__vagrant-box ;;
|
323
|
+
cloud)
|
324
|
+
_arguments -s -S : $cloud_arguments ;;
|
325
|
+
destroy)
|
326
|
+
_arguments -s -S : $destroy_arguments ;;
|
327
|
+
global-status)
|
328
|
+
_arguments -s -S : $global_status_arguments ;;
|
329
|
+
halt)
|
330
|
+
_arguments -s -S : $halt_arguments ;;
|
331
|
+
help)
|
332
|
+
_arguments -s -S : $help_arguments ;;
|
333
|
+
init)
|
334
|
+
_arguments -s -S : $init_arguments ;;
|
335
|
+
login)
|
336
|
+
_arguments -s -S : $login_arguments ;;
|
337
|
+
package)
|
338
|
+
_arguments -s -S : $package_arguments ;;
|
339
|
+
plugin)
|
340
|
+
__vagrant-plugin ;;
|
341
|
+
port)
|
342
|
+
_arguments -s -S : $port_arguments ;;
|
343
|
+
powershell)
|
344
|
+
_arguments -s -S : $powershell_arguments ;;
|
345
|
+
provision)
|
346
|
+
_arguments -s -S : $provision_arguments ;;
|
347
|
+
push)
|
348
|
+
_arguments -s -S : $push_arguments ;;
|
349
|
+
rdp)
|
350
|
+
_arguments -s -S : $rdp_arguments ;;
|
351
|
+
reload)
|
352
|
+
_arguments -s -S : $reload_arguments ;;
|
353
|
+
resume)
|
354
|
+
_arguments -s -S : $resume_arguments ;;
|
355
|
+
snapshot)
|
356
|
+
__vagrant-snapshot ;;
|
357
|
+
ssh)
|
358
|
+
_arguments -s -S : $ssh_arguments ;;
|
359
|
+
ssh-config)
|
360
|
+
_arguments -s -S : $ssh_config_arguments ;;
|
361
|
+
status)
|
362
|
+
_arguments -s -S : $status_arguments ;;
|
363
|
+
suspend)
|
364
|
+
_arguments -s -S : $suspend_arguments ;;
|
365
|
+
up)
|
366
|
+
_arguments -s -S : $up_arguments ;;
|
367
|
+
upload)
|
368
|
+
_arguments -s -S : $upload_arguments ;;
|
369
|
+
validate)
|
370
|
+
_arguments -s -S : $validate_arguments ;;
|
371
|
+
version)
|
372
|
+
_arguments -s -S : $version_arguments ;;
|
373
|
+
winrm)
|
374
|
+
_arguments -s -S : $winrm_arguments ;;
|
375
|
+
winrm-config)
|
376
|
+
_arguments -s -S : $winrm_config_arguments ;;
|
377
|
+
esac
|
378
|
+
;;
|
379
|
+
esac
|
380
|
+
|
381
|
+
}
|
382
|
+
|
383
|
+
function __vagrant-box () {
|
384
|
+
|
385
|
+
local -a sub_commands && sub_commands=(
|
386
|
+
'add:add'
|
387
|
+
'list:list'
|
388
|
+
'outdated:outdated'
|
389
|
+
'prune:prune'
|
390
|
+
'remove:remove'
|
391
|
+
'repackage:repackage'
|
392
|
+
'update:update'
|
393
|
+
)
|
394
|
+
|
395
|
+
local -a add_arguments && add_arguments=(
|
396
|
+
'--insecure=[Do not validate SSL certificates]'
|
397
|
+
'--cacert=[CA certificate for SSL download]'
|
398
|
+
'--capath=[CA certificate directory for SSL download]'
|
399
|
+
'--cert=[A client SSL cert, if needed]'
|
400
|
+
'--location-trusted=[Trust Location header from HTTP redirects and use the same credentials for subsequent urls as for the initial one]'
|
401
|
+
'--provider=[Provider the box should satisfy]'
|
402
|
+
'--box-version=[Constrain version of the added box]'
|
403
|
+
'--checksum=[Checksum for the box]'
|
404
|
+
'--checksum-type=[Checksum type (md5, sha1, sha256)]'
|
405
|
+
'--name=[Name of the box]'
|
406
|
+
'--(no-)color=[Enable or disable color output]'
|
407
|
+
'--machine-readable=[Enable machine readable output]'
|
408
|
+
'--debug=[Enable debug output]'
|
409
|
+
'--timestamp=[Enable timestamps on log output]'
|
410
|
+
'--debug-timestamp=[Enable debug output with timestamps]'
|
411
|
+
'--no-tty=[Enable non_interactive output]'
|
412
|
+
)
|
413
|
+
|
414
|
+
local -a list_arguments && list_arguments=(
|
415
|
+
'--(no-)color=[Enable or disable color output]'
|
416
|
+
'--machine-readable=[Enable machine readable output]'
|
417
|
+
'--debug=[Enable debug output]'
|
418
|
+
'--timestamp=[Enable timestamps on log output]'
|
419
|
+
'--debug-timestamp=[Enable debug output with timestamps]'
|
420
|
+
'--no-tty=[Enable non_interactive output]'
|
421
|
+
)
|
422
|
+
|
423
|
+
local -a outdated_arguments && outdated_arguments=(
|
424
|
+
'--global=[Check all boxes installed]'
|
425
|
+
'--insecure=[Do not validate SSL certificates]'
|
426
|
+
'--cacert=[CA certificate for SSL download]'
|
427
|
+
'--capath=[CA certificate directory for SSL download]'
|
428
|
+
'--cert=[A client SSL cert, if needed]'
|
429
|
+
'--(no-)color=[Enable or disable color output]'
|
430
|
+
'--machine-readable=[Enable machine readable output]'
|
431
|
+
'--debug=[Enable debug output]'
|
432
|
+
'--timestamp=[Enable timestamps on log output]'
|
433
|
+
'--debug-timestamp=[Enable debug output with timestamps]'
|
434
|
+
'--no-tty=[Enable non_interactive output]'
|
435
|
+
)
|
436
|
+
|
437
|
+
local -a prune_arguments && prune_arguments=(
|
438
|
+
'--name=[The specific box name to check for outdated versions.]'
|
439
|
+
'--(no-)color=[Enable or disable color output]'
|
440
|
+
'--machine-readable=[Enable machine readable output]'
|
441
|
+
'--debug=[Enable debug output]'
|
442
|
+
'--timestamp=[Enable timestamps on log output]'
|
443
|
+
'--debug-timestamp=[Enable debug output with timestamps]'
|
444
|
+
'--no-tty=[Enable non_interactive output]'
|
445
|
+
)
|
446
|
+
|
447
|
+
local -a remove_arguments && remove_arguments=(
|
448
|
+
'--provider=[The specific provider type for the box to remove]'
|
449
|
+
'--box-version=[The specific version of the box to remove]'
|
450
|
+
'--all=[Remove all available versions of the box]'
|
451
|
+
'--(no-)color=[Enable or disable color output]'
|
452
|
+
'--machine-readable=[Enable machine readable output]'
|
453
|
+
'--debug=[Enable debug output]'
|
454
|
+
'--timestamp=[Enable timestamps on log output]'
|
455
|
+
'--debug-timestamp=[Enable debug output with timestamps]'
|
456
|
+
'--no-tty=[Enable non_interactive output]'
|
457
|
+
)
|
458
|
+
|
459
|
+
local -a repackage_arguments && repackage_arguments=(
|
460
|
+
'--(no-)color=[Enable or disable color output]'
|
461
|
+
'--machine-readable=[Enable machine readable output]'
|
462
|
+
'--debug=[Enable debug output]'
|
463
|
+
'--timestamp=[Enable timestamps on log output]'
|
464
|
+
'--debug-timestamp=[Enable debug output with timestamps]'
|
465
|
+
'--no-tty=[Enable non_interactive output]'
|
466
|
+
)
|
467
|
+
|
468
|
+
local -a update_arguments && update_arguments=(
|
469
|
+
'--box=[__box flag.]'
|
470
|
+
'--box=[Update a specific box]'
|
471
|
+
'--provider=[Update box with specific provider]'
|
472
|
+
'--insecure=[Do not validate SSL certificates]'
|
473
|
+
'--cacert=[CA certificate for SSL download]'
|
474
|
+
'--capath=[CA certificate directory for SSL download]'
|
475
|
+
'--cert=[A client SSL cert, if needed]'
|
476
|
+
'--(no-)color=[Enable or disable color output]'
|
477
|
+
'--machine-readable=[Enable machine readable output]'
|
478
|
+
'--debug=[Enable debug output]'
|
479
|
+
'--timestamp=[Enable timestamps on log output]'
|
480
|
+
'--debug-timestamp=[Enable debug output with timestamps]'
|
481
|
+
'--no-tty=[Enable non_interactive output]'
|
482
|
+
)
|
483
|
+
|
484
|
+
|
485
|
+
|
486
|
+
_arguments -C ':command:->command' '*::options:->options'
|
487
|
+
|
488
|
+
case $state in
|
489
|
+
(command)
|
490
|
+
_describe -t commands 'command' sub_commands
|
491
|
+
return
|
492
|
+
;;
|
493
|
+
|
494
|
+
(options)
|
495
|
+
case $line[1] in
|
496
|
+
add)
|
497
|
+
_arguments -s -S : $add_arguments ;;
|
498
|
+
list)
|
499
|
+
_arguments -s -S : $list_arguments ;;
|
500
|
+
outdated)
|
501
|
+
_arguments -s -S : $outdated_arguments ;;
|
502
|
+
prune)
|
503
|
+
_arguments -s -S : $prune_arguments ;;
|
504
|
+
remove)
|
505
|
+
_arguments -s -S : $remove_arguments ':feature:__box_list' ;;
|
506
|
+
repackage)
|
507
|
+
_arguments -s -S : $repackage_arguments ':feature:__box_list' ;;
|
508
|
+
update)
|
509
|
+
_arguments -s -S : $update_arguments ':feature:__box_list' ;;
|
510
|
+
esac
|
511
|
+
;;
|
512
|
+
esac
|
513
|
+
|
514
|
+
}
|
515
|
+
|
516
|
+
function __vagrant-snapshot () {
|
517
|
+
|
518
|
+
local -a sub_commands && sub_commands=(
|
519
|
+
'delete:delete'
|
520
|
+
'list:list'
|
521
|
+
'pop:pop'
|
522
|
+
'push:push'
|
523
|
+
'restore:restore'
|
524
|
+
'save:save'
|
525
|
+
)
|
526
|
+
|
527
|
+
local -a delete_arguments && delete_arguments=(
|
528
|
+
'--(no-)color=[Enable or disable color output]'
|
529
|
+
'--machine-readable=[Enable machine readable output]'
|
530
|
+
'--debug=[Enable debug output]'
|
531
|
+
'--timestamp=[Enable timestamps on log output]'
|
532
|
+
'--debug-timestamp=[Enable debug output with timestamps]'
|
533
|
+
'--no-tty=[Enable non_interactive output]'
|
534
|
+
)
|
535
|
+
|
536
|
+
local -a list_arguments && list_arguments=(
|
537
|
+
'--(no-)color=[Enable or disable color output]'
|
538
|
+
'--machine-readable=[Enable machine readable output]'
|
539
|
+
'--debug=[Enable debug output]'
|
540
|
+
'--timestamp=[Enable timestamps on log output]'
|
541
|
+
'--debug-timestamp=[Enable debug output with timestamps]'
|
542
|
+
'--no-tty=[Enable non_interactive output]'
|
543
|
+
)
|
544
|
+
|
545
|
+
local -a pop_arguments && pop_arguments=(
|
546
|
+
'--(no-)provision=[Enable or disable provisioning]'
|
547
|
+
'--provision-with=[Enable only certain provisioners, by type or by name.]'
|
548
|
+
'--no-delete=[Dont delete the snapshot after the restore]'
|
549
|
+
'--no-start=[Dont start the snapshot after the restore]'
|
550
|
+
'--(no-)color=[Enable or disable color output]'
|
551
|
+
'--machine-readable=[Enable machine readable output]'
|
552
|
+
'--debug=[Enable debug output]'
|
553
|
+
'--timestamp=[Enable timestamps on log output]'
|
554
|
+
'--debug-timestamp=[Enable debug output with timestamps]'
|
555
|
+
'--no-tty=[Enable non_interactive output]'
|
556
|
+
)
|
557
|
+
|
558
|
+
local -a push_arguments && push_arguments=(
|
559
|
+
'--(no-)color=[Enable or disable color output]'
|
560
|
+
'--machine-readable=[Enable machine readable output]'
|
561
|
+
'--debug=[Enable debug output]'
|
562
|
+
'--timestamp=[Enable timestamps on log output]'
|
563
|
+
'--debug-timestamp=[Enable debug output with timestamps]'
|
564
|
+
'--no-tty=[Enable non_interactive output]'
|
565
|
+
)
|
566
|
+
|
567
|
+
local -a restore_arguments && restore_arguments=(
|
568
|
+
'--(no-)provision=[Enable or disable provisioning]'
|
569
|
+
'--provision-with=[Enable only certain provisioners, by type or by name.]'
|
570
|
+
'--no-start=[Dont start the snapshot after the restore]'
|
571
|
+
'--(no-)color=[Enable or disable color output]'
|
572
|
+
'--machine-readable=[Enable machine readable output]'
|
573
|
+
'--debug=[Enable debug output]'
|
574
|
+
'--timestamp=[Enable timestamps on log output]'
|
575
|
+
'--debug-timestamp=[Enable debug output with timestamps]'
|
576
|
+
'--no-tty=[Enable non_interactive output]'
|
577
|
+
)
|
578
|
+
|
579
|
+
local -a save_arguments && save_arguments=(
|
580
|
+
'--(no-)color=[Enable or disable color output]'
|
581
|
+
'--machine-readable=[Enable machine readable output]'
|
582
|
+
'--debug=[Enable debug output]'
|
583
|
+
'--timestamp=[Enable timestamps on log output]'
|
584
|
+
'--debug-timestamp=[Enable debug output with timestamps]'
|
585
|
+
'--no-tty=[Enable non_interactive output]'
|
586
|
+
)
|
587
|
+
|
588
|
+
|
589
|
+
|
590
|
+
_arguments -C ':command:->command' '*::options:->options'
|
591
|
+
|
592
|
+
case $state in
|
593
|
+
(command)
|
594
|
+
_describe -t commands 'command' sub_commands
|
595
|
+
return
|
596
|
+
;;
|
597
|
+
|
598
|
+
(options)
|
599
|
+
case $line[1] in
|
600
|
+
delete)
|
601
|
+
_arguments -s -S : $delete_arguments ;;
|
602
|
+
list)
|
603
|
+
_arguments -s -S : $list_arguments ;;
|
604
|
+
pop)
|
605
|
+
_arguments -s -S : $pop_arguments ;;
|
606
|
+
push)
|
607
|
+
_arguments -s -S : $push_arguments ;;
|
608
|
+
restore)
|
609
|
+
_arguments -s -S : $restore_arguments ;;
|
610
|
+
save)
|
611
|
+
_arguments -s -S : $save_arguments ;;
|
612
|
+
esac
|
613
|
+
;;
|
614
|
+
esac
|
615
|
+
|
616
|
+
}
|
617
|
+
|
618
|
+
function __vagrant-plugin () {
|
619
|
+
|
620
|
+
local -a sub_commands && sub_commands=(
|
621
|
+
'expunge:expunge'
|
622
|
+
'install:install'
|
623
|
+
'license:license'
|
624
|
+
'list:list'
|
625
|
+
'repair:repair'
|
626
|
+
'uninstall:uninstall'
|
627
|
+
'update:update'
|
628
|
+
)
|
629
|
+
|
630
|
+
local -a expunge_arguments && expunge_arguments=(
|
631
|
+
'--force=[Do not prompt for confirmation]'
|
632
|
+
'--local=[Include plugins from local project for expunge]'
|
633
|
+
'--local-only=[Only expunge local project plugins]'
|
634
|
+
'--global-only=[Only expunge global plugins]'
|
635
|
+
'--reinstall=[Reinstall current plugins after expunge]'
|
636
|
+
'--(no-)color=[Enable or disable color output]'
|
637
|
+
'--machine-readable=[Enable machine readable output]'
|
638
|
+
'--debug=[Enable debug output]'
|
639
|
+
'--timestamp=[Enable timestamps on log output]'
|
640
|
+
'--debug-timestamp=[Enable debug output with timestamps]'
|
641
|
+
'--no-tty=[Enable non_interactive output]'
|
642
|
+
)
|
643
|
+
|
644
|
+
local -a install_arguments && install_arguments=(
|
645
|
+
'--entry-point=[The name of the entry point file for loading the plugin.]'
|
646
|
+
'--plugin-clean-sources=[Remove all plugin sources defined so far (including defaults)]'
|
647
|
+
'--plugin-source=[__plugin_source PLUGIN_SOURCE]'
|
648
|
+
'--plugin-version=[__plugin_version PLUGIN_VERSION]'
|
649
|
+
'--local=[Install plugin for local project only]'
|
650
|
+
'--verbose=[Enable verbose output for plugin installation]'
|
651
|
+
'--(no-)color=[Enable or disable color output]'
|
652
|
+
'--machine-readable=[Enable machine readable output]'
|
653
|
+
'--debug=[Enable debug output]'
|
654
|
+
'--timestamp=[Enable timestamps on log output]'
|
655
|
+
'--debug-timestamp=[Enable debug output with timestamps]'
|
656
|
+
'--no-tty=[Enable non_interactive output]'
|
657
|
+
)
|
658
|
+
|
659
|
+
local -a license_arguments && license_arguments=(
|
660
|
+
'--(no-)color=[Enable or disable color output]'
|
661
|
+
'--machine-readable=[Enable machine readable output]'
|
662
|
+
'--debug=[Enable debug output]'
|
663
|
+
'--timestamp=[Enable timestamps on log output]'
|
664
|
+
'--debug-timestamp=[Enable debug output with timestamps]'
|
665
|
+
'--no-tty=[Enable non_interactive output]'
|
666
|
+
)
|
667
|
+
|
668
|
+
local -a list_arguments && list_arguments=(
|
669
|
+
'--local=[Include local project plugins]'
|
670
|
+
'--(no-)color=[Enable or disable color output]'
|
671
|
+
'--machine-readable=[Enable machine readable output]'
|
672
|
+
'--debug=[Enable debug output]'
|
673
|
+
'--timestamp=[Enable timestamps on log output]'
|
674
|
+
'--debug-timestamp=[Enable debug output with timestamps]'
|
675
|
+
'--no-tty=[Enable non_interactive output]'
|
676
|
+
)
|
677
|
+
|
678
|
+
local -a repair_arguments && repair_arguments=(
|
679
|
+
'--local=[Repair plugins in local project]'
|
680
|
+
'--(no-)color=[Enable or disable color output]'
|
681
|
+
'--machine-readable=[Enable machine readable output]'
|
682
|
+
'--debug=[Enable debug output]'
|
683
|
+
'--timestamp=[Enable timestamps on log output]'
|
684
|
+
'--debug-timestamp=[Enable debug output with timestamps]'
|
685
|
+
'--no-tty=[Enable non_interactive output]'
|
686
|
+
)
|
687
|
+
|
688
|
+
local -a uninstall_arguments && uninstall_arguments=(
|
689
|
+
'--local=[Remove plugin from local project]'
|
690
|
+
'--(no-)color=[Enable or disable color output]'
|
691
|
+
'--machine-readable=[Enable machine readable output]'
|
692
|
+
'--debug=[Enable debug output]'
|
693
|
+
'--timestamp=[Enable timestamps on log output]'
|
694
|
+
'--debug-timestamp=[Enable debug output with timestamps]'
|
695
|
+
'--no-tty=[Enable non_interactive output]'
|
696
|
+
)
|
697
|
+
|
698
|
+
local -a update_arguments && update_arguments=(
|
699
|
+
'--local=[Update plugin in local project]'
|
700
|
+
'--(no-)color=[Enable or disable color output]'
|
701
|
+
'--machine-readable=[Enable machine readable output]'
|
702
|
+
'--debug=[Enable debug output]'
|
703
|
+
'--timestamp=[Enable timestamps on log output]'
|
704
|
+
'--debug-timestamp=[Enable debug output with timestamps]'
|
705
|
+
'--no-tty=[Enable non_interactive output]'
|
706
|
+
)
|
707
|
+
|
708
|
+
|
709
|
+
|
710
|
+
_arguments -C ':command:->command' '*::options:->options'
|
711
|
+
|
712
|
+
case $state in
|
713
|
+
(command)
|
714
|
+
_describe -t commands 'command' sub_commands
|
715
|
+
return
|
716
|
+
;;
|
717
|
+
|
718
|
+
(options)
|
719
|
+
case $line[1] in
|
720
|
+
expunge)
|
721
|
+
_arguments -s -S : $expunge_arguments ;;
|
722
|
+
install)
|
723
|
+
_arguments -s -S : $install_arguments ;;
|
724
|
+
license)
|
725
|
+
_arguments -s -S : $license_arguments ;;
|
726
|
+
list)
|
727
|
+
_arguments -s -S : $list_arguments ;;
|
728
|
+
repair)
|
729
|
+
_arguments -s -S : $repair_arguments ':feature:__plugin_list' ;;
|
730
|
+
uninstall)
|
731
|
+
_arguments -s -S : $uninstall_arguments ':feature:__plugin_list' ;;
|
732
|
+
update)
|
733
|
+
_arguments -s -S : $update_arguments ':feature:__plugin_list' ;;
|
734
|
+
esac
|
735
|
+
;;
|
736
|
+
esac
|
737
|
+
|
738
|
+
}
|