将 Chef LWRP 的范围限定回包含被调用资源的说明书

Scoping Chef LWRPs back to the cookbook containing the resource being called

我有一本食谱,其中包含 LWRP 和 "files" 文件夹中的一些文件。

cookbook_file put_it_here do
  source myfile
end

调用此资源的另一本食谱中的食谱将在其自己的食谱的 "files" 目录中查找,而不是资源所在食谱的文件。

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

cookbook_file put_it_here do
  source myfile
  cookbook cookbook_name
end

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

不幸的是,您只需要对其进行硬编码。

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