2014-03-18 4 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/