2016-11-25 9 views
1

は、私がこのようなモジュール構造を持っている:このフォルダの外からマニフェストフォルダで宣言されたクラスを呼び出す方法はありますか?

my_module 
|__ server.pp 
|__ manifests 
    |__ dashboard.pp 

私はserverからmy_module::dashboardを呼び出すようにしようとしています。

class { 'my_module::dashboard': } 

しかし、人形はそれを見つけることができません。

+0

'server.pp'クラスがマニフェストフォルダにないのはなぜですか? – jaxxstorm

+0

私はそれがすべきことを知っていますが、それは私のカスタムモジュールのすべてをホストする私の上のマニフェストフォルダの外からそれを呼び出すことはできませんか? – Joly

+0

マニフェストフォルダ内に 'server.pp'を置く必要があります。動作しない場合、' modulepath'やフォルダレイアウトの問題があるようです。 – jaxxstorm

答えて

1

オートロードパスの外にあるディレクトリにマニフェストを配置することはできません。マニフェストは、modulepathの内部にあるモジュール内のmanifestsディレクトリに配置する必要があります。

簡潔かつ有用なドキュメントがここにあります:https://docs.puppet.com/puppet/latest/reference/lang_namespaces.html#autoloader-behavior

あなたがより速く、これらのエラーを追跡することができますので、あなたはまた、Puppet-Lintと自動ロードの問題をテストすることができます。

関連する問題