我经常想在Puppet模板中包含默认值。 我希望给这样一个class:
class myclass ($a_variable=undef) { file { '/tmp/myfile': content => template('myclass/myfile.erb'), } }
我可以做一个这样的模板:
a_variable = <%= a_variable || "a default value" %>
不幸的是,Puppet中的undef
没有在模板的上下文中翻译成Ruby nil
值,所以这实际上并不起作用。 在Puppet模板中处理默认值的规范方式是什么?
我可以将默认值设置为空string,然后使用empty?
testing…
a variable = <%= a_variable.empty? ? "a default value" : a_variable %>
但是,这似乎有点笨重。
难道你不能只在类定义中设置一个默认值?
class myclass ($a_variable = "a default value") {