Descobri que funciona se dentro do loop eu definir $ item_name = item e então referenciá-lo como $ item_name no template.
hostclass :class do
items = scope.lookupvar('items_list')
items.each do |item|
file("/etc/init.d/#{item}",
:content => template(['class/item_init.erb']))
end
end
Tendo esta classe escrita em DSL Ruby, como faço referência corretamente a variável item
no modelo? Eu tentei <%= item %>
, <%= @item %>
, <%= scope.lookupvar('item')%>
mas nenhum deles funciona - todos eles retornam nil.
UPD
Descobri que funciona se, dentro do loop, eu definir $item_name = item
e, em seguida, referenciá-lo como $item_name
no modelo.
Tags puppet