Estou procurando uma maneira de testar se existe um arquivo no meu cliente (apenas teste, não criação). Eu encontrei o caminho (File.exists) no chef, mas isso não foi simples com o fantoche.
Desde já, obrigado.
A maneira "nativa" de fazer isso sem executivos, se você estiver no Puppet 2.6.6+:
file { '/path/to/myfile':
ensure => 'present',
audit => 'all',
}
(Essa funcionalidade existe desde o Puppet 2.6.0, mas houve uma série de problemas com a auditoria que realmente foram aprimorados com a versão 2.6.6.)
Se você estiver em uma versão mais antiga, também poderá solicitar ao recurso que execute no noop
modo, que exibirá apenas uma mensagem quando o Puppet for executado e o arquivo não existir:
file { '/path/to/myfile':
ensure => 'present',
noop => 'true',
}
Você deve criar sua própria função ou usar exec com o comando onlyif. algo como :
fonte
creates => '/etc/blabla'
" Não seria melhor que um "onlyif
"?creates
teria o mesmo resultado e seria muito mais simples (e um pouco mais rápido). Sim, em geralonlyif
, fornece mais flexibilidade.