使用嵌入式 Ruby 代码

优质
小牛编辑
138浏览
2023-12-01
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 代码执行, 其余的将被视为字符串。

参见本书