
hiera に次の形式で定義された配列があります。
master_servers:
- "stage-01.com"
- "stage-02.com"
私は次の形式でERBを使用して設定ファイルを入力しようとしています
discovery.zen.ping.unicast.hosts: ["stage-01.com", "stage-02.com" ]
ERB で次のことを試しましたが、配列は単一の文字列として出力されます。
discovery.zen.ping.unicast.hosts: <%= scope['::profiles::xxx::master_servers'] %>
profiles::xxx::master_servers
hiera 検索が正しく実行されています。
ERB を修正するにはどうすればいいですか?
答え1
コメントを拡張する- モジュールから関数jordanm
を使用できます-to_json
puppetlabs-stdlib
ソース。
Puppet マニフェストで次の操作を実行します。
class profiles::xxx(
$master_servers,
) {
$master_servers_json = to_json($master_servers)
...
}
ERB では:
discovery.zen.ping.unicast.hosts: <%= scope['::profiles::xxx::master_servers_json'] %>