Saya sedang mencari cara untuk menguji apakah ada file di klien saya (hanya tes bukan pembuatan). Saya telah menemukan cara (File.exists) dalam chef tetapi itu tidak sederhana dengan boneka.
Terima kasih sebelumnya.
Cara "asli" untuk melakukan ini tanpa eksekutif jika Anda menggunakan Wayang 2.6.6+:
file { '/path/to/myfile':
ensure => 'present',
audit => 'all',
}
(Fungsi ini ada sejak Puppet 2.6.0, tetapi ada sejumlah masalah dengan audit yang hanya benar-benar dituntaskan dengan rilis 2.6.6.)
Jika Anda menggunakan versi yang lebih lama, Anda juga dapat memberi tahu sumber untuk menjalankan dalam noop
mode, yang hanya akan menampilkan pesan ketika Puppet dijalankan dan file tidak ada:
file { '/path/to/myfile':
ensure => 'present',
noop => 'true',
}
Anda harus membuat fungsi Anda sendiri atau menggunakan exec dengan perintah onlyif. sesuatu seperti :
sumber
creates => '/etc/blabla'
" lebih baik daripada "onlyif
"?creates
akan memiliki hasil yang sama dan lebih sederhana (dan sedikit lebih cepat). Ya, secara umumonlyif
memang memberikan lebih banyak fleksibilitas.