кукольный - лучший способ сбора данных из пользовательских типов для использования в шаблонах - PullRequest
2 голосов
/ 20 июля 2011

У меня есть следующий манифест:

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 . В моем примере была использована переменная $ store .

Этот пример не работает. Что я не прав?

Есть ли лучший способ достичь того же? Мне в основном нужно собрать параметры, используемые в каком-либо типе, а затем предоставить их в некотором шаблоне.

1 Ответ

3 голосов
/ 13 августа 2011

Вы не можете получить доступ к переменным, установленным в манифесте марионеток напрямую (только факты фактора) - вам нужен scope.lookupvar

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

или просто

scope.lookupvar('barclass::store')

если это не модуль

SO

<% scope.lookupvar('barclass::store').each { |i| -%> 
<%= i + " " -%> 
<% } -%> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...