How to output pretty json in puppet

It kept seeming like it should be straight forward. Various attempts by myself (mostly because I don’t know ruby) seemed to fail. I’m just leaving it here now that I figured out how to get it working so I can find it again (and hopefully help others).


$config_data = { "foo" => "bar" }


<%= require "json"; JSON.pretty_generate config_data %>

I found config_data.to_json wasn’t going to work for me because it seemed to output things in different orders each run.

(it was that helped me figure this out)

Edit: While pretty, still doesn’t sort so puppet can update the config file each run :( I will figure this out.

Edit: After much trial and error, I ended writing my own library.