Je cherche un moyen de tester si un fichier existe dans mon client (testez simplement pas la création). J'ai trouvé le chemin (File.exists) dans chef mais ce n'était pas simple avec des marionnettes.
Merci d'avance.
La façon "native" de le faire sans exec si vous êtes sur Puppet 2.6.6+:
file { '/path/to/myfile':
ensure => 'present',
audit => 'all',
}
(Cette fonctionnalité existe depuis Puppet 2.6.0, mais il y avait un certain nombre de problèmes avec l'audit qui n'ont vraiment été résolus qu'avec la version 2.6.6.)
Si vous utilisez une version antérieure, vous pouvez également indiquer à la ressource de s'exécuter en noop
mode, qui affichera simplement un message lorsque Puppet est exécuté et que le fichier n'existe pas:
file { '/path/to/myfile':
ensure => 'present',
noop => 'true',
}
Vous devez créer votre propre fonction ou utiliser exec avec la commande onlyif. quelque chose comme :
la source
creates => '/etc/blabla'
" ne serait-il pas mieux qu'un "onlyif
"?creates
aurait le même résultat et serait beaucoup plus simple (et un peu plus rapide). Oui, en général,onlyif
offre plus de flexibilité.