2014-03-18 4 views
1

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

Я проверяю в bluepill, и я вижу это.

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 

Но я не могу найти, где я должен определить шеф-повара :: Ресурс :: MyCustomLWRP.

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

ответ

1

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

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

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

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

Смежные вопросы