#json #jq #export-to-csv #aws-cli
#json #jq #экспорт в csv #aws-cli
Вопрос:
Я работаю с интерфейсом командной строки AWS и хотел бы иметь возможность запрашивать экземпляры, чтобы узнать их имя и состояние. Пример:
instance 1, running instance 2, stopped
Я могу получить имя и состояние экземпляра с помощью этого запроса
aws ec2 describe-instances --output json --filters Name=tag:Name,Values=*"instance "* --query "Reservations[].Instances[]" | jq ".[] | .Tags, .State.Name"
Однако это дает мне массив объектов и одно значение.
[ { "Key": "Name", "Value": "instance 1" }, { "Key": "VPC", "Value": "the vpc" }, { "Key": "ami_backup", "Value": "false" }, ... ] "running"
Почти на месте. Как я могу объединить значение каждого объекта со строкой состояния, чтобы затем отфильтровать объект, чтобы получить только тот, где Key==Name
он находится ?
Я попытался использовать map
, но не смог придумать правильный синтаксис.
Ответ №1:
Считать:
.[] | (.Tags[] | select(.Key=="Name").Value) ", " .State.Name