1

パペットを使用して、次の内容の 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: }

しかし、これには新しいリソース タイプを作成する必要があり、私のコンテキストではこれを行うことができません (ここでは説明しません)。

問題は、新しいリソース タイプを定義したり、シェル コードを実行したりせずに、最初のコードを変更して機能させるにはどうすればよいかということです。

4

1 に答える 1