Puppet 模板和未定义/零变量

Puppet 模板和未定义/零变量

我经常想在 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") {

相关内容