como criar matriz de matrizes de hiera em fantoche

2

Eu tenho uma situação onde eu tenho que gerar uma matriz de matrizes que são declaradas em hiera em fantoches em diferentes hierarquias.

Vamos dizer que em nível de ambiente eu tenho uma declaração

test:
 - [a,b,c,d]
 - [e,f,g,h]

e no common.yaml eu tenho uma declaração

test: 
 - [i,j,k,l]
 - [m,n,o,p]

Agora, quando eu passar o valor hiera_array , quero a saída como

[[i,j,k,l],[m,n,o,p],[a,b,c,d],[e,f,g,h]]

atualmente, a saída é [i,j,k,l......e,f,g,h] basicamente em um valor de matriz mesclada.

Eu quero isso em uma matriz de formato de matriz para que eu possa passar isso para um modelo e aplicá-lo à lógica necessária. Por favor, me diga se há alguma maneira de conseguir isso.

    
por Arijit Ghosh 12.11.2015 / 22:33

1 resposta

2

Você está, acredito, condenado (em geral). A hiera_array documentação menciona especificamente que os valores retornados são uma "matriz simplificada". Clarifica ainda mais a situação:

If any of the matched values are arrays, they’re flattened and included in the results.

Agora, se o seu exemplo é preciso quanto à estrutura, e cada um dos seus arrays tem garantia de ter quatro elementos escalares, você pode fazer alguns hacks para levar o array a quatro elementos por vez e "reconstruir" a estrutura original. Eu não sei de uma função interna para fazer isso, mas uma função de analisador personalizada para agrupar os elementos em grupos de quatro não seria difícil de escrever.

    
por 12.11.2015 / 22:55

Tags