vagrant/plugins/providers/virtualbox/util/compile_forwarded_ports.rb

34 lines
943 B
Ruby
Raw Normal View History

require "vagrant/util/scoped_hash_override"
module VagrantPlugins
module ProviderVirtualBox
module Util
module CompileForwardedPorts
include Vagrant::Util::ScopedHashOverride
# This method compiles the forwarded ports into {ForwardedPort}
# models.
def compile_forwarded_ports(config)
mappings = {}
config.vm.networks.each do |type, args|
if type == :forwarded_port
guest_port = args[0]
host_port = args[1]
options = args[2] || {}
options = scoped_hash_override(options, :virtualbox)
id = options[:id] ||
"#{guest_port.to_s(32)}-#{host_port.to_s(32)}"
mappings[host_port] =
Model::ForwardedPort.new(id, host_port, guest_port, options)
end
end
mappings.values
end
end
end
end
end