Puppet Function: validate_bool_simp

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

Overview

validate_bool_simp()Nil

Validate that all passed values are either true or false.

Abort catalog compilation if any value fails this check.

Modified from the stdlib validate_bool to handle the strings true and false.

Examples:


The following values will pass:

  $iamtrue = true
  validate_bool(true)
  validate_bool("false")
  validate_bool("true")
  validate_bool(true, 'true', false, $iamtrue)

The following values will fail, causing compilation to abort:

  $some_array = [ true ]
  validate_bool($some_array)

Returns:

  • (Nil)


2
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
29
30
31
32
33
34
35
36
37
38
# File 'lib/puppet/parser/functions/validate_bool_simp.rb', line 2

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

  unless args.length > 0 then
    raise Puppet::ParseError, ("validate_bool(): wrong number of arguments (#{args.length}; must be > 0)")
  Validate that all passed values are either `true` or `false`.

  Abort catalog compilation if any value fails this check.

  Modified from the stdlib validate_bool to handle the strings `true` and
  `false`.

  @example

    The following values will pass:

      $iamtrue = true
      validate_bool(true)
      validate_bool("false")
      validate_bool("true")
      validate_bool(true, 'true', false, $iamtrue)

    The following values will fail, causing compilation to abort:

      $some_array = [ true ]
      validate_bool($some_array)

  @return [Nil]
  ENDHEREDOC
  end

  valid_entries = [true, false, 'true', 'false']
  args.each do |arg|
    unless valid_entries.include?(arg) then
      raise Puppet::ParseError, ("'#{arg}' is not a boolean.")
    end
  end
end