Я пытаюсь создать запрос JMESpath с помощью AWS CLI, который печатает таблицу, показывающую несколько выбранных свойств в виде строк. Я могу получить то, что хочу, используя jq
, но я хочу сделать это только с awscli
, чтобы он мог быть отформатирован в виде таблицы. Это возможно? Ниже приведен результат, который я хочу получить с использованием синтаксиса построения объекта jq
:
% aws --output json ec2 describe-instances --instance-id $id --query 'Reservations[].Instances[0]' | jq '.[0] | {InstanceType,PrivateIpAddress,LaunchTime}'
{
"InstanceType": "g4dn.4xlarge",
"PrivateIpAddress": "172.31.15.37",
"LaunchTime": "2021-02-17T14:49:30+00:00"
}
Самое близкое, что я пришел, - это использование хэша с множественным выбором, но это делает каждый элемент столбцом, поэтому он не выглядит хорошо, если элементов больше, чем несколько.
% aws --output table ec2 describe-instances --instance-id $id --query 'Reservations[].Instances[0].{size: InstanceType, PrivateIP: PrivateIpAddress, LaunchTime: LaunchTime}'
---------------------------------------------------------------
| DescribeInstances |
+---------------------------+----------------+----------------+
| LaunchTime | PrivateIP | size |
+---------------------------+----------------+----------------+
| 2021-02-17T14:49:30+00:00| 172.31.15.37 | g4dn.4xlarge |
+---------------------------+----------------+----------------+