我被困在尝试创建我的第一个lwrp
我创建了一个非常基本的资源+提供者:
resources/rack_site.rb
providers/rack_site.rb
Run Code Online (Sandbox Code Playgroud)
我一直在尝试在同一个食谱的配方中测试'rack_site'资源,但是它失败并且找不到有关资源的错误.我尝试将这两个文件移动到我作为依赖项添加的食谱中,但仍然失败.
将自定义资源用于配方必须做些什么?
Chef使用cookbook的名称(如中所定义metadata.rb)为LWRP添加前缀.例如,如果您的食谱已命名acme-nginx,并且您有一个名为的资源rack_site.rb,则食谱DSL中的关联LWRP是acme_nginx_rack_site.例如:
acme_nginx_rack_site 'foo' do
# ...
end
Run Code Online (Sandbox Code Playgroud)
Chef会自动将对Ruby方法无效的字符转换为下划线(包括破折号).
这也让我受益匪浅.您可以通过将您的菜谱名称metadata.rb和下划线添加到资源名称来访问LWRP .例如,如果机架站点资源在Foo cookbook中:foo_rack_site.
| 归档时间: |
|
| 查看次数: |
981 次 |
| 最近记录: |