Я пытаюсь написать функцию в Puppet, которая будет делать, fail
если переданный путь к каталогу не существует.
if File["/some/path"]
всегда возвращает true и if defined(File["/some/path"])
возвращает true только в том случае, если ресурс определен в puppet, независимо от того, существует ли он на самом деле.
Есть ли способ сделать это с помощью простого if
заявления?
Благодарность
Ответы:
Обходной путь для этого: используйте onlyif на exec «test» и требуйте его в ваших действиях, которые вы хотите выполнить:
источник
Мне тоже было трудно понять, как не запускать модуль, если каталог отсутствует. Это то, что я нашел, что сработало для меня.
Добавление пути - вот что действительно помогло мне. По какой-то причине, даже если я добавил путь к тестовой команде, например,
/bin/test
он не работает правильно.Надеюсь, что это помогает другим, кто может иметь ту же проблему.
источник
Вы также можете использовать встроенную функцию find_file () для нее ... она возвращает undef, когда файл / путь не существует, и строку, если она существует.
https://puppet.com/docs/puppet/5.5/function.html#findfile
источник