我正在将下面的 foreman yaml 配置传递给 puppet for sysctl keys..
YAML 配置
sysctl:
kval1:
key: net.ipv4.ip_forward
value: '0'
kval2:
key: kernel.sysrq
value: '0'
下面是 sysctl 的 puppet list
初始化.pp
class sysctl_var (
$sysctl_var = 'undef'
) {
# Groups hash is passed from Foreman
create_resources(sysctl_var::sysctlconf, $sysctl_var)
}
系统配置文件
define sysctl_var::sysctlconf($key,$value) {
augeas { "sysctl":
context => "/files/etc/sysctl.conf",
changes => ["set $key '$value'",]
}
}
虽然如果我使用 yaml 仅传递一个键值对,这些键会起作用,但如何将多个键传递给 sysctl list ,据我所知,puppet 中没有值循环。
augeas block 是否可以接受多个键值……?
最佳答案
使 augeus 资源具有基于定义标题的变体标题并且它起作用了。
define sysctl_var::sysctlconf($key,$value) {
augeas { "sysctl ${title}":
context => "/files/etc/sysctl.conf",
changes => ["set $key '$value'",]
}
}
关于linux - puppet create_resources 传递多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19084019/