2023-08-10 16:53:25 -04:00
|
|
|
# Copyright (c) HashiCorp, Inc.
|
|
|
|
|
# SPDX-License-Identifier: BUSL-1.1
|
|
|
|
|
|
2012-07-15 14:17:58 -04:00
|
|
|
require "vagrant"
|
|
|
|
|
|
|
|
|
|
module VagrantPlugins
|
|
|
|
|
module ProviderVirtualBox
|
2012-11-07 00:20:55 -05:00
|
|
|
class Plugin < Vagrant.plugin("2")
|
2012-07-25 00:32:38 -04:00
|
|
|
name "VirtualBox provider"
|
2012-07-15 14:17:58 -04:00
|
|
|
description <<-EOF
|
|
|
|
|
The VirtualBox provider allows Vagrant to manage and control
|
|
|
|
|
VirtualBox-based virtual machines.
|
|
|
|
|
EOF
|
|
|
|
|
|
2014-05-06 00:13:56 -04:00
|
|
|
provider(:virtualbox, priority: 6) do
|
2012-07-15 14:17:58 -04:00
|
|
|
require File.expand_path("../provider", __FILE__)
|
|
|
|
|
Provider
|
|
|
|
|
end
|
2012-12-23 01:47:06 -05:00
|
|
|
|
2013-01-13 15:38:51 -05:00
|
|
|
config(:virtualbox, :provider) do
|
2012-12-23 01:47:06 -05:00
|
|
|
require File.expand_path("../config", __FILE__)
|
|
|
|
|
Config
|
|
|
|
|
end
|
2013-11-21 20:38:17 -05:00
|
|
|
|
|
|
|
|
synced_folder(:virtualbox) do
|
|
|
|
|
require File.expand_path("../synced_folder", __FILE__)
|
|
|
|
|
SyncedFolder
|
|
|
|
|
end
|
2014-02-13 19:34:34 -05:00
|
|
|
|
|
|
|
|
provider_capability(:virtualbox, :forwarded_ports) do
|
|
|
|
|
require_relative "cap"
|
|
|
|
|
Cap
|
|
|
|
|
end
|
2014-03-14 14:23:07 -04:00
|
|
|
|
|
|
|
|
provider_capability(:virtualbox, :nic_mac_addresses) do
|
|
|
|
|
require_relative "cap"
|
|
|
|
|
Cap
|
|
|
|
|
end
|
2015-10-08 08:46:36 -04:00
|
|
|
|
2015-11-23 16:23:16 -05:00
|
|
|
provider_capability(:virtualbox, :public_address) do
|
|
|
|
|
require_relative "cap/public_address"
|
|
|
|
|
Cap::PublicAddress
|
|
|
|
|
end
|
|
|
|
|
|
2019-12-05 19:08:49 -05:00
|
|
|
provider_capability(:virtualbox, :configure_disks) do
|
|
|
|
|
require_relative "cap/configure_disks"
|
|
|
|
|
Cap::ConfigureDisks
|
|
|
|
|
end
|
|
|
|
|
|
2020-01-14 13:26:41 -05:00
|
|
|
provider_capability(:virtualbox, :cleanup_disks) do
|
|
|
|
|
require_relative "cap/cleanup_disks"
|
|
|
|
|
Cap::CleanupDisks
|
|
|
|
|
end
|
|
|
|
|
|
2020-02-12 16:21:09 -05:00
|
|
|
provider_capability(:virtualbox, :validate_disk_ext) do
|
|
|
|
|
require_relative "cap/validate_disk_ext"
|
|
|
|
|
Cap::ValidateDiskExt
|
|
|
|
|
end
|
|
|
|
|
|
2020-05-18 20:21:19 -04:00
|
|
|
provider_capability(:virtualbox, :default_disk_exts) do
|
|
|
|
|
require_relative "cap/validate_disk_ext"
|
|
|
|
|
Cap::ValidateDiskExt
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
provider_capability(:virtualbox, :set_default_disk_ext) do
|
2020-02-12 16:21:09 -05:00
|
|
|
require_relative "cap/validate_disk_ext"
|
|
|
|
|
Cap::ValidateDiskExt
|
|
|
|
|
end
|
|
|
|
|
|
2015-10-08 08:46:36 -04:00
|
|
|
provider_capability(:virtualbox, :snapshot_list) do
|
|
|
|
|
require_relative "cap"
|
|
|
|
|
Cap
|
|
|
|
|
end
|
2020-07-30 17:11:21 -04:00
|
|
|
|
|
|
|
|
synced_folder_capability(:virtualbox, "mount_options") do
|
|
|
|
|
require_relative "cap/mount_options"
|
|
|
|
|
Cap::MountOptions
|
|
|
|
|
end
|
2020-08-12 17:24:49 -04:00
|
|
|
|
|
|
|
|
synced_folder_capability(:virtualbox, "mount_type") do
|
|
|
|
|
require_relative "cap/mount_options"
|
|
|
|
|
Cap::MountOptions
|
|
|
|
|
end
|
2021-02-10 15:30:18 -05:00
|
|
|
|
|
|
|
|
synced_folder_capability(:virtualbox, "mount_name") do
|
|
|
|
|
require_relative "cap/mount_options"
|
|
|
|
|
Cap::MountOptions
|
|
|
|
|
end
|
2012-07-15 14:17:58 -04:00
|
|
|
end
|
2012-07-25 00:32:38 -04:00
|
|
|
|
2012-07-27 01:39:27 -04:00
|
|
|
autoload :Action, File.expand_path("../action", __FILE__)
|
|
|
|
|
|
2012-07-25 00:32:38 -04:00
|
|
|
# Drop some autoloads in here to optimize the performance of loading
|
|
|
|
|
# our drivers only when they are needed.
|
|
|
|
|
module Driver
|
|
|
|
|
autoload :Meta, File.expand_path("../driver/meta", __FILE__)
|
|
|
|
|
autoload :Version_4_0, File.expand_path("../driver/version_4_0", __FILE__)
|
|
|
|
|
autoload :Version_4_1, File.expand_path("../driver/version_4_1", __FILE__)
|
2012-09-13 22:11:32 -04:00
|
|
|
autoload :Version_4_2, File.expand_path("../driver/version_4_2", __FILE__)
|
2013-10-15 17:37:45 -04:00
|
|
|
autoload :Version_4_3, File.expand_path("../driver/version_4_3", __FILE__)
|
2015-04-28 11:53:48 -04:00
|
|
|
autoload :Version_5_0, File.expand_path("../driver/version_5_0", __FILE__)
|
2016-07-13 08:34:25 -04:00
|
|
|
autoload :Version_5_1, File.expand_path("../driver/version_5_1", __FILE__)
|
2017-09-08 15:00:17 -04:00
|
|
|
autoload :Version_5_2, File.expand_path("../driver/version_5_2", __FILE__)
|
2018-11-06 13:06:09 -05:00
|
|
|
autoload :Version_6_0, File.expand_path("../driver/version_6_0", __FILE__)
|
2019-12-11 16:25:11 -05:00
|
|
|
autoload :Version_6_1, File.expand_path("../driver/version_6_1", __FILE__)
|
2022-10-14 13:44:49 -04:00
|
|
|
autoload :Version_7_0, File.expand_path("../driver/version_7_0", __FILE__)
|
2012-07-25 00:32:38 -04:00
|
|
|
end
|
2013-01-04 21:22:38 -05:00
|
|
|
|
|
|
|
|
module Model
|
|
|
|
|
autoload :ForwardedPort, File.expand_path("../model/forwarded_port", __FILE__)
|
2020-05-29 10:12:04 -04:00
|
|
|
autoload :StorageController, File.expand_path("../model/storage_controller", __FILE__)
|
2020-06-26 15:42:36 -04:00
|
|
|
autoload :StorageControllerArray, File.expand_path("../model/storage_controller_array", __FILE__)
|
2013-01-04 21:22:38 -05:00
|
|
|
end
|
2013-01-11 17:44:27 -05:00
|
|
|
|
|
|
|
|
module Util
|
|
|
|
|
autoload :CompileForwardedPorts, File.expand_path("../util/compile_forwarded_ports", __FILE__)
|
|
|
|
|
end
|
2012-07-15 14:17:58 -04:00
|
|
|
end
|
|
|
|
|
end
|