Last change
on this file since 30903 was 30903, checked in by davidb, 8 years ago |
Vagrant provisioning files for a 4-node Hadoop cluster. See README.txt for more details
|
File size:
692 bytes
|
Line | |
---|
1 | #
|
---|
2 | # parsejson.rb
|
---|
3 | #
|
---|
4 |
|
---|
5 | module Puppet::Parser::Functions
|
---|
6 | newfunction(:parsejson, :type => :rvalue, :doc => <<-EOS
|
---|
7 | This function accepts JSON as a string and converts it into the correct
|
---|
8 | Puppet structure.
|
---|
9 |
|
---|
10 | The optional second argument can be used to pass a default value that will
|
---|
11 | be returned if the parsing of YAML string have failed.
|
---|
12 | EOS
|
---|
13 | ) do |arguments|
|
---|
14 | raise ArgumentError, 'Wrong number of arguments. 1 or 2 arguments should be provided.' unless arguments.length >= 1
|
---|
15 |
|
---|
16 | begin
|
---|
17 | PSON::load(arguments[0]) || arguments[1]
|
---|
18 | rescue StandardError => e
|
---|
19 | if arguments[1]
|
---|
20 | arguments[1]
|
---|
21 | else
|
---|
22 | raise e
|
---|
23 | end
|
---|
24 | end
|
---|
25 |
|
---|
26 | end
|
---|
27 | end
|
---|
28 |
|
---|
29 | # vim: set ts=2 sw=2 et :
|
---|
Note:
See
TracBrowser
for help on using the repository browser.