Conforme já relatado por alguns colegas, o exercício da aula 4 do curso Vagrant e Puppet: Criação e provisionamento de máquinas virtuais, sempre adiciona uma linha mesma que já exista no arquivo. seguem os códigos:
file_line { "production":
file => "/etc/default/tomcat7",
line => "JAVA_OPTS=\"\$JAVA_OPTS -Dbr.com.caelum.vraptor.environment=production\"",
require => Package["tomcat7"],
notify => Service["tomcat7"]
}
define file_line($file, $line) {
exec { "/bin/echo '$line' >> '$file'":
unless => "/bin/grep -qfx '$(line) '$(file)'"
}