Puppet 中的变量、表达式、事实以及 Hiera 数据管理
1. Puppet 中的迭代:each 函数的使用
在 Puppet 中,当我们需要创建多个相似的资源时,手动编写每个资源会非常繁琐。例如,创建三个不同编号的脚本资源,除了任务编号不同外,其他属性都相同。如果后续需要修改脚本属性,就需要在清单中逐个查找并修改,当资源数量增多时,这种方式会变得不切实际。
为了解决这个问题,Puppet 提供了 each 函数。 each 函数可以对数组中的每个元素应用一段 Puppet 代码,下面是一个使用数组和 each 函数的示例:
$tasks = ['task1', 'task2', 'task3']
$tasks.each | $task | {
file { "/usr/local/bin/${task}":
content => "echo I am ${task}\n",
mode => '0755',
}
}
上述代码通过 each 函数创建了一个循环,为 $tasks 数组中的每个元素创建一个新的文件资源。 each 循环的基本结构如下:
ARRAY.each | ELEMENT | {
BLOCK
}
各部分解释如下:
超级会员免费看
订阅专栏 解锁全文
49

被折叠的 条评论
为什么被折叠?



