Existe uma ferramenta para achatar a estrutura yaml como esta:
foo:
bar:
baz: true
nisso:
foo.bar.baz = true
não tenho certeza de qual é esse nome de sintaxe
context: Eu preciso disso para hcl, definindo muitos valores como este:
set {
name = "foo.bar.baz"
value = false
}
isso é para o provedor de leme no terraform, não pode usar diretamente o uso de json ou yaml, tem que definir as propriedades que deseja alterar uma a uma (preciso desabilitar muitas coisas para verificar por que não está funcionando).
Usando Andrey Kislyuk
yq
para obter todos os caminhos para os valores booleanos no documento de entrada, para cada caminho, junte os elementos do caminho com pontos e, em seguida, imprima cada caminho pontilhado com os valores encontrados nesse caminho.Exemplo de documento de entrada:
Saída resultante:
Para obter apenas os caminhos que terminam com uma chave chamada
enabled
que possui umtrue
valor booleano (como mostrado em um exemplo em outro lugar ):Não consigo encontrar nada, então eu mesmo farei '__')
https://github.com/kokizzu/yamlflatten