
Tengo una matriz definida en el siguiente formato en hiera.
master_servers:
- "stage-01.com"
- "stage-02.com"
Estoy intentando completar el archivo de configuración con ERB en el siguiente formato
descubrimiento.zen.ping.unicast.hosts: ["stage-01.com", "stage-02.com" ]
Intenté lo siguiente en ERB, pero la matriz aparece como una sola cadena.
discovery.zen.ping.unicast.hosts: <%= scope['::profiles::xxx::master_servers'] %>
Está profiles::xxx::master_servers
realizando correctamente las búsquedas de hiera.
¿Cómo puedo corregir mi ERB?
Respuesta1
Ampliando el comentario de jordanm
- puede usar la to_json
función del puppetlabs-stdlib
módulo -fuente.
En tu manifiesto de Puppet:
class profiles::xxx(
$master_servers,
) {
$master_servers_json = to_json($master_servers)
...
}
En su ERB:
discovery.zen.ping.unicast.hosts: <%= scope['::profiles::xxx::master_servers_json'] %>