mirror of
https://github.com/hashicorp/vagrant.git
synced 2026-07-15 20:06:30 -04:00
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
32 lines
833 B
Ruby
32 lines
833 B
Ruby
# Copyright IBM Corp. 2010, 2025
|
|
# SPDX-License-Identifier: BUSL-1.1
|
|
|
|
require "pathname"
|
|
|
|
module VagrantPlugins
|
|
module FileUpload
|
|
class Config < Vagrant.plugin("2", :config)
|
|
attr_accessor :source
|
|
attr_accessor :destination
|
|
|
|
def validate(machine)
|
|
errors = _detected_errors
|
|
if !source
|
|
errors << I18n.t("vagrant.provisioners.file.no_source_file")
|
|
end
|
|
if !destination
|
|
errors << I18n.t("vagrant.provisioners.file.no_dest_file")
|
|
end
|
|
if source
|
|
s = Pathname.new(source).expand_path(machine.env.root_path)
|
|
if !s.exist?
|
|
errors << I18n.t("vagrant.provisioners.file.path_invalid",
|
|
path: s.to_s)
|
|
end
|
|
end
|
|
|
|
{ "File provisioner" => errors }
|
|
end
|
|
end
|
|
end
|
|
end
|