O mais próximo que eu chego é usando os seguintes comandos.
Este comando consegue listar todos os nomes de instâncias.
aws ec2 describe-instances --filters Name=vpc-id,Values=vpc-e2f17e8b --query 'Reservations[].Instances[].Tags[?Key==`Name`].Value[]'
Este comando consegue listar todos os endereços IP privados, ID da instância e TODAS as tags que eu não preciso. Eu só preciso do nome.
aws ec2 describe-instances --filters Name=vpc-id,Values=vpc-e2f17e8b | jq '.Reservations[].Instances[] | {PrivateIpAddress, InstanceId, Tags}'
Não sei por que não consigo executar o comando desta maneira:
aws ec2 describe-instances | jq '.["Reservations"]|.[]|.Instances|.[]|.PrivateIpAddress + " " + .InstanceId + " " + .Tags[?Key==`Name`].Value[]'
Este comando funciona, mas está mostrando todos os nomes das Tags Tags.
aws ec2 describe-instances | jq '.["Reservations"]|.[]|.Instances|.[]|.PrivateIpAddress + " " + .InstanceId + " " + .Tags'
Name
] .Value []" como um filtro para a saída do Valor do Nome da Chave só é possível após o aws-cli v1.3.0. E eu estou usando uma combinação de --filter e jq para obter a saída que eu quero. O comando mais próximo é instâncias de descrição do aws ec2 --filters Nome = vpc-id, Valores = vpc-e2f17e8b | jq '.Reservations []. Instâncias [] | {PrivateIpAddress, InstanceId, Tags} 'Eu só preciso saber como referenciar a Tag Key = Name usando jq.