Não foi possível entender a fonte – erro de fantoche

Você já viu um erro parecido com este?

Error: Parameter source failed on File[/etc/foo/bar.cnf]: Could not understand source # File managed by Puppet

E você passa muito tempo tentando descobrir o que há de errado com seu código:

file { '/etc/foo/bar.cnf':
ensure => present,
owner
=> 'root',
group => 'root',
mode
=> '0644',
replace
=> true,
source
=> template('etc/foo/bar.cnf.erb'),
}

Seu modelo parece bom, sem caracteres ilegais, ele está compilando para ERB na linha de comando quando você tenta, Você puxa o cabelo há muito tempo e nada parece consertar? É porque você criou uma fonte em vez de conteúdo para um modelo. A solução é simples:

file { '/etc/foo/bar.cnf':
ensure => present,
owner
=> 'root',
group => 'root',
mode
=> '0644',
replace
=> true,
content
=> template('etc/foo/bar.cnf.erb'),
}

Achei que tinha dado uma dica para isso, pois já vi muitas pesquisas no Google por erros semelhantes e é um problema tão simples de corrigir 🙂