Puppet Function: validate_macaddress

Defined in:
lib/puppet/parser/functions/validate_macaddress.rb
Function type:
Ruby 3.x API

Overview

validate_macaddress()Nil

Validate that all passed values are valid MAC addresses.

Examples:

Passing Values


$macaddress = 'CA:FE:BE:EF:00:11'
validate_macaddress($macaddress)
validate_macaddress($macaddress, '00:11:22:33:44:55')
validate_macaddress([$macaddress, '00:11:22:33:44:55'])

Returns:

  • (Nil)


3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/puppet/parser/functions/validate_macaddress.rb', line 3

newfunction(:validate_macaddress, :doc => <<-'ENDHEREDOC') do |args|

  unless args.length > 0 then
    raise Puppet::ParseError, ("validate_macaddress(): wrong number of arguments (#{args.length}; must be > 0)")
  Validate that all passed values are valid MAC addresses.

  @example Passing Values

    $macaddress = 'CA:FE:BE:EF:00:11'
    validate_macaddress($macaddress)
    validate_macaddress($macaddress, '00:11:22:33:44:55')
    validate_macaddress([$macaddress, '00:11:22:33:44:55'])

  @return [Nil]
  ENDHEREDOC
  end

  args.each do |arg|
    arg = Array(arg)
    arg.each do |macaddr|
      unless macaddr =~ /^\w{1,2}:\w{1,2}:\w{1,2}:\w{1,2}:\w{1,2}:\w{1,2}$/ then
        raise Puppet::ParseError, ("'#{macaddr}' is not a MAC address.")
      end
    end
  end
end