В модуле, над которым я работаю, мне нужно проверить, существуют ли определенные пользователи на машине.
Идея заключалась в том, чтобы создать пользовательский факт, содержащий массив всех пользователей.
В модуле он должен выполнять итерацию по массиву и проверять, является ли конкретный пользователь частью массива.
Мой пользовательский факт:
Facter.add("users") do
setcode do
IO.readlines("/etc/passwd").collect do |line|
line.split(":").first
end
end
end
Вывод факта - это строка типа:
["user1", "user2", "user3"]
Поскольку это просто строка, а не массив, я не могу перебрать ее в своем модуле puppet.
Я тогда попробовал
shell_split($::users).each |String $user| {
notify { "$user":}
}
Но теперь каждый пользователь содержит запятую после имени пользователя.
У вас есть идея для рабочего и лучшего решения?