次のパペットの問題を解決する方法を考えています: 文字列の配列に基づいて複数のファイルを作成したいです。複雑なのは、ファイルを含む複数のディレクトリを作成したいということです:
dir1/
fileA
fileB
dir2/
fileA
fileB
fileC
問題は、ファイル リソースのタイトルが一意でなければならないことです。したがって、ファイル名を配列に保持する場合は、カスタムの方法で配列を反復処理して、ファイル名にディレクトリ名を後置できるようにする必要があります。
$file_names = ['fileA', 'fileB']
$file_names_2 = [$file_names, 'fileC']
file {'dir1': ensure => directory }
file {'dir2': ensure => directory }
file { $file_names: path = 'dir1', ensure =>present, }
file { $file_names_2: path = 'dir2', ensure =>present, }
ファイルリソースのタイトルが衝突するため、これは機能しません。したがって、たとえばディレクトリ名をファイルタイトルに追加する必要がありますが、これにより、ファイルの配列が連結され、複数のファイルとして扱われなくなります...
ああ..
file { "${file_names}-dir1": path = 'dir1', ensure =>present, }
file { "${file_names_2}-dir2": path = 'dir1', ensure =>present, }
ファイル リソース自体を繰り返す必要なく、この問題を解決する方法。ありがとう