Puppet: Package Provider — для чего нужен метод запроса?

Я создаю собственный поставщик пакетов и не уверен, что должен возвращать метод запроса.

Например, поставщика пакетов:

https://github.com/puppetlabs/puppet/blob/master/lib/puppet/provider/package/dpkg.rb

Найден пример поставщика пакетов, но нет документации о том, что должен делать каждый метод.

Спасибо!


person Karan    schedule 29.11.2013    source источник


Ответы (1)


Метод запроса вызывается базовым типом Puppet::Provider::Package. Метод properties заполняет property_hash с помощью метода query:

  # Look up the current status.
  def properties
    if @property_hash.empty?
      @property_hash = query || {:ensure => :absent}
      @property_hash[:ensure] = :absent if @property_hash.empty?
    end
    @property_hash.dup
  end

В rubydoc Puppet::Provider говорится о property_hash следующее:

Хэш свойства — важная переменная экземпляра @property_hash содержит все текущие значения состояния свойств (она создается лениво). Важно, чтобы эти значения правильно управлялись в методах {instances}, {prefetch} и в методах, которые изменяют текущее состояние (те, которые изменяют жизненный цикл (создают, уничтожают) или изменяют какое-либо значение, отраженное в свойстве). .

Таким образом, запрос должен возвращать хэш, отражающий текущее состояние пакета, выраженное в пакете Puppet. свойства.

Это не задокументировано AFAIK. Я понял это путем реверс-инжиниринга.

Надеюсь это поможет. Удачи!

person Lodewijk Bogaards    schedule 01.12.2013