Dentro de modelos, você tem acesso a um objeto de escopo. Todas as funções que você pode acessar nos manifestos puppet podem ser acessadas através desse objeto de escopo, embora não pelo mesmo nome. Prefira "function_"
ao início do nome da função. Por exemplo, aqui incluí um modelo dentro de outro: <%= scope.function_template("template2.erb") %>
link tem uma ótima documentação sobre o objeto de escopo dentro dos modelos. Para informações realmente profundas sobre modelos e funções, você pode consultar lib/puppet/parser/templatewrapper.rb
e lib/puppet/parser/functions.rb
.