Risposte:
Il modo "nativo" per farlo senza i dirigenti se sei su Puppet 2.6.6+:
file { '/path/to/myfile':
ensure => 'present',
audit => 'all',
}
(Questa funzionalità esiste da Puppet 2.6.0, ma ci sono stati diversi problemi con l'auditing che sono stati eliminati solo con la versione 2.6.6.)
Se hai una versione precedente, puoi anche dire alla risorsa di essere eseguita in noop
modalità, che visualizzerà solo un messaggio quando Puppet viene eseguito e il file non esiste:
file { '/path/to/myfile':
ensure => 'present',
noop => 'true',
}
Dovresti creare la tua funzione o usare exec con il comando onlyif. qualcosa di simile a :
exec { "mycommand":
path => "/usr/bin:/usr/sbin:/bin",
onlyif => "test -f /etc/blalba" //yours command
}
creates => '/etc/blabla'
" non sarebbe meglio di un " onlyif
"?
creates
avrebbe lo stesso risultato e sarebbe molto più semplice (e un po 'più veloce). Sì, in generale onlyif
offre maggiore flessibilità.