【发布时间】:2017-11-02 17:51:01
【问题描述】:
我在 hiera 中有以下参数:
base::users:
john@example.com:
ensure: present
user: john
sudo: true
type: ssh-rsa
key: AAAAB3NzaC1yc2EAAAABJ
在 puppet 中,我得到以下哈希:
{john@example.com => {ensure => present, user => john, sudo => true, type => ssh-rsa, key => AAAAB3NzaC1yc2EAAAABJ}}
然后我调用 create resources 来创建适当的 authorized_keys 文件:
create_resources('ssh_authorized_key', $users)
但它不起作用,因为我添加了新参数“sudo”,并且在调用 create_resources 之前我想从哈希中删除此键并在另一个资源中操作。
我已尝试下一步将其删除:
$users_filtered = $users.each |$k, $v| { $v.delete['sudo'] }
我收到下一个错误:
Error while evaluating a Function Call, delete(): Wrong number of arguments given 1 for 2.
据我了解,puppet 尝试使用 stdlib 模块中的“删除”功能。 但我也试过:
$users_filtered = $users.each |$k, $v| { delete($users, $v['sudo'] }
但它不起作用。感谢任何帮助
【问题讨论】: