我经常想在 Puppet 模板中包含默认值。我希望给出这样的类:
class myclass ($a_variable=undef) {
file { '/tmp/myfile':
content => template('myclass/myfile.erb'),
}
}
我可以制作这样的模板:
a_variable = <%= a_variable || "a default value" %>
不幸的是,undef
在 Puppet 中,它不会nil
在模板上下文中转换为 Ruby 值,因此这实际上不起作用。在 Puppet 模板中处理默认值的规范方法是什么?
我可以将默认值设置为空字符串,然后使用测试empty?
......
a variable = <%= a_variable.empty? ? "a default value" : a_variable %>
...但这看起来有点笨重。
答案1
你不能在类定义中设置一个默认值吗?
class myclass ($a_variable = "a default value") {