vagrant/plugins/providers/docker/synced_folder.rb
oss-core-libraries-dashboard[bot] 73228596f4
[COMPLIANCE] Update Copyright and License Headers (Batch 3 of 7) (#13763)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2025-12-22 16:46:39 +05:30

35 lines
1,023 B
Ruby

# Copyright IBM Corp. 2010, 2025
# SPDX-License-Identifier: BUSL-1.1
module VagrantPlugins
module DockerProvider
class SyncedFolder < Vagrant.plugin("2", :synced_folder)
def usable?(machine, raise_error=false)
# These synced folders only work if the provider is Docker
if machine.provider_name != :docker
if raise_error
raise Errors::SyncedFolderNonDocker,
provider: machine.provider_name.to_s
end
return false
end
true
end
def prepare(machine, folders, _opts)
folders.each do |id, data|
next if data[:ignore]
host_path = data[:hostpath]
guest_path = data[:guestpath]
# Append consistency option if it exists, otherwise let it nil out
consistency = data[:docker_consistency]
consistency &&= ":" + consistency
machine.provider_config.volumes << "#{host_path}:#{guest_path}#{consistency}"
end
end
end
end
end