Last change
on this file since 30960 was 30960, checked in by davidb, 7 years ago |
Switch to using Puppet to provision machine. Strongly based on files developed for spark-hdfs cluster
|
File size:
1.0 KB
|
Line | |
---|
1 | module Puppet::Parser::Functions
|
---|
2 | newfunction(:pick, :type => :rvalue, :doc => <<-EOS
|
---|
3 |
|
---|
4 | This function is similar to a coalesce function in SQL in that it will return
|
---|
5 | the first value in a list of values that is not undefined or an empty string
|
---|
6 | (two things in Puppet that will return a boolean false value). Typically,
|
---|
7 | this function is used to check for a value in the Puppet Dashboard/Enterprise
|
---|
8 | Console, and failover to a default value like the following:
|
---|
9 |
|
---|
10 | $real_jenkins_version = pick($::jenkins_version, '1.449')
|
---|
11 |
|
---|
12 | The value of $real_jenkins_version will first look for a top-scope variable
|
---|
13 | called 'jenkins_version' (note that parameters set in the Puppet Dashboard/
|
---|
14 | Enterprise Console are brought into Puppet as top-scope variables), and,
|
---|
15 | failing that, will use a default value of 1.449.
|
---|
16 |
|
---|
17 | EOS
|
---|
18 | ) do |args|
|
---|
19 | args = args.compact
|
---|
20 | args.delete(:undef)
|
---|
21 | args.delete(:undefined)
|
---|
22 | args.delete("")
|
---|
23 | if args[0].to_s.empty? then
|
---|
24 | fail Puppet::ParseError, "pick(): must receive at least one non empty value"
|
---|
25 | else
|
---|
26 | return args[0]
|
---|
27 | end
|
---|
28 | end
|
---|
29 | end
|
---|
Note:
See
TracBrowser
for help on using the repository browser.