У меня есть следующий код в шаблоне Puppet (ruby) .erb с функцией validate для каждого значения, которое повторяется из массива. Я хочу продолжить со следующими значениями и, предпочтительно, выдать предупреждение или молча продолжить. Приведенный ниже код ошибки и останавливается, если запись не проходит проверку.
Например, если массив $ nameservers = ['1.1.1.1', '/ some.domain / 2.2.2.2'] Я хочу, чтобы это только обработать запись 1.1.1.1.
Это на самом деле, поэтому я могу использовать тот же входной массив для /etc/resolv.conf или /etc/dnsmask.conf, как определено другими логами c в моем манифесте это обрабатывается одним из 2 шаблонов (нет, я не сумасшедший):).
Я знаю, что проверка может быть выполнена в манифесте или в переменных верхней области видимости, однако мне нужно это сделать в шаблоне.
search <%= scope.lookupvar('dns_search') %>
<% scope.lookupvar('nameservers').each do |server| -%>
<% if scope.function_validate_ip_address([server]) -%>
nameserver <%= server -%>
<% end -%>
<% end -%>
Ура