需要使用puppet替换文件中的字符串
我需要使用Puppet替换apache Vhost文件中的单词。我的虚拟主机文件看起来像:需要使用puppet替换文件中的字符串
<VirtualHost *:80> RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>
现在,我想在第一行的$fqdn
facter变量来代替*
。我不想使用Puppet Forge的apache模块。我从stdlib
模块中发现file_line
,但它无法用facter变量替代。
我可以使用exec
资源类型,它将运行一个sed
命令来将*替换为主机名,但我想避免这样做。有没有其他方法可以做到这一点?
回答:
可以在事实上使用file_line
这里:
include stdlib $fqdn = $facts['fqdn']
file_line { 'virtual_host':
ensure => present,
path => '/path/to/httpd.conf',
line => "<VirtualHost ${fqdn}:80>",
match => '<VirtualHost \*:80>',
}
以上是 需要使用puppet替换文件中的字符串 的全部内容, 来源链接: utcz.com/qa/257720.html