Найближче у мене є використання наступних команд.
Ця команда керує списками всіх назв екземплярів.
aws ec2 describe-instances --filters Name=vpc-id,Values=vpc-e2f17e8b --query 'Reservations[].Instances[].Tags[?Key==`Name`].Value[]'
Цією командою вдається перелічити всі приватні IP-адреси, ідентифікатор екземпляра та ВСІ теги, які мені не потрібні. Мені просто потрібно ім'я.
aws ec2 describe-instances --filters Name=vpc-id,Values=vpc-e2f17e8b | jq '.Reservations[].Instances[] | {PrivateIpAddress, InstanceId, Tags}'
Я не впевнений, чому я не можу виконати команду так:
aws ec2 describe-instances | jq '.["Reservations"]|.[]|.Instances|.[]|.PrivateIpAddress + " " + .InstanceId + " " + .Tags[?Key==`Name`].Value[]'
Ця команда працює, але в ній відображаються всі назви ключових тегів.
aws ec2 describe-instances | jq '.["Reservations"]|.[]|.Instances|.[]|.PrivateIpAddress + " " + .InstanceId + " " + .Tags'
Name
Тегів [? Ключ == ] .Value []" як фільтра для виводу значення ключового імені можливе лише після aws-cli v1.3.0. І я використовую комбінацію --filter та jq, щоб отримати потрібний результат. Найближча команда aws ec2 описує-екземпляри --filters Name = vpc-id, Значення = vpc-e2f17e8b | jq '.Резервації []. Екземпляри [] | {PrivateIpAddress, InstanceId, Tags} 'Мені просто потрібно знати, як посилатися на тег-ключ = Ім'я за допомогою jq.