当我在清单中尝试以下内容时。
$profile = hiera('duplicity::profile', 'test123')
file { [ "/tmp/${profile}" ]:
ensure => directory,
owner => root,
group => root,
}
我在 heira 中为该节点定义了以下内容
duplicity::profile:
- 'testfails'
创建如下文件夹
find /tmp/\[testfails\]
/tmp/[testfails]
为什么要在文件夹名称中添加括号?
答案1
问题在于我如何声明我的 hiera 数据。
duplicity::profile:
- 'testfails'
这会创建一个值列表或数组。尝试从列表或数组中创建目录是没有意义的。我应该遍历列表或确保只允许单个字符串值。
其中,这将向变量分配一个字符串。
duplicity::profile: 'testthatworks'
这正确地创建了目录,而不需要[]