Outra solução possível que funciona surpreendentemente (e sobre a qual não encontrei nenhuma documentação) é a sintaxe da matriz dentro da função template()
:
file { "${location}/final-file.php":
ensure => file,
content => template(
'wppuppet/template.a.erb',
'wppuppet/template.b.erb',
'wppuppet/template.c.erb'
),
}