2011-07-20 7 views
2

で使用するカスタムタイプからデータを収集するための最良の方法私はマニフェスト次ています人形 - テンプレート

define foo($var) { 
    file { $var: } 
    $barclass::store += $var 
} 

class barclass { 
    $store = [] 
    foo { 
     "test1": var => "test1", 
     "test2": var => "test2", 
    } 

    file { "myfile": content => template("puppet:///files/myfile.erb"); } 
} 

そして、ERBテンプレート以下:ここ

<% store.each { |i| -%> 
<%= i + " " -%> 
<% } -%> 

私の意図は、すべてのを収集することです$ var変数はタイプfooのパラメータとして使用されます。そして、myfile.erbテンプレートでそれらを提供してください。私の例では、$ストア変数が使用されました。

この例は機能しません。何が悪いですか?

同じことを達成するより良い方法はありますか?私は基本的にいくつかの型で使用されているパラメータを収集し、いくつかのテンプレートでそれらを提供する必要があります。

答えて

2

あなたは人形に設定された変数は直接(のみfacterの事実を)マニフェストにアクセスすることはできません - あなたが必要なもの、それはモジュール

ない場合

scope.lookupvar('yourmodulename::barclass::store') 

か、単に

scope.lookupvar('barclass::store') 

scope.lookupvarです

SO

<% scope.lookupvar('barclass::store').each { |i| -%> 
<%= i + " " -%> 
<% } -%> 
関連する問題