Jawaban:
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 noopmode, 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 :
exec { "mycommand":
path => "/usr/bin:/usr/sbin:/bin",
onlyif => "test -f /etc/blalba" //yours command
}
creates => '/etc/blabla'" lebih baik daripada " onlyif"?
createsakan memiliki hasil yang sama dan lebih sederhana (dan sedikit lebih cepat). Ya, secara umum onlyifmemang memberikan lebih banyak fleksibilitas.