Разбор json в файле Pupp.pp?
Некоторое время я использовал Puppet для поддержки нескольких веток с R10K.
Я обнаружил, что у меня слишком много веток:
-product1-alpha
-product1-beta
-product1-stable
-product2-alpha
...
В настоящее время каждый продукт имеет версии пакета, указанные для каждой ветви:
$specific_packages = [
'packageA=1.0.1',
'packageB=1.5.6',
'packageC=1.8.5',
]
package {
$specific_packages: ensure => installed,
}
Я пытаюсь переписать нашу настройку, чтобы у нас были только ветки:
-product1
-product2
...
Затем загрузите пакеты на основе нового факта $facts['update_group']
,
В /etc/puppetlabs/code/files/packages/
на сервере кукол я добавил (alpha.json, beta.json, ...)
файлы в этом формате:
{
"packageA": "1.0.1",
"packageB": "1.5.6",
"packageC": "1.8.5"
}
Как я могу сделать запрос JSON в моем pp
файл так, чтобы каждый:
$specific_packages = [
'packageA',
'packageB',
'packageC',
]
Смотрит puppet:///files/packages/($update_group).json
и добавляет =version
перед запуском:
package {
$specific_packages: ensure => installed,
}
Таким образом, я могу указать разные пакеты для разных продуктов, но все они будут взяты из нескольких глобальных списков версий пакетов.