2014-03-18 51 views
1

我正在做我的定製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的定義。

我想這樣做的目的是創建一個冪等資源。

回答

1

您需要經過許多步驟來創建自己的自定義資源(LWRP)。總之,它涉及在烹飪書resources目錄中創建一個文件,在providers目錄中創建一個名稱相同的文件。

您在resources目錄中創建的文件定義(除其他之外)您的自定義資源可以接受的操作和屬性。您在providers目錄中創建的文件提供了在資源文件中指定的每個操作的實現。

資源的名稱將是食譜名稱+沒有rb擴展名的文件名。

欲瞭解更多詳情,這裏有一個偉大的教程:http://dougireton.com/blog/2012/12/31/creating-an-lwrp/