Некоторые сомнения по поводу пользовательской декларации LWRP

Я делаю свой собственный LWRP. Но у меня есть сомнения по поводу его реализации.

Я захожу в голубую таблетку и вижу это.

def load_current_resource
  @current_resource = Chef::Resource::BluepillService.new(new_resource.name)
  @current_resource.service_name(new_resource.service_name)

  Chef::Log.debug("Checking status of service #{new_resource.service_name}")

  determine_current_status!

  @current_resource
end

Я вижу это в других кулинарных книгах и хочу сделать что-то подобное.

def load_current_resource
   @current_resource = Chef::Resource::MyCustomLWRP.new(new_resource.name)
   @current_resource
end

Но я не могу найти, где я должен определить Chef::Resource::MyCustomLWRP.

Я хочу сделать это с целью создания идемпотентного ресурса.


person Robert    schedule 18.03.2014    source источник


Ответы (1)


Чтобы создать собственный пользовательский ресурс (LWRP), необходимо выполнить ряд шагов. Подводя итог, необходимо создать файл в каталоге cookbooks resources и файл с таким же именем в каталоге providers.

Файл, который вы создаете в каталоге resources, определяет (среди прочего) действия и атрибуты, которые может принимать ваш пользовательский ресурс. Файл, который вы создаете в каталоге providers, предоставляет реализации для каждого из действий, указанных в файле ресурсов.

Именем ресурса будет имя поваренной книги + имя файла без расширения rb.

Для получения более подробной информации есть отличный учебник здесь: http://dougireton.com/blog/2012/12/31/creating-an-lwrp/

person punkle    schedule 15.04.2014