Como referenciar uma variável heira de outra parte da hierarquia?

3

Então, suponha que em um arquivo hiera yaml muito específico eu defino uma variável, como "env_name".

env_name: "dev-unstable"

Agora, em um arquivo hiera mais geral, eu gostaria de interpolar essa variável em uma string.

server_name: "service-%{env_name}.%{::domain}"

Meu teste parece implicar que variáveis hiera de outras partes da hierarquia não são disponibilizadas para interpolação em casos gerais. Isso é verdade, infelizmente?

    
por Mojo 16.09.2015 / 19:03

1 resposta

3

Você pode usar as funções de pesquisa Hiera no Hiera. Documentação aqui: link

No seu caso, você usaria:

server_name: "service-%{hiera('env_name')}.%{::domain}"

Esta é uma pesquisa de prioridade e obterá o valor da chave env_name do nível de hierarquia mais alto (mais específico) no qual encontrar a chave.

Isso requer o Hiera 1.3 ou superior.

    
por 16.09.2015 / 19:26

Tags