Puppet: Доставчик на пакети - за какво служи методът на заявка?

Създавам персонализиран доставчик на пакети и не съм сигурен какво трябва да върне методът на заявката.

Например на доставчик на пакети:

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