我经常使用 puppet 和 augeas 工具来配置属性文件。我的最新要求是对相当长的属性文件列表应用相同的固定更改集。所以,我想一次性完成,而不是为每个属性文件编写一个augeas。
例子:
augeas { 'change_name_whatever':
lens => 'a_customized_lens',
incl => "$path/file1.properties",
changes => $change_set,
}
augeas { 'change_name_whatever':
lens => 'a_customized_lens',
incl => "$path/file2.properties",
changes => $change_set,
}
etc...
Run Code Online (Sandbox Code Playgroud)
我想使用:
augeas { 'change_name_whatever':
lens => 'a_customized_lens',
incl => "[list of files to change],
changes => $change_set,
}
Run Code Online (Sandbox Code Playgroud)
但这是不可能的,因为 augeas 需要预加载文件。
因为我使用的是 puppet 3.8,所以我不能使用foreach类型的循环。我看到在 puppet 4 中你可以声明一个文件列表,然后循环它们并做你的事情。这很酷……但在 puppet 3 中不起作用。
那么,我有没有其他解决方案然后多次复制/粘贴相同的代码?
干杯。