Puppetアプリを起動するとエラーが発生します。
Warning: Scope(Mod::Cl[title]): Can't load '/tmp/file.yaml' File does not exist!
Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Operator '[]' is not applicable to an Undef Value.
stdlibモジュールの関数としてloadyamlを指定しました。
しかし、定義する前にファイルリソースを実行したいと思います。
誰でも私を助けることができますか?
クラスモード::プリンス( ファイル{'/tmp/file.yaml': =>ファイルを確認してください。 所有者 => 'root', グループ => 'root', モード => "0644", ソース => "puppet:///modules/othermod/file.yaml", 前 => Mod::Cl["タイトル"], } -> Mod::Cl{ "タイトル" : tmp_file => "/tmp/file.yaml", } } mod::cl 定義( 文字列 $tmp_file, ){ $tmp = loadyaml("$tmp_file") $tmp[var].each |整数 $i, hash[string, string] $var| { $mark=$var['マーク'] } }
ベストアンサー1
Puppetの私の経験によれば、「古い」/「必要」やソート(->)などの操作は一緒にうまく機能しません。ファイルが生成されない可能性があるため、ソートを削除してみてください。