Puppet 用 defined 來判斷 class、resource、variable 是否存在

2018-04-07 Puppet

最近在寫 elastic 系列的 module 遇到許多地方都會共用,或不小心衝突,例如 Class 或是 Resource Key 相同的情況,以 elastic_stack 這個 module 為例,elastic 統一用 elastic_stack 統一管理 elastic 的 repository,所以不管你是 kibana / elasticsearch / logstash / filebeat 都會用到,有時候不確定這幾個元件是要裝在一起或是分開的情況下,elastic_stack 只需要存在一個就好,那麼就可以用 defined 這個 function 來判斷。

 

用到 defined 最常遇到的應該是 Class 重複宣告,Resource 只要有正確的命名比較不會遇到衝突,簡單寫幾個範例 defined 的用法:

 

判斷 elastic_sack 不存在才宣告 Class[‘elastic_stack’]

 

拿來判斷 Resource 也可以

 

拿來判斷變數也很容易

 

用 defined 來回應 true / false

 

如果用來判斷多個 Resource … 全部符合才會 true。

 

或是更詳細的比對 Type 和 Resource

 

好好讀 Puppet 的文件帶你上天堂 …

 

 

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

彙整

分類

open all | close all

License

訂閱 Mr. 沙先生 的文章

輸入你的 email 用於訂閱

%d 位部落客按了讚: