我有一個紅寶石模板(.erb),我想在一個散列上迭代。每次puppet代理運行時,它應該產生相同的輸出文件。以紅寶石模板中定義的順序循環散列
我現在擁有的是以下內容。這是我的模板(如果你想知道rsyslog現在配置的一部分):
<% log_files.each do |log_file, tag| -%>
# <%= log_file %>
$InputFileName <%= log_file %>
$InputFileTag <%= tag %>:
該模板呈現一個哈希看起來像這樣:
log_files => {
'/root/apache_auth.local' => 'httpd',
'/root/install.log' => 'hugo',
},
(不是真正的日誌文件)。這工作併產生我想要的配置文件。問題在於,每次我調用puppet代理時,哈希中日誌文件的順序都會改變,因此配置文件會被重寫,隨後守護進程會重新啓動。功能保持不變,但我寧願沒有重寫配置文件,每次puppet代理運行時都會重新啓動rsyslog。
現在我假設這是用哈希無法解決的,因爲它們的本質是它們沒有明確的順序。我還有什麼其他選擇可以實現我想要的?
這是一個傀儡模板(.erb)。 – Isaac