Как я могу получить 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?
проверить или что относится к вашему делу