定制厨师提供商

时间:2014-05-15 01:40:32

标签: chef

专家,

我处在一种情况,我想使用厨师提供的资源(文件),但我想写一个我自己的提供者,我将通过提供商' '文件'的属性资源。

我不想写LWRP(资源和提供者)。我只想使用那里的资源,但提供者应该是我定义的那个。

如何编写提供程序并覆盖chef为资源提供的提供程序? 我需要使用/继承哪些类? 我在哪里把课程放在厨师服务器上?

1 个答案:

答案 0 :(得分:0)

所有Chef资源都响应资源声明中的provider属性:

file '/path/to/file' do
  provider My::Custom::Provider
end

请注意,这是实际的类,而不是字符串或符号。或者,如果您希望在特定平台上使用提供程序,则可以使用Chef::Platform.set

Chef::Platform.set(
  resource: :file,
  provider: My::Custom::Provider,
  platform: :windows,
)

然后使用正常的资源,但厨师将做正确的事情"遇到给定的平台时。