Самое близкое, что у меня есть, это использование следующих команд.
Эта команда управляет списком всех имен экземпляров.
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 description-instances --filters Name = vpc-id, Values = vpc-e2f17e8b | jq '.Reservations []. Экземпляры [] | {PrivateIpAddress, InstanceId, Tags} 'Мне просто нужно знать, как ссылаться на тег Key Key = Name с помощью jq.Ответы:
Вам необходимо избежать обратной косой черты, чтобы правильно отформатировать ответ.
Так что это фактическая команда, которую вы хотите:
И тебе не нужно
.Value[]
. Вы можете просто использовать.Value
, и это даст тот же результат.Это потрясающе, кстати. Я буду реализовывать это сам!
ИСПРАВЛЕНИЕ: Выше не будет работать, если значение
.Value
«Нет». Это работает лучше:источник
Попробуй это
источник
|
это какой-то фильтр?Приведенные выше ответы в порядке, но мой фаворит такой же;
фактически его можно поместить в список функций BASH;
затем просто позвоните из командной строки как «awsls»
источник
Что-то вроде этого?
источник
Я добавил фильтр, например, состояние «работает». Размещение здесь на случай, если это будет полезно для всех.
Мой вариант использования немного отличается, я генерирую файлы хоста Ansible, поэтому я просто хочу, чтобы частный IP # имя был на всех запущенных хостах.
источник
Добавление это для людей, которые найдут этот пост при поиске, как получить информацию вашего экземпляра. Вы также можете добавить VPC в оператор выбора, чтобы получить его.
В powershell вы можете использовать:
С AWS CLI вы можете использовать:
источник