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

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

Я смотрю в голубик, и я это вижу.

def load_current_resource @current_resource = Chef::Resource::***************.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.

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

1 ответ

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

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

Имя ресурса будет именем cookbook + имя файла без расширения rb.

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

licensed under cc by-sa 3.0 with attribution.