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

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

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

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

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

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

1 ответ

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

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

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

Другие вопросы по тегам