2016-07-01 38 views
0

我有一個非常簡單的使用puppet;我從測試服務器創建和刪除學生。我想將一些配置變量存儲在另一個文件中,然後只需執行一個簡單操作:include 'variables.pp'位於清單文件的頂部。有沒有簡單的方法來做到這一點?我曾諮詢:如何包含帶有木偶清單的文件?

https://docs.puppet.com/puppet/latest/reference/lang_classes.html#using-include https://puppet.com/blog/problem-separating-data-from-puppet-code

其中沒有給出一個簡單的解決方案。如果我只能使用上面的解決方案,我只需將其硬編碼到我的清單中。

+0

對於外部事實,這是一個很好的用例:https://docs.puppet.com/facter/3.1/custom_facts.html#external-facts。我推薦一個帶有鍵值對的yaml文件,用於您的特定場景。我可以用一些更多的信息做出完整的答案。 –

+0

您使用的是哪個版本的Puppet?你是用「傀儡」還是「傀儡」? –

+0

@JohnBollinger:我使用3.4。*(我忘記了哪個補丁版本)。是的,我正在使用'puppet apply'。 – Avery

回答

1

木偶3有一個import聲明,應該爲您的目的。它已被棄用(和木偶4刪除),但它會做的工作對你的木偶3:


variables.pp

# top-scope variables: 
$var1 = 'foo' 
$var2 = 'bar' 

main.pp

import 'variables.pp' 

# demo 
notify { "var1 = ${var1}; var2 = ${var2}": } 

請注意,木偶的import不執行文本插值;它更像Python的import,使得來自導入清單中可見的另一個清單的完整聲明。