在我的 puppet 配置中,我需要在模板中使用变量值之前将其小写。如何实现这一目标?有没有办法小写人偶清单中的变量值?我需要在模板中执行此操作吗?
更一般地说:我可以在清单中使用的字符串操作函数在哪里。
我是否必须编写自己的自定义 ruby 函数来实现这一点?
小智 16
对于这个问题,我可以想到两种通用的解决方案。一般来说,我的意思是它们将在清单文件和模板中工作,而不仅仅是模板。
我推荐的解决方案是使用标准库模块中的downcase()
解析器函数。我推荐这个是因为你不需要写任何 ruby 代码而且它更容易阅读:
class helloworld {
$os_downcase = downcase($osfamily)
}
include helloworld
Run Code Online (Sandbox Code Playgroud)
如果你不想依赖stdlib
模块,那么你可以使用inline_template
函数来概括Shane提到的解决方案:
class helloworld {
$os_downcase = inline_template('<%= osfamily.downcase %>')
}
include helloworld
Run Code Online (Sandbox Code Playgroud)
inline_template
避免了创建单独*.erb
文件的需要。
希望这可以帮助。-杰夫
Sha*_*den 13
Puppet 在清单中的字符串操作能力非常有限。清单并不是真的要处理这样的事情。
但是,在模板中,这很容易;可以使用普通的 ruby 函数。说我想要一个小写的osfamily
事实:
<%= osfamily.downcase %>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13103 次 |
最近记录: |