パペットを使用して、次の内容の 3 つのファイルを作成する必要があります。
/tmp/f1.txt: hello /tmp/f1.txt
/tmp/f2.txt: hello /tmp/f2.txt
/tmp/f3.txt: hello /tmp/f3.txt
私は次のように試みます:
$path="/tmp/"
$my_files = ["$path/f1.txt", "$path/f2.txt", "$path/f3.txt"]
file { $my_files:
ensure => file,
content => "hello $name\n",
}
ただし、$name が定義されていないため、これは機能しません。
「反復」ごとにインスタンス化され、使用できる変数はありますか?
ps: 次のように新しいリソース タイプを作成できることを認識しています。
define file_with_content {
file { $name:
ensure => file,
content => "hello $name\n",
}
}
$path="/tmp/"
$my_files = ["$path/f1.txt", "$path/f2.txt", "$path/f3.txt"]
file_with_content { $my_files: }
しかし、これには新しいリソース タイプを作成する必要があり、私のコンテキストではこれを行うことができません (ここでは説明しません)。
問題は、新しいリソース タイプを定義したり、シェル コードを実行したりせずに、最初のコードを変更して機能させるにはどうすればよいかということです。