如何使用名称中的变量创建 puppet 文件目录资源,以便它不会在名称周围添加括号

如何使用名称中的变量创建 puppet 文件目录资源,以便它不会在名称周围添加括号

当我在清单中尝试以下内容时。

$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'

这正确地创建了目录,而不需要[]

相关内容