2013-03-04 24 views
3

有沒有辦法在用戶定義類型中禁用notify事件的傳播?在用戶定義類型中禁用「通知」事件傳播

如果你把下面的例子:

define mytype() { 
     file { 'myfile': } 
     exec { 'myexec': } 
    } 

    mytype { 'foo': notify => Service['myservice'] } 

如何確保Service['myservice']File['myfile']改變只得到通知,而不是在被執行Exec['myexec']

我需要事件傳播裏面的定義的類型,但我只想在File['myfile']更改時傳播它。

回答

0

有關文件和exec的更多細節會很好,但這裏有一個答案。希望它有幫助...

您可以訂閱文件到服務,例如,

service { 'myservice' : 
      ensure => running, 
      subscribe => File['myfile'], 
     } 
+0

嗯,這不符合我的問題。我定義類型的原因是我想隱藏背景中正在進行的一些「魔術」。我認爲,訂閱一個在任何地方都沒有明確定義的文件(導致類型定義它)並不是一個非常乾淨的解決方案。我真的很想訂閱類型。 真的沒有關於文件和exec的細節,因爲我發佈的例子是通用的。他們只是例子,並根據我使用的類型進行更改。大多數情況下,exec只會返回0,因此會發出刷新事件。 – 2013-03-04 18:17:36