如何使Chef出错或至少报告.erb模板中的缺失变量?

时间:2018-11-29 13:44:51

标签: chef erb chef-recipe chef-template

如果我在.erb中有如下一行:

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

如果未定义@temp_dir变量,是否有办法让Chef失败或至少报告?

理想情况下,我想通过在菜谱顶部或通过命令行使用config选项(我正在使用Chef-client)进行一次调用来完成此操作。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用以下方法抛出错误并退出Chef:

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

它不会包含空变量,因此您可以添加temp_dir.empty?支票或适用于您的情况的任何内容