Hieraに次の形式で定義された配列があります。
master_servers:
- "stage-01.com"
- "stage-02.com"
設定ファイルに次の形式のERBを入力しようとしています
discovery.zen.ping.unicast.hosts:["stage-01.com"、 "stage-02.com"]
ERBで次のことを試しましたが、配列が1つの文字列として外れます。
discovery.zen.ping.unicast.hosts: <%= scope['::profiles::xxx::master_servers'] %>
profiles::xxx::master_servers
はhieraルックアップを正しく実行しています。
ERBを修正するにはどうすればよいですか?
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'] %>