Newer
Older
puppet-mikrotik / lib / puppet / type / mikrotik_ip_dhcpserver_lease.rb
@Andreas Jaggi Andreas Jaggi on 10 Sep 2014 1 KB Let's get started
Puppet::Type.newtype(:mikrotik_ip_dhcpserver_lease) do
  @doc = "Manage Mikrotik DHCP lease creation, modification and deletion."

  apply_to_device

  ensurable

  newparam(:address) do
    desc "The the address/prefix/pool of DHCP lease."
    isnamevar
  end

  newproperty(:comment) do
    desc "Interface comment"
    validate do |value|
      unless value =~ /^[\w\s\.,()-]+$/
        raise ArgumentError, "'%s' is not a valid comment." % value
      end
    end
  end

  newproperty(:disabled) do
    desc "Defines whether address is ignored or used"
    newvalues(:no, :yes)
    defaultto(:no)
  end

  newproperty(:addresslist) do
    desc "address-list"
  end

  newproperty(:alwaysbroadcast) do
    desc "Send all replies as broadcast"
    newvalues(:no, :yes)
  end

  newproperty(:blockaccess) do
    desc "Block access for this client"
    newvalues(:no, :yes)
  end

  newproperty(:clientid) do
    desc "Client identifier"
  end

  newproperty(:leasetime) do
    desc "Lease time"
  end

  newproperty(:macaddress) do
    desc "MAC address"
    validate do |value|
      unless value =~ /^([0-9a-fA-F]{2}[:\.-]){5}[0-9a-fA-F]{2}+$/
        raise ArgumentError, "'%s' is not a valid MAC address." % value
      end
    end
  end

  newproperty(:ratelimit) do
    desc "Bit rate limit for the client"
  end

  newproperty(:server) do
    desc "Server name which serves this client"
  end

  newproperty(:usesrcmac) do
    desc "Use source mac address instead"
    newvalues(:no, :yes)
  end
end