vagrant/plugins/synced_folders/nfs/plugin.rb
oss-core-libraries-dashboard[bot] ea57f40b89
Some checks failed
/ sync-acceptance (push) Has been cancelled
Vagrant Ruby Tests / Vagrant unit tests on Ruby 3.1 (push) Has been cancelled
Vagrant Ruby Tests / Vagrant unit tests on Ruby 3.2 (push) Has been cancelled
Vagrant Ruby Tests / Vagrant unit tests on Ruby 3.3 (push) Has been cancelled
Vagrant Ruby Tests / Vagrant unit tests on Ruby 3.4 (push) Has been cancelled
[COMPLIANCE] Update Copyright and License Headers (#13752)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2025-12-04 17:07:40 +05:30

49 lines
1.5 KiB
Ruby

# Copyright IBM Corp. 2010, 2025
# SPDX-License-Identifier: BUSL-1.1
require "vagrant"
module VagrantPlugins
module SyncedFolderNFS
# This plugin implements NFS synced folders. In order to take advantage
# of NFS synced folders, some provider-specific assistance is required.
# Within the middleware sequences, some data must be put into the
# environment state bag:
#
# * `nfs_host_ip` (string) - The IP of the host machine that the NFS
# client in the machine should talk to.
# * `nfs_machine_ip` (string) - The IP of the guest machine that the NFS
# server should serve the folders to.
# * `nfs_valid_ids` (array of strings) - A list of IDs that are "valid"
# and should not be pruned. The synced folder implementation will
# regularly prune NFS exports of invalid IDs.
#
# If any of these variables are not set, an internal exception will be
# raised.
#
class Plugin < Vagrant.plugin("2")
name "NFS synced folders"
description <<-EOF
The NFS synced folders plugin enables you to use NFS as a synced folder
implementation.
EOF
config("nfs") do
require_relative "config"
Config
end
synced_folder("nfs", 5) do
require_relative "synced_folder"
SyncedFolder
end
action_hook("nfs_cleanup") do |hook|
require_relative "action_cleanup"
hook.before(
Vagrant::Action::Builtin::SyncedFolderCleanup,
ActionCleanup)
end
end
end
end