我正在尝试通过一组键创建一个伪循环接口:来自我的 hiera yaml 的值以使用 augeas 更新配置文件
define augeas_config (
$key,
$value
)
{
augeas{ "/var/MYCONF/MYCONF.def":
lens => "/var/lib/puppet/lib/augeas/lenses/MYCONF.aug",
incl => "/var/MYCONF/MYCONF.def",
context => "/var/MYCONF/MYCONF.def",
changes => [ "set $key $val" ],
}
}
$augeas_files = hiera_hash('lib_BOX::MYCONF::config', {} )
validate_hash($augeas_files)
create_resources('augeas_config', $augeas_files)
在我的 yaml 键中:要更新的值应该在像这样的哈希中
lib_BOX::MYCONF::config:
SITE_NAME: "TEST-SITE"
OTHER_STUFF: "DEBUG"
所以,这个想法是为我的yaml中的对应用我的augeas lense(不确定,如果我真的需要'context',当'incl'必须与'lens'一起使用时)。
但是,木偶目前无法抱怨字符串而不是预期的哈希
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Evaluation Error: Error while evaluating a Function Call, can't convert String into Hash at /etc/puppet/environments/development/modules/lib_BOX/manifests/config.pp:28:3 on node MY.NODE.FOO
其中第 28 行是带有“create_resources('augeas_config'...”的行。由于我从 hiera 获得哈希,我想我的资源定义中的某些内容被破坏了,但我没有看到什么??
也许有人对我有想法?
干杯和感谢,托马斯