Hash 在puppet中迭代两个hiera哈希

Hash 在puppet中迭代两个hiera哈希,hash,puppet,hiera,Hash,Puppet,Hiera,有点棘手的情况,我有两个hiera哈希,一个用于我调用的用户模块,如下所示: $users = hiera_hash('users') create_resources('user',$users) 另一个用于授权密钥模块,类似地称为via: $keys = hiera_hash('ssh_authorized_keys') create_resources('ssh_authorized_key',$keys) 然后,我有一个用于各种任务的维护用户列表。它们的创建方式与用户相同,只是来

有点棘手的情况,我有两个hiera哈希,一个用于我调用的用户模块,如下所示:

 $users = hiera_hash('users')
 create_resources('user',$users)
另一个用于授权密钥模块,类似地称为via:

$keys = hiera_hash('ssh_authorized_keys')
create_resources('ssh_authorized_key',$keys)
然后,我有一个用于各种任务的维护用户列表。它们的创建方式与用户相同,只是来自不同的哈希,因为它们不属于任何其他组

每个哈希包含模块所需的相关值

棘手的是,每个用户必须能够使用自己的公钥登录到任何维护用户的帐户

因此,每个维护用户必须将所有普通用户的所有密钥接收到其授权密钥文件中

我既不使用puppetdb也不使用Enterprise,因此我无法使用用于此类挑战的goto工具导出资源

我曾考虑用片段构建文件,但无法实现,因此我尝试从这里找到解决方案,但也没有成功

现在我担心我可能找错了方向


有人能给我一些指导吗?

您知道最近版本的Puppet实际上可以在您的数据结构上进行迭代吗?您可以将
create_resources
替换为
each
循环,并可以执行更复杂的操作,例如嵌套循环。这应该会使这项任务向前推进。这看起来很有希望,但我似乎也无法让它起作用:
$systems=['one','two','three']
每个($systems)|$value |{notify{$value:}}
返回:SERVER:无法匹配|$value |或者您在Puppet 4上吗?如果没有,您是否在Puppet
=3.5
上,并且在您的配置中有
parser=future
?啊,我在master下添加了parser=future,但我在main中看到它也被设置了,但设置为current。谢谢菲利克斯!您是否知道最近版本的Puppet实际上可以迭代您的数据结构?您可以将
create_resources
替换为
each
循环,并可以执行更复杂的操作,例如嵌套循环。这应该会使这项任务向前推进。这看起来很有希望,但我似乎也无法让它起作用:
$systems=['one','two','three']
每个($systems)|$value |{notify{$value:}}
返回:SERVER:无法匹配|$value |或者您在Puppet 4上吗?如果没有,您是否在Puppet
=3.5
上,并且在您的配置中有
parser=future
?啊,我在master下添加了parser=future,但我在main中看到它也被设置了,但设置为current。谢谢菲利克斯!