Марионетка: действительно ли возможно предоставить дополнительную информацию при понимании экспортируемого ресурса?

Предположим, что я хочу hostB иметь отличный файл для каждого марионеточного узла, но с владельцем, который только известен hostB.

Теоретически это может быть сделано, если мы позволяем hostB записать пользовательский факт (my_special_owner), и затем считайте тот факт через query_facts функция в my_resource определение hostA. Но это кажется слишком грязным: это загрязняет пространство имен фактов бессмысленным материалом, возможно вызывая столкновения имени. Это - также большое кодирование для такой простой вещи.

Вот макет того, что я имею в виду:

define my_resource() {
  $owner=${my_collector::owner} #This attempt fails
  file{$name: ensure=>exists, owner=>$owner}
}

node hostA {
  @@my_resource{"/tmp/file1.tmp"}
}


class my_collector($owner) {
  # How to pass $owner to the collector below?
  My_resource <<| |>> 
}

node hostB {
  class {'my_collector': owner=>bob}
}
1
задан 6 March 2015 в 23:17
1 ответ

См. этот раздел для документации Puppet о настройке атрибутов сборщика. Пример:

File <| |> {
  owner => 'foo',
}
1
ответ дан 4 December 2019 в 00:11

Теги

Похожие вопросы