
Eu tenho um array definido no seguinte formato em hiera.
master_servers:
- "stage-01.com"
- "stage-02.com"
Estou tentando preencher o arquivo de configuração com ERB no seguinte formato
Discovery.zen.ping.unicast.hosts: ["stage-01.com", "stage-02.com"]
Tentei o seguinte no ERB, mas o array aparece como uma única string.
discovery.zen.ping.unicast.hosts: <%= scope['::profiles::xxx::master_servers'] %>
O profiles::xxx::master_servers
está fazendo corretamente as pesquisas hiera.
Como posso corrigir meu ERB?
Responder1
Expandindo o comentário de jordanm
- você pode usar a to_json
função do puppetlabs-stdlib
módulo -fonte.
No seu manifesto do Puppet:
class profiles::xxx(
$master_servers,
) {
$master_servers_json = to_json($master_servers)
...
}
No seu ERB:
discovery.zen.ping.unicast.hosts: <%= scope['::profiles::xxx::master_servers_json'] %>