Как я могу получить Chef к ошибке или по крайней мере сообщить об отсутствующей переменной в шаблоне .erb? - PullRequest
0 голосов
/ 29 ноября 2018

Если у меня есть строка, подобная приведенной ниже, в .erb:

        TMP_DIR=$(mktemp -d <%= @temp_dir %>/tmp_dir.XXXXXX)

Есть ли способ заставить Chef потерпеть неудачу или хотя бы сообщить, если переменная @temp_dir не определена?

В идеале я хотел бы сделать это с помощью одного вызова в верхней части рецепта или в командной строке с параметром конфигурации (я использую chef-client).

Спасибовпереди!

1 Ответ

0 голосов
/ 30 ноября 2018

Вы можете выдать ошибку и выйти из Chef с помощью:

Chef::Application.fatal!("Temporary directory is undefined") unless defined? temp_dir

Она не будет охватывать пустую переменную, поэтому вы можете добавить проверку temp_dir.empty? или любое другое, применимое к вашему случаю

...