diff options
author | Hunter Haugen <hunter@puppet.com> | 2017-08-30 13:56:14 -0700 |
---|---|---|
committer | Hunter Haugen <hunter@puppet.com> | 2017-08-30 13:56:14 -0700 |
commit | 7404ed3029b726ae9abbb9a4fc698090374bdf98 (patch) | |
tree | 4ee37d815cda7b1662dd692fa7113b217fa64e5b /lib/puppet/functions | |
parent | 1db550a16c49fb7f2f086d2a46bc666c477ee50d (diff) | |
parent | bd324f9d86a79eb3a7a1a781c82eede8a4a447b8 (diff) |
Merge pull request #809 from WhatsARanjit/to_json_yaml
Added to_json, to_json_pretty, and to_yaml functions
Diffstat (limited to 'lib/puppet/functions')
-rw-r--r-- | lib/puppet/functions/to_json.rb | 21 | ||||
-rw-r--r-- | lib/puppet/functions/to_json_pretty.rb | 21 | ||||
-rw-r--r-- | lib/puppet/functions/to_yaml.rb | 21 |
3 files changed, 63 insertions, 0 deletions
diff --git a/lib/puppet/functions/to_json.rb b/lib/puppet/functions/to_json.rb new file mode 100644 index 0000000..782d695 --- /dev/null +++ b/lib/puppet/functions/to_json.rb @@ -0,0 +1,21 @@ +# Take a data structure and output it as JSON +# +# @example how to output JSON +# # output json to a file +# file { '/tmp/my.json': +# ensure => file, +# content => to_json($myhash), +# } +# +# +require 'json' + +Puppet::Functions.create_function(:to_json) do + dispatch :to_json do + param 'Any', :data + end + + def to_json(data) + data.to_json + end +end diff --git a/lib/puppet/functions/to_json_pretty.rb b/lib/puppet/functions/to_json_pretty.rb new file mode 100644 index 0000000..4c28539 --- /dev/null +++ b/lib/puppet/functions/to_json_pretty.rb @@ -0,0 +1,21 @@ +# Take a data structure and output it as pretty JSON +# +# @example how to output pretty JSON +# # output pretty json to a file +# file { '/tmp/my.json': +# ensure => file, +# content => to_json_pretty($myhash), +# } +# +# +require 'json' + +Puppet::Functions.create_function(:to_json_pretty) do + dispatch :to_json_pretty do + param 'Variant[Hash, Array]', :data + end + + def to_json_pretty(data) + JSON.pretty_generate(data) + end +end diff --git a/lib/puppet/functions/to_yaml.rb b/lib/puppet/functions/to_yaml.rb new file mode 100644 index 0000000..fdd7370 --- /dev/null +++ b/lib/puppet/functions/to_yaml.rb @@ -0,0 +1,21 @@ +# Take a data structure and output it as YAML +# +# @example how to output YAML +# # output yaml to a file +# file { '/tmp/my.yaml': +# ensure => file, +# content => to_yaml($myhash), +# } +# +# +require 'yaml' + +Puppet::Functions.create_function(:to_yaml) do + dispatch :to_yaml do + param 'Any', :data + end + + def to_yaml(data) + data.to_yaml + end +end |