답변:
카탈로그의 다른 곳에서 선언 한 정의 된 리소스에 알릴 수 있습니다. 예는 어떻습니까?
CentOS 시스템, httpd가 설치 및 중지되었습니다. 꼭두각시 2.7.18로 테스트
$ service httpd 상태
httpd가 중지되었습니다
다음은 정의 된 리소스 유형 내에 exec 리소스, 정의 된 리소스 유형의 선언 및 정의 된 리소스 유형을 알리는 서비스 리소스를 포함하는 매니페스트의 예입니다.
./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'],
}
이것을 적용하면 httpd 서비스 리소스의 상태 변경으로 인해 Foo [ 'bar'] 리소스에 대한 알림이 트리거됩니다. 이 알림은 foo 정의 리소스 유형 내에 사용 된 모든 서비스 또는 exec 리소스에 적용됩니다.
$ 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
말이 되나요? 당신은 단순히 당신이 선언 한 자원을 알립니다. 정의 된 리소스 유형 내에 노출 된 모든 exec 또는 서비스 리소스를 트리거합니다.