私の環境では、パペットでボールが転がっています。モジュール自体に命名規則に基づくファイルが含まれているかどうかに基づいて、条件付きのfile
リソースが必要です。
したがって、視覚的には、「mysql」という名前のモジュールとそのレイアウトを想定します。
mysql/
/files
/etc/
my.cnf
my.hostname1.cnf
my.hostname2.cnf
/manifests
init.pp
...
そのため、モジュールのリソースが存在するかどうかをブロックで確認し、それに応じて疑似用語でアクションを実行する必要があります。
file { '/etc/my.cnf':
if -f 'puppet:///mysql/etc/my.$hostname.cnf' {
source => 'puppet:///mysql/etc/my.$hostname.cnf'
}
else {
source => 'puppet:///mysql/etc/my.cnf'
}
}
この方法では、ホスト固有のcaseステートメントを使用してcsvファイルまたは.pp
ファイルを管理する必要はありません-これは可能ですか?
現在の リソースファイルタイプのドキュメント は、file{'/etc/my.cnf': source => [ "puppet:///mysql/etc/my.$hostname.cnf" , "puppet:///mysql/etc/my.cnf" ] }
を実行できることを指定しています