2023-08-10 16:53:25 -04:00
|
|
|
# Copyright (c) HashiCorp, Inc.
|
|
|
|
|
# SPDX-License-Identifier: BUSL-1.1
|
|
|
|
|
|
2012-04-18 20:38:20 -04:00
|
|
|
require "vagrant"
|
|
|
|
|
|
|
|
|
|
module VagrantPlugins
|
|
|
|
|
module GuestLinux
|
2012-11-07 00:14:45 -05:00
|
|
|
class Plugin < Vagrant.plugin("2")
|
2012-04-18 20:38:20 -04:00
|
|
|
name "Linux guest."
|
|
|
|
|
description "Linux guest support."
|
2012-04-19 00:03:03 -04:00
|
|
|
|
2016-06-17 19:45:20 -04:00
|
|
|
guest(:linux) do
|
2016-06-05 15:13:32 -04:00
|
|
|
require_relative "guest"
|
2012-05-23 18:57:43 -04:00
|
|
|
Guest
|
|
|
|
|
end
|
2013-04-04 02:01:43 -04:00
|
|
|
|
2020-07-20 15:36:53 -04:00
|
|
|
guest_capability(:linux, :change_host_name) do
|
|
|
|
|
require_relative "cap/change_host_name"
|
|
|
|
|
Cap::ChangeHostName
|
|
|
|
|
end
|
|
|
|
|
|
2016-06-17 19:45:20 -04:00
|
|
|
guest_capability(:linux, :choose_addressable_ip_addr) do
|
2014-02-26 18:54:53 -05:00
|
|
|
require_relative "cap/choose_addressable_ip_addr"
|
|
|
|
|
Cap::ChooseAddressableIPAddr
|
|
|
|
|
end
|
|
|
|
|
|
2018-10-04 16:13:27 -04:00
|
|
|
guest_capability(:linux, :create_tmp_path) do
|
|
|
|
|
require_relative "cap/file_system"
|
|
|
|
|
Cap::FileSystem
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
guest_capability(:linux, :decompress_tgz) do
|
|
|
|
|
require_relative "cap/file_system"
|
|
|
|
|
Cap::FileSystem
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
guest_capability(:linux, :decompress_zip) do
|
|
|
|
|
require_relative "cap/file_system"
|
|
|
|
|
Cap::FileSystem
|
|
|
|
|
end
|
|
|
|
|
|
2016-06-17 19:45:20 -04:00
|
|
|
guest_capability(:linux, :halt) do
|
2013-04-04 02:33:20 -04:00
|
|
|
require_relative "cap/halt"
|
|
|
|
|
Cap::Halt
|
|
|
|
|
end
|
|
|
|
|
|
2016-06-17 19:45:20 -04:00
|
|
|
guest_capability(:linux, :insert_public_key) do
|
2016-06-24 21:19:08 -04:00
|
|
|
require_relative "cap/public_key"
|
|
|
|
|
Cap::PublicKey
|
2014-01-03 14:13:21 -05:00
|
|
|
end
|
|
|
|
|
|
2016-06-17 19:45:20 -04:00
|
|
|
guest_capability(:linux, :shell_expand_guest_path) do
|
2013-04-04 02:01:43 -04:00
|
|
|
require_relative "cap/shell_expand_guest_path"
|
|
|
|
|
Cap::ShellExpandGuestPath
|
|
|
|
|
end
|
|
|
|
|
|
2016-06-17 19:45:20 -04:00
|
|
|
guest_capability(:linux, :mount_nfs_folder) do
|
2016-06-24 19:08:58 -04:00
|
|
|
require_relative "cap/nfs"
|
|
|
|
|
Cap::NFS
|
2013-04-04 02:33:20 -04:00
|
|
|
end
|
|
|
|
|
|
2016-06-17 19:45:20 -04:00
|
|
|
guest_capability(:linux, :mount_smb_shared_folder) do
|
2014-02-26 18:54:53 -05:00
|
|
|
require_relative "cap/mount_smb_shared_folder"
|
|
|
|
|
Cap::MountSMBSharedFolder
|
|
|
|
|
end
|
|
|
|
|
|
2016-06-17 19:45:20 -04:00
|
|
|
guest_capability(:linux, :mount_virtualbox_shared_folder) do
|
2013-04-04 02:01:43 -04:00
|
|
|
require_relative "cap/mount_virtualbox_shared_folder"
|
|
|
|
|
Cap::MountVirtualBoxSharedFolder
|
|
|
|
|
end
|
2013-04-08 18:30:41 -04:00
|
|
|
|
2020-05-21 14:30:52 -04:00
|
|
|
guest_capability(:linux, :persist_mount_shared_folder) do
|
|
|
|
|
require_relative "cap/persist_mount_shared_folder"
|
|
|
|
|
Cap::PersistMountSharedFolder
|
2020-05-12 13:36:27 -04:00
|
|
|
end
|
|
|
|
|
|
2016-06-22 22:08:02 -04:00
|
|
|
guest_capability(:linux, :network_interfaces) do
|
|
|
|
|
require_relative "cap/network_interfaces"
|
|
|
|
|
Cap::NetworkInterfaces
|
|
|
|
|
end
|
|
|
|
|
|
2016-06-17 19:45:20 -04:00
|
|
|
guest_capability(:linux, :nfs_client_installed) do
|
2016-06-24 19:08:58 -04:00
|
|
|
require_relative "cap/nfs"
|
|
|
|
|
Cap::NFS
|
2014-01-09 19:58:20 -05:00
|
|
|
end
|
|
|
|
|
|
2014-04-17 18:05:50 -04:00
|
|
|
# For the Docker provider
|
2016-06-17 19:45:20 -04:00
|
|
|
guest_capability(:linux, :port_open_check) do
|
2014-04-17 18:05:50 -04:00
|
|
|
require_relative "cap/port"
|
|
|
|
|
Cap::Port
|
|
|
|
|
end
|
|
|
|
|
|
2016-06-17 19:45:20 -04:00
|
|
|
guest_capability(:linux, :read_ip_address) do
|
2013-04-08 18:30:41 -04:00
|
|
|
require_relative "cap/read_ip_address"
|
|
|
|
|
Cap::ReadIPAddress
|
|
|
|
|
end
|
2014-01-10 20:51:44 -05:00
|
|
|
|
2019-11-15 14:46:36 -05:00
|
|
|
guest_capability(:linux, :wait_for_reboot) do
|
|
|
|
|
require_relative "cap/reboot"
|
|
|
|
|
Cap::Reboot
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
guest_capability(:linux, :reboot) do
|
|
|
|
|
require_relative "cap/reboot"
|
|
|
|
|
Cap::Reboot
|
|
|
|
|
end
|
|
|
|
|
|
2016-06-17 19:45:20 -04:00
|
|
|
guest_capability(:linux, :remove_public_key) do
|
2016-06-24 21:19:08 -04:00
|
|
|
require_relative "cap/public_key"
|
|
|
|
|
Cap::PublicKey
|
2014-10-24 12:58:18 -04:00
|
|
|
end
|
|
|
|
|
|
2016-06-17 19:45:20 -04:00
|
|
|
guest_capability(:linux, :rsync_installed) do
|
2014-01-30 22:26:43 -05:00
|
|
|
require_relative "cap/rsync"
|
|
|
|
|
Cap::RSync
|
|
|
|
|
end
|
|
|
|
|
|
2016-06-17 19:45:20 -04:00
|
|
|
guest_capability(:linux, :rsync_command) do
|
2014-03-12 21:43:59 -04:00
|
|
|
require_relative "cap/rsync"
|
|
|
|
|
Cap::RSync
|
|
|
|
|
end
|
|
|
|
|
|
2016-06-17 19:45:20 -04:00
|
|
|
guest_capability(:linux, :rsync_post) do
|
2014-01-10 20:51:44 -05:00
|
|
|
require_relative "cap/rsync"
|
|
|
|
|
Cap::RSync
|
|
|
|
|
end
|
2014-04-16 17:59:23 -04:00
|
|
|
|
2016-06-17 19:45:20 -04:00
|
|
|
guest_capability(:linux, :rsync_pre) do
|
2014-05-06 21:40:55 -04:00
|
|
|
require_relative "cap/rsync"
|
|
|
|
|
Cap::RSync
|
|
|
|
|
end
|
|
|
|
|
|
2016-06-17 19:45:20 -04:00
|
|
|
guest_capability(:linux, :unmount_virtualbox_shared_folder) do
|
2014-04-16 17:59:23 -04:00
|
|
|
require_relative "cap/mount_virtualbox_shared_folder"
|
|
|
|
|
Cap::MountVirtualBoxSharedFolder
|
|
|
|
|
end
|
2012-04-18 20:38:20 -04:00
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|