在Puppet模板中使用$ server?

我试图使用Puppet服务器作为我的木偶模板中的variables,如下所示: <%= $settings::server %> 。 但是我得到一个错误:

 undefined method `server' for nil:NilClass 

我如何在我的模板中使用configuration的Puppet服务器作为variables?

你正在尝试在ERB中使用Puppet语法variables查找,这是行不通的。 ERB不是Puppet,两种语法不兼容。 相反,您要将值分配给清单中的简单(非名称空间)variables,然后在ERB中使用variables。 你可以使用scope ,就像kashani所说的那样,但是没有人(或者你在6个月内)会知道你正在做的WTF以及为什么它很重要。

尝试以下。 这是一个有点小气,但应该是最可靠的。 FWIW,删除$也应该可以,但可能不会在伪装2.7之后。

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