Class: VagrantPlugins::QEMU::Action::PrepareForwardedPortCollisionParams

Inherits:
Object
  • Object
show all
Defined in:
lib/vagrant-qemu/action/prepare_forwarded_port_collision_params.rb

Instance Method Summary collapse

Constructor Details

#initialize(app, env) ⇒ PrepareForwardedPortCollisionParams

Returns a new instance of PrepareForwardedPortCollisionParams.



5
6
7
# File 'lib/vagrant-qemu/action/prepare_forwarded_port_collision_params.rb', line 5

def initialize(app, env)
@app = app
end

Instance Method Details

#call(env) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/vagrant-qemu/action/prepare_forwarded_port_collision_params.rb', line 9

def call(env)
machine = env[:machine]

# TODO: not supported
other_used_ports = {}
env[:port_collision_extra_in_use] = other_used_ports

# Build the remap for any existing collision detections
remap = {}
env[:port_collision_remap] = remap
machine.config.vm.networks.each do |type, options|
  next if type != :forwarded_port

  # remap ssh.host to ssh_port
  if options[:id] == "ssh"
    remap[options[:host]] = machine.provider_config.ssh_port
    break
  end
end

@app.call(env)
end