# Thanks to http://yo61.com/assigning-resources-to-nodes-with-hiera-in-puppet.html module Puppet::Parser::Functions newfunction(:hiera_resources, :type => :statement) do |args| raise Puppet::Error, "hiera_resources requires 1 argument; got #{args.length}" if args.length != 1 res_name = args[0][0] apps = function_hiera_hash([res_name, {}]) apps.each { | res_type, res_params | function_create_resources([res_type, res_params]) } end end