J'ai un tableau d'objets de différents types qui se réfèrent les uns aux autres avec des UUID (un fichier terraform.tfstate). Je voudrais sélectionner une valeur d'un tel objet basé sur l'apparition d'une valeur différente dans un autre objet, où les deux objets sont liés par l'un de ces UUID.jq: recherche par valeur à partir d'un autre élément de tableau
A titre d'exemple, je peux le faire:
$ jq '.modules[].resources[]
| select(.type == "openstack_compute_instance_v2" and
.primary.attributes.name == "jumpbox").primary.id' terraform.tfstate
"5edfe2bf-94df-49d5-8118-3e91fb52946b"
$ jq '.modules[].resources[]
| select(.type =="openstack_compute_floatingip_associate_v2" and
.primary.attributes.instance_id == "5edfe2bf-94df-49d5-8118-3e91fb52946b").primary.attributes.floating_ip' terraform.tfstate
"10.120.241.21"
me donner l'adresse IP flottante externe de la machine virtuelle « de JumpBox » basée sur son nom.
Je voudrais faire que tout un appel de jq. Est-ce possible?
Merci beaucoup! Cela a du sens. – dhaines