2012-08-15 05:38:41 +00:00
|
|
|
module VagrantPlugins
|
|
|
|
module ProviderVirtualBox
|
|
|
|
module Action
|
|
|
|
class MatchMACAddress
|
|
|
|
def initialize(app, env)
|
|
|
|
@app = app
|
|
|
|
end
|
|
|
|
|
|
|
|
def call(env)
|
2015-10-08 16:41:16 +00:00
|
|
|
# If we cloned, we don't need a base mac, it is already set!
|
|
|
|
return @app.call(env) if env[:machine].config.vm.clone
|
|
|
|
|
2018-09-07 16:51:04 +00:00
|
|
|
if env[:machine].config.vm.base_mac
|
|
|
|
# Create the proc which we want to use to modify the virtual machine
|
|
|
|
env[:ui].info I18n.t("vagrant.actions.vm.match_mac.matching")
|
|
|
|
env[:machine].provider.driver.set_mac_address(env[:machine].config.vm.base_mac)
|
|
|
|
else
|
|
|
|
env[:ui].info I18n.t("vagrant.actions.vm.match_mac.generating")
|
|
|
|
env[:machine].provider.driver.set_mac_address(nil)
|
|
|
|
end
|
2012-08-15 05:38:41 +00:00
|
|
|
|
|
|
|
@app.call(env)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|