【发布时间】:2020-08-04 16:48:16
【问题描述】:
我可以通过传递索引来更新“用户 foo”和“主机 *.example.net”部分的值。如果我通过索引 1 或 2,则相应的值正在更新。
我的代码:
$sections = ['Host *.example.net', 'User foo']
$sections.each |String $section| {
sshd_config_match { "${section}":
ensure => present,
}
}
$settings = [['User foo', 'X11Forwarding yes', 'banner none'],['Host *.example.net', 'X11Forwarding no', 'banner none']]
$settings.each |Array $setting| {
$setting_array = split($setting[1],/ /)
sshd_config { "${setting_array[0]} ${setting[0]}":
ensure => present,
key => "${setting_array[0]}",
condition => "${setting[0]}",
value => "${setting_array[1]}",
}
}
当前结果:
Match Host *.example.net
# Created by Puppet
X11Forwarding no
Match User foo
# Created by Puppet
X11Forwarding yes
预期结果:
Match Host *.example.net
# Created by Puppet
X11Forwarding no
Banner none
Match User foo
# Created by Puppet
X11Forwarding yes
Banner none
我只能更新索引中提到的一个值,但我正在寻找一种方法来更新列表中提到的更多或所有值。
【问题讨论】:
标签: list arraylist indexing puppet