2013-04-10 75 views
0

下面的代碼示例純粹是學術性的,但它很好地說明了我的問題。木偶:定義包裝exec資源的自定義資源類型並使用可選的「除非」

define touch($file=$title, $unless='/bin/false') { 
    exec { "/bin/touch ${file}": unless => $unless } 
} 

如果我定義了包裝另一個EXEC資源我自己的資源類型,我想添加一個可選的「除非」條件我 - 如果設置 - 傳遞給可選的「除非」的condiftion exec - 我必須用'/ bin/false'預設字段嗎?

我的理解是,對於每個目錄運行和此自定義資源的所有用途,如果未設置「touch」的except字段,則此資源的除非檢查將生成運行'/ bin/false'的bash進程。

我實際上打算的是,除非調用「/ bin/false」,否則不會執行任何「除非」檢查。

有什麼想法?謝謝!

回答

5

使用民主基金,而不是「/斌/假」,除非將只運行,如果它被設置:

define touch($file=$title, $unless=undef) { 
    exec { "/bin/touch ${file}": unless => $unless } 
}