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 🙂