【问题标题】:Scoping Chef LWRPs back to the cookbook containing the resource being called将 Chef LWRP 范围限定回包含被调用资源的说明书
【发布时间】:2016-10-02 21:31:16
【问题描述】:

我有一本包含 LWRP 和“文件”文件夹中的一些文件的食谱。

cookbook_file put_it_here do
  source myfile
end

另一个菜谱中调用此资源的菜谱将查看其自己菜谱的“文件”目录,而不是资源所在菜谱的文件。

我尝试使用 cookbook_name,但这仍然解析为调用资源的配方,因此下面的代码不起作用。

cookbook_file put_it_here do
  source myfile
  cookbook cookbook_name
end

如何在无需硬编码的情况下引用资源所在说明书的文件目录?

【问题讨论】:

    标签: chef-infra chef-recipe cookbook recipe lwrp


    【解决方案1】:

    不幸的是,您只需要硬编码即可。

    我们不会直接为 LWRP 公开这一点,尽管您可以从技术上将其从 self.class.to_s 中解析出来。对于 Poise,我有一个东西可以根据清单数据对食谱名称进行逆向工程,但这可能对你没有帮助,除非你想喝我的酷爱。

    【讨论】:

    • 嗯,好的,谢谢,顺便说一句,这不是反模式吗?我想我会看看其他一些食谱,但这很常见吗?
    • 是的,这很常见而且很烦人。这就是为什么我为我所有的食谱都修复了它:) 如果我能自己修复它,我往往不会关心 Chef core 是如何做的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多