Puppet のモジュールとファイルのマッピングを作成して、モジュール ツリーの最上部から検索を開始することはできますか?

Puppet のモジュールとファイルのマッピングを作成して、モジュール ツリーの最上部から検索を開始することはできますか?

次の 2 つの Puppet モジュール ファイルを検討してください。

# File modules/a/manifests/b/c.pp
class a::b::c {
    include b::c
}

# File modules/b/manifests/c.pp
class b::c {
    notify { "In b::c": }
}

include b::cPuppet がクラス のディレクティブにヒットするとa::b::c、現在のクラスから逆方向に検索して対応する *.pp ファイルを検索し、 にある正しいファイルを見つけると判断するようです../../b/c.pp。つまり、ステートメントが出現するb::cのと同じ *.pp ファイルに解決されますinclude b::cmodules/a/manifests/b/c.pp

代わりに、ファイルを見つけてロードすることを期待していました (そしてそうしたいです) modules/b/manifests/c.pp。Puppet にこれを実行させる方法はありますか? そうでない場合、モジュール名には他のモジュール名を含めることはできないと思われますが、これはかなり意外な制限です。

答え1

強制的に先頭にするには 'include ::b::c' を使用します

関連情報