我在做自定义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。
我想以创建幂等资源为目标来实现这一目标。
答案 0 :(得分:1)
您必须完成许多步骤才能创建自己的自定义资源(LWRP)。总之,它涉及在cookbook resources
目录中创建文件,在providers
目录中创建具有相同名称的文件。
您在resources
目录中创建的文件(以及其他内容)定义了您的自定义资源可以接受的操作和属性。您在providers
目录中创建的文件为资源文件中指定的每个操作提供了实现。
资源名称为cookbook名称+没有rb扩展名的文件名。
有关详细信息,请参阅此处的精彩教程:http://dougireton.com/blog/2012/12/31/creating-an-lwrp/