Назад | Перейти на главную страницу

как создать ресурс каталога файла марионетки, используя переменную в имени, чтобы не добавлять скобки вокруг имени []

Когда я пробую следующее в своем манифесте.

$profile = hiera('duplicity::profile', 'test123')

file { [ "/tmp/${profile}" ]:
  ensure => directory,
  owner  => root,
  group  => root,
}

У меня есть следующее определение в наследии для этого узла

duplicity::profile:
  - 'testfails'

Что создает такие папки

find /tmp/\[testfails\]
/tmp/[testfails]

Почему в имени папки добавляются скобки?

https://docs.puppet.com/puppet/4.10/lang_variables.html#interpolation https://docs.puppet.com/puppet/latest/types/file.html

Проблема заключалась в том, как я объявил свои данные hiera.

duplicity::profile:
  - 'testfails'

Это создает список или массив значений. Нет смысла пытаться создать каталог из списка или массива. Я должен либо пройтись по списку, либо убедиться, что разрешены только одностроковые значения.

Где это присваивает переменной одну строку.

duplicity::profile: 'testthatworks'

Это правильно создает каталог без []