Le plus proche que j'obtiens utilise les commandes suivantes.
Cette commande parvient à répertorier tous les noms d'instances.
aws ec2 describe-instances --filters Name=vpc-id,Values=vpc-e2f17e8b --query 'Reservations[].Instances[].Tags[?Key==`Name`].Value[]'
Cette commande parvient à répertorier toutes les adresses IP privées, les identifiants d'instance et TOUTES les balises dont je n'ai pas besoin. J'ai juste besoin du nom.
aws ec2 describe-instances --filters Name=vpc-id,Values=vpc-e2f17e8b | jq '.Reservations[].Instances[] | {PrivateIpAddress, InstanceId, Tags}'
Je ne sais pas pourquoi je ne peux pas exécuter la commande comme ceci:
aws ec2 describe-instances | jq '.["Reservations"]|.[]|.Instances|.[]|.PrivateIpAddress + " " + .InstanceId + " " + .Tags[?Key==`Name`].Value[]'
Cette commande fonctionne mais elle affiche tous les noms des clés des balises.
aws ec2 describe-instances | jq '.["Reservations"]|.[]|.Instances|.[]|.PrivateIpAddress + " " + .InstanceId + " " + .Tags'
Name
] .Value []" comme filtre pour la sortie Key Name Value n'est possible qu'après aws-cli v1.3.0. Et j'utilise une combinaison de --filter et jq pour obtenir la sortie que je veux. La commande la plus proche est aws ec2 describe-instances --filters Name = vpc-id, Values = vpc-e2f17e8b | jq '.Reservations []. Instances [] | {PrivateIpAddress, InstanceId, Tags} 'J'ai juste besoin de savoir comment référencer le Tag Key = Name à l'aide de jq.