Lo más cercano que tengo es usar los siguientes comandos.
Este comando logra enumerar todos los nombres de instancias.
aws ec2 describe-instances --filters Name=vpc-id,Values=vpc-e2f17e8b --query 'Reservations[].Instances[].Tags[?Key==`Name`].Value[]'
Este comando logra enumerar todas las direcciones IP privadas, id de instancia y TODAS las etiquetas que no necesito. Solo necesito el nombre.
aws ec2 describe-instances --filters Name=vpc-id,Values=vpc-e2f17e8b | jq '.Reservations[].Instances[] | {PrivateIpAddress, InstanceId, Tags}'
No estoy seguro de por qué no puedo ejecutar comandos de esta manera:
aws ec2 describe-instances | jq '.["Reservations"]|.[]|.Instances|.[]|.PrivateIpAddress + " " + .InstanceId + " " + .Tags[?Key==`Name`].Value[]'
Este comando funciona pero muestra todos los nombres de las etiquetas clave.
aws ec2 describe-instances | jq '.["Reservations"]|.[]|.Instances|.[]|.PrivateIpAddress + " " + .InstanceId + " " + .Tags'
Name
] .Valor []" como filtro para la salida de Valor de nombre de clave solo es posible después de aws-cli v1.3.0. Y estoy usando una combinación de --filter y jq para obtener la salida que quiero. El comando más cercano es aws ec2 describe-instancia --filtros Nombre = vpc-id, Valores = vpc-e2f17e8b | jq '. Reservas []. Instancias [] | {PrivateIpAddress, InstanceId, Tags} 'Solo necesito saber cómo hacer referencia a Tag Key = Name usando jq.