Summary
我可以使用外部说明书中的 LWRP 而不添加说明书名称前缀吗?例如,如果mycookbook
包含mylwrp
资源 我该怎么做?
include_recipe 'mycookbook' # Contains "mylwrp"
mylwrp "frobulator" do
frobulations 42
end
Details
我写了一个LWRP,它的名字是mycookbook_mylwrp
因为图书馆食谱使用正常的资源/提供者布局,如下所示
mycookbook/
├── providers
│ └── mylwrp.rb
└── resources
└── mylwrp.rb
是否有可能
- 将 LWRP 保留在
mycookbook
食谱
- 使用 LWRP 而不添加前缀
mycookbook
name (mycookbook_mylwrp
)
我意识到我可以创建一本全新的食谱并将其命名为“mylwrp”并使用默认提供程序,如下所示
mylwrp/
├── providers
│ └── default.rb
└── resources
└── default.rb
但随后我必须为我想以这种方式使用的每个 LWRP 制作专门的食谱。
一种选择是使用 HWRP。这些进入libraries
目录而不是resources
and providers
。如果你走那条路,我会调查一下poise
库,它允许您以与 LWRP 相同的技巧编写 HWRP。
话虽如此,你正在做的事情绝对超出了常规。社区习惯于将自定义提供程序命名为与声明它们的说明书相匹配。如果您想与社区分享这本食谱,您将会引起一些混乱。即使您只在内部使用它,它也会使您带入团队的任何新成员的学习曲线变得陡峭。因此,除非您有充分的理由这样做,否则我强烈建议您避免这样做。
另一方面,如果您确实有令人信服的理由,我建议您分享它,以便我们都能从您的想法中受益。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)