人形のリソース依存関係

人形のリソース依存関係

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の私の経験によれば、「古い」/「必要」やソート(->)などの操作は一緒にうまく機能しません。ファイルが生成されない可能性があるため、ソートを削除してみてください。

おすすめ記事