Module: VagrantPlugins::VCloud::Util::CompileForwardedPorts
- Includes:
- Vagrant::Util::ScopedHashOverride
- Included in:
- Action::ForwardPorts
- Defined in:
- lib/vagrant-vcloud/util/compile_forwarded_ports.rb
Instance Method Summary collapse
-
#compile_forwarded_ports(machine) ⇒ Object
This method compiles the forwarded ports into ForwardedPort models.
Instance Method Details
#compile_forwarded_ports(machine) ⇒ Object
This method compiles the forwarded ports into ForwardedPort models.
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/vagrant-vcloud/util/compile_forwarded_ports.rb', line 11 def compile_forwarded_ports(machine) mappings = {} machine.config.vm.networks.each do |type, | if type == :forwarded_port guest_port = [:guest] host_port = [:host] = scoped_hash_override(, :vcloud) id = [:id] # skip forwarded rules already found in handle_nat_port_collisions next if [:already_exists] # skip forwarded rules if disabled next if ![:disabled].nil? && [:disabled] == true mappings[host_port] = Model::ForwardedPort.new(id, host_port, guest_port, 'Vagrant-vApp-Net', machine.provider_config.vdc_network_id, machine.provider_config.vdc_network_name, ) end end if !machine.provider_config.nics.nil? machine.provider_config.nics.each do |nic| next if nic[:forwarded_port].nil? nic[:forwarded_port].each do |fp| = fp guest_port = [:guest] host_port = [:host] = scoped_hash_override(, :vcloud) id = [:id] # skip forwarded rules already found in handle_nat_port_collisions next if [:already_exists] # skip forwarded rules if disabled next if ![:disabled].nil? && [:disabled] == true # find matching network edge_id = nil edge_name = nil if !machine.provider_config.networks.nil? && !machine.provider_config.networks[:vapp].nil? machine.provider_config.networks[:vapp].each do |net| next if net[:name] != nic[:network] edge_id = net[:parent_network] edge_name = net[:vdc_network_name] break end end if edge_id == nil || edge_name == nil edge_id = machine.provider_config.vdc_network_id edge_name = machine.provider_config.vdc_network_name end mappings[host_port] = Model::ForwardedPort.new(id, host_port, guest_port, nic[:network], edge_id, edge_name, ) end end end mappings.values end |