在 Puppet 模板中使用 $server?

在 Puppet 模板中使用 $server?

我正在尝试将 Puppet 服务器用作我的 Puppet 模板中的变量,如下所示:<%= $settings::server %>。但我收到错误:

undefined method `server' for nil:NilClass

如何在模板中将配置的 Puppet 服务器用作变量?

答案1

您尝试在 ERB 中使用 Puppet 语法变量查找,但这样做行不通。ERB 不是 Puppet,这两种语法不兼容。相反,您需要将值分配给清单中的简单(非命名空间)变量,然后使用变量。使用scope,正如 kashani 所建议的那样,但没有其他人(或 6 个月后的你)会知道你在做什么以及为什么这很重要。

答案2

尝试以下方法。这种方法比较冗长,但应该是最可靠的。FWIW,删除 $ 也应该有效,但在 Puppet 2.7 之后可能无效。

<%= scope.lookupvar('settings::server') %>

相关内容