Может ли кто-нибудь помочь мне понять, как я могу пройти через определение следующих узлов в моем файле шаблонов?
ip::addr{ "as2s67v":
ip0 => "192.168.30.0",
pre0 => "/24",
ip1 => "172.45.35.0",
pre1 => "/16",
ip2 => "145.88.88.0",
pre2 => "/24",
}
Я хотел бы распечатать вышеизложенное, используя свой файл шаблона, однако я не могу быть уверен в том, сколько записей будет существовать, я хочу получить такой файл:
server: as2s67v
ipaddress0 = "192.168.30.0"
prefix0 = "24"
ipaddress1 = "172.45.35.0"
prefix1 = "16"
ipaddress2 = "145.88.88.0"
prefix2 = "24"
Как я мог добиться этого?
спасибо Дэн
Не совсем то, что вы ищете, но это избавляет от необходимости синхронизировать несколько переменных:
site.pp:
class { 'ip::addr':
name => "as2s67v",
cidrs => [ "192.168.30.0/24", "172.45.35.0/16", "145.88.88.0/24" ]
}
модули / 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 -%>
Ссылки: