Puppet 将事实传递到 ERB 文件中的双引号代码行
Puppet pass a fact into a double-quoted line of code in an ERB file
我相信这个问题的答案很简单,但我不知道如何去做。我的 erb 模板文件中有一行需要完全按原样写入服务器的配置文件(对于 OpenVPN):
push "dhcp-option DNS 192.16.23.12"
我需要更改此设置,以便从服务器上的事实列表中查找 IP 地址,而不是对其进行硬编码,因为现在需要在不同的服务器上使用此 conf 文件。持有这个ip地址的事实是"ipaddress_tun0"。我试过将它放入我的行中,因此:
push "dhcp-option DNS <%= @ipaddress_tun0 %>"
.. 但事实没有得到正确的插值,大概是因为双引号。不幸的是,双引号需要作为 conf 文件中行的文字部分,因此它们必须存在(单引号不起作用)。谁能建议我如何让这一行查找并插入 ipaddress_tun0 的值?
push "dhcp-option DNS <%= scope.lookupvar('ipaddress_tun0') %>"
是所需要的,因为我的事实超出了当前范围。
我相信这个问题的答案很简单,但我不知道如何去做。我的 erb 模板文件中有一行需要完全按原样写入服务器的配置文件(对于 OpenVPN):
push "dhcp-option DNS 192.16.23.12"
我需要更改此设置,以便从服务器上的事实列表中查找 IP 地址,而不是对其进行硬编码,因为现在需要在不同的服务器上使用此 conf 文件。持有这个ip地址的事实是"ipaddress_tun0"。我试过将它放入我的行中,因此:
push "dhcp-option DNS <%= @ipaddress_tun0 %>"
.. 但事实没有得到正确的插值,大概是因为双引号。不幸的是,双引号需要作为 conf 文件中行的文字部分,因此它们必须存在(单引号不起作用)。谁能建议我如何让这一行查找并插入 ipaddress_tun0 的值?
push "dhcp-option DNS <%= scope.lookupvar('ipaddress_tun0') %>"
是所需要的,因为我的事实超出了当前范围。