web-dev-qa-db-ja.com

hieraからpuppetERBで配列出力を取得します

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を修正するにはどうすればよいですか?

1
nitins

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'] %>
2
Craig Watson