请你帮助我好吗。我从木偶清单中的hiera得到了dict,然后尝试过滤它们并传入一个python脚本作为args。但不知道该怎么做。
我的hiera:
我的课::…
在Ask PuppetLabs论坛上看起来有一个非常好的例子: 从清单中的hiera迭代嵌套哈希 。
该解决方案使用了a 定义的类型 运行你的执行官。然后自动迭代你的哈希 create_resources() ,将散列转换为一组资源并将其添加到目录中。此功能可以轻松地立即从Hiera数据源创建许多资源,而不必编写自己的循环函数。它最好与定义的类型一起使用,因为它们可以在很多不同的时间实现。
我已根据您的目的调整了他们的示例:
define run_my_exec($serv_name, $serv_hostname, $test_url) { notify { "$serv_name": } } $server_conf = hiera_hash('myclass::server_conf', {}) create_resources( run_my_exec, $server_conf )
此外,在木偶中使用exec是一种代码气味。并不是说它总是坏的,但通常它是解决问题的最不优雅的方式。例如,这个exec配置你的服务器吗?如果是这样,也许使用模板来编写配置文件会更好。这是另一个关于该类型的木偶文档的执行者的观点:
警告:人们普遍倾向于使用高级管理员来管理现有资源类型未涵盖的资源。这适用于简单的任务,但是一旦你的exec堆变得足够复杂,你真的必须考虑理解发生了什么,你应该考虑开发一个自定义资源类型,因为它将更加可预测和可维护。