Anda dapat memberi tahu sumber daya yang telah Anda tentukan di tempat lain di katalog. Bagaimana dengan contoh?
Sistem CentOS, httpd diinstal dan dihentikan. Diuji dengan Wayang 2.7.18
$ service httpd status
httpd dihentikan
Berikut ini contoh manifes yang berisi sumber daya exec di dalam tipe sumber daya yang ditentukan, deklarasi dari tipe sumber daya yang ditentukan dan sumber daya layanan yang memberitahukan jenis sumber daya yang ditentukan.
./notify_defined_types.pp
define foo(){
exec { "${name}_exec":
command => "echo hello ${name}",
path => '/bin:/usr/bin',
refreshonly => true,
logoutput => true,
}
}
foo { 'bar': }
service { 'httpd':
ensure => running,
notify => Foo['bar'],
}
Ketika saya menerapkan ini, perubahan status di sumber daya layanan httpd saya memicu pemberitahuan ke sumber daya Foo ['bar']. Pemberitahuan ini akan berlaku untuk layanan apa pun atau sumber daya eksekutif yang digunakan di dalam jenis sumber daya yang ditentukan untuk foo.
$ puppet apply notify_defined_types.pp
notice: /Stage[main]//Service[httpd]/ensure: ensure changed 'stopped' to 'running'
notice: /Stage[main]//Foo[bar]/Exec[bar_exec]/returns: hello bar
notice: /Stage[main]//Foo[bar]/Exec[bar_exec]: Triggered 'refresh' from 1 events
notice: Finished catalog run in 0.51 seconds
$ puppet apply notify_defined_types.pp
notice: Finished catalog run in 0.38 seconds
Masuk akal? Anda cukup memberi tahu sumber daya yang Anda nyatakan. Ini akan memicu sumber daya layanan atau eksekutif yang diekspos di dalam jenis sumber daya yang ditentukan.