Sha256: d3d20d745b0c9d55af99d8f257be350f5facb0bce6b2385bbd7e948ccb5401c2

Contents?: true

Size: 1.61 KB

Versions: 2

Compression:

Stored size: 1.61 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 defined?(ActionClass) and defined?(ConfigDhcpClass)
          # no-op
        elsif Vagrant::Util::Platform.windows?
          ConfigDhcpClass = VagrantVmwareDhcp::Action::ConfigDhcpWindows
          ActionClass = HashiCorp::VagrantVMwareworkstation::Action::Network
        elsif Vagrant::Util::Platform.linux?
          ConfigDhcpClass = VagrantVmwareDhcp::Action::ConfigDhcpLinux
          ActionClass = HashiCorp::VagrantVMwareworkstation::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

2 entries across 2 versions & 1 rubygems

Version Path
vagrant-vmware-dhcp-0.0.8 lib/vagrant-vmware-dhcp/plugin.rb
vagrant-vmware-dhcp-0.0.7 lib/vagrant-vmware-dhcp/plugin.rb