Class: VagrantPlugins::QEMU::Action::WarnNetworks
- Inherits:
-
Object
- Object
- VagrantPlugins::QEMU::Action::WarnNetworks
- Defined in:
- lib/vagrant-qemu/action/warn_networks.rb
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, env) ⇒ WarnNetworks
constructor
A new instance of WarnNetworks.
Constructor Details
#initialize(app, env) ⇒ WarnNetworks
Returns a new instance of WarnNetworks.
7 8 9 |
# File 'lib/vagrant-qemu/action/warn_networks.rb', line 7 def initialize(app, env) @app = app end |
Instance Method Details
#call(env) ⇒ Object
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 |
# File 'lib/vagrant-qemu/action/warn_networks.rb', line 11 def call(env) private_networks = env[:machine].config.vm.networks.select { |t, _| t == :private_network } if !private_networks.empty? if env[:machine].provider_config.advanced_network env[:ui].info(I18n.t("vagrant_qemu.advanced_network_enabled")) backend = Network.backend_for(env[:machine].provider_config.net_mode) if backend.requires_sudo? && !Process.euid.zero? env[:ui].warn(I18n.t("vagrant_qemu.warn_network_requires_sudo")) end else env[:ui].warn(I18n.t("vagrant_qemu.warn_networks_need_advanced")) end end # Other high-level network types (e.g. public_network) are still unsupported other_networks = env[:machine].config.vm.networks .select { |t, _| t != :private_network && t != :forwarded_port } if !other_networks.empty? env[:ui].warn(I18n.t("vagrant_qemu.warn_networks")) end @app.call(env) end |