使用嵌入式 Ruby 代码
Ruby, like fire, is a very useful friend, and a very dangerous enemy.
— Mikkel Bruun
在模板中使用嵌入式 Ruby 帮助构建动态的配置文件或实现数组遍历是一种强大的方式。 然而,你也可以在配置清单中使用 inline_template 函数直接嵌入 Ruby 而不必使用分离的模板文件。
操作步骤
在 Puppet 的配置清单中将 Ruby 代码传递给 inline_template 函数:
cron { "nightly-job":
command => "/usr/local/bin/nightly-job",
hour => "0",
minute => inline_template("<%= hostname.hash.abs % 60 %>"),
}
工作原理
传递给 inline_template 的字符串都会被执行,就像 ERB 模板一样。 也就是说,在分隔符 <%= 和 %> 之间的所有内容都被当做 Ruby 代码执行, 其余的将被视为字符串。