我目前正在编写一个用于向auto.misc文件添加行的puppet模块。
我使用augeas为auto.misc文件添加了一个新条目,我想出了类似下面的内容,每次运行都没有重复,它运行得很好。
augeas { "new auto mountpoint":
context => "/files/etc/auto.misc",
changes => [
"set 01 'store'",
"set 01/opt[1] 'ro'",
"set 01/opt[2] 'soft'",
"set 01/opt[3] 'intr'",
"set 01/location/1/host 'uxkickstart.thenational.com'",
"set 01/location/1/path '/common'",
],
onlyif => "match *[. = 'store'] size == 0",
}
现在,如果我想为特定的挂载点添加新选项,它永远不会更新。
如果有人能告诉我最好的方法,或者以不同的方式使用augeas来解决这个问题,那就太棒了。
谢谢
答案 0 :(得分:1)
如果您一次只需要添加/修改一行,那么来自file_line的puppetlabs-stdlib资源比augeas更容易使用。
答案 1 :(得分:0)
这里最好的选择是编写一个合适的类型+ augeas提供者,而不是使用augeas
类型。这将允许您将选项指定为数组属性。
请参阅augeasproviders.com以获取示例,以及实施augeas providers on github的各种模块。