Я успешно создал пользовательский факт .rb, который анализирует встроенный факт для создания нового значения, однако сейчас я пытаюсь использовать его как вложенный пользовательский факт для Puppet.
Иерархия, которую я хочу создать, аналогична встроенным фактам, например, если запустить Facter (или Facter -p), будет показано:
custom_parent => {
custom_fact_1 => whatever
custom_fact_2 => whatever2
}
и использование в манифесте марионетки будет:
$custom_parent.custom_fact_1
До сих пор я пробовал ведущий синтаксис, такой как:
Facter.add (:custom_parent)=>(custom_fact_1) do
Facter.add (:custom_parent)(:custom_fact_1) do
Facter.add (:custom_parent.custom_fact_1) do
Facter.add (:custom_parent:custom_fact_1) do
Facter.add (custom_parent:custom_fact_1) do
... и многие другие варианты, однако не могут получить вложенный массив пользовательских фактов для создания.Я гуглил некоторое время, и если кто-нибудь знает, возможно ли это, я был бы очень признателен.
Я обнаружил, что вложенные факты могут быть созданы с использованием массива в файле .yaml в / etc / puppetlabs/facter/facts.d/, как показано ниже, однако он устанавливает ИСПРАВЛЕННЫЕ значения и не обрабатывает логику, которая мне нужна в моем пользовательском факте.
{
"custom_parent":
{
"custom_fact_1": "whatever",
"custom_fact_2": "whatever2",
}
}
Заранее спасибо.