Sha256: bcc79215dfb12496791757e87c552b2949837837f02c7aee6518678f599f25c0

Contents?: true

Size: 1.52 KB

Versions: 1

Compression:

Stored size: 1.52 KB

Contents

require_relative "action"

module VagrantPlugins
  module VagrantVmwareDhcp
    class Plugin < Vagrant.plugin("2")
      name "VagrantVmwareDhcp"
      description <<-DESC
      Adds static private IPs to VMware's DHCP configuration so that your networks behave normally.
      Especially nice on multi-vm environments with Windows.
      DESC

      config(:control_dhcp) do
        Config
      end

      action_hook('DA VMWare Network: Configure MAC addresses') do |hook|
        action = Vagrant::Action::Builtin::ConfigValidate
        hook.before(action, VagrantVmwareDhcp::Action::SetMac)
      end

      action_hook('DA VMWare Network: Configure dhcp.conf') do |hook|
        if Vagrant::Util::Platform.windows?
          ConfigDhcpClass = VagrantVmwareDhcp::Action::ConfigDhcpWindows
          ActionClass = HashiCorp::VagrantVMwaredesktop::Action::Network
        elsif Vagrant::Util::Platform.linux?
          ConfigDhcpClass = VagrantVmwareDhcp::Action::ConfigDhcpLinux
          ActionClass = HashiCorp::VagrantVMwaredesktop::Action::Network
        elsif Vagrant::Util::Platform.darwin?
          ConfigDhcpClass = VagrantVmwareDhcp::Action::ConfigDhcpDarwin
          ActionClass = HashiCorp::VagrantVMwarefusion::Action::Network
        end

        hook.after(ActionClass, ConfigDhcpClass)
      end

      # action_hook(:init_i18n, :environment_load) { init_i18n }
      # def self.init_i18n
      #   I18n.load_path << File.expand_path("locales/en.yml", VagrantVmwareDhcp.source_root)
      #   I18n.reload!
      # end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vagrant-vmware-dhcp-0.0.6 lib/vagrant-vmware-dhcp/plugin.rb