Não é exatamente o que você está procurando, mas reduz a necessidade de manter várias variáveis em sincronia:
site.pp:
class { 'ip::addr':
name => "as2s67v",
cidrs => [ "192.168.30.0/24", "172.45.35.0/16", "145.88.88.0/24" ]
}
modules / ip / addr.pp:
class ip::addr ($cidrs) {
file { "/tmp/$name":
content => template("ip/template.pp")
}
}
template.pp:
server: <%= name %>
<% for idx in (0..(cidrs.length-1)) -%>
ipaddress<%= idx %> = "<%= cidrs[idx].split("/")[0] %>"
prefix<%= idx %> = "<%= cidrs[idx].split("/")[1] %>
<% end -%>
Referências: