Puppet Function: stdlib::validate_email_address

Defined in:
lib/puppet/functions/stdlib/validate_email_address.rb
Function type:
Ruby 4.x API

Summary

Validate that all values passed are valid email addresses. Fail compilation if any value fails this check.

Overview

stdlib::validate_email_address(Stdlib::Email *$values)Undef

Examples:

Passing examples

$my_email = "waldo@gmail.com"
stdlib::validate_email_address($my_email)
stdlib::validate_email_address("bob@gmail.com", "alice@gmail.com", $my_email)

Failing examples (causing compilation to abort)

$some_array = [ 'bad_email@/d/efdf.com' ]
stdlib::validate_email_address($some_array)

Parameters:

  • *values (Stdlib::Email)

    An e-mail address or an array of e-mail addresses to check

Returns:

  • (Undef)

    Fail compilation if any value fails this check.



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
# File 'lib/puppet/functions/stdlib/validate_email_address.rb', line 6

Puppet::Functions.create_function(:'stdlib::validate_email_address') do
  # @param values An e-mail address or an array of e-mail addresses to check
  #
  # @return [Undef]
  #   Fail compilation if any value fails this check.
  #
  # @example Passing examples
  #   $my_email = "waldo@gmail.com"
  #   stdlib::validate_email_address($my_email)
  #   stdlib::validate_email_address("bob@gmail.com", "alice@gmail.com", $my_email)
  #
  # @example Failing examples (causing compilation to abort)
  #   $some_array = [ 'bad_email@/d/efdf.com' ]
  #   stdlib::validate_email_address($some_array)
  dispatch :validate_email_address do
    repeated_param 'Stdlib::Email', :values
  end

  def validate_email_address(*args)
    assert_arg_count(args)
  end

  def assert_arg_count(args)
    raise(ArgumentError, 'stdlib::validate_email_address(): Wrong number of arguments need at least one') if args.empty?
  end
end