aws describe-instances查询标记

时间:2016-05-06 09:40:44

标签: amazon-web-services amazon-ec2 aws-cli

我正在尝试过滤我的输出for describe-instances,显示以下内容:
- instanceId
- 设备+音量 - 标签[Key == Name]

我的表达是

 aws ec2 describe-instances --filters Name=instance-state-name,Values=running --query "Reservations[*].Instances[].[InstanceId, BlockDeviceMappings[*].{DeviceName:DeviceName,VolumeName:Ebs.VolumeId}, Tags[*]]"

但是这给了我所有标签显示的输出。如何将其更改为“名称”标签?

3 个答案:

答案 0 :(得分:4)

您正在寻找JMESPath Filter Expression。试试这个:

aws ec2 describe-instances \
    --filters Name=instance-state-name,Values=running \
    --query 'Reservations[*].Instances[].[InstanceId, BlockDeviceMappings[*].{DeviceName:DeviceName,VolumeName:Ebs.VolumeId}, Tags[?Key==`Name`]]'

答案 1 :(得分:0)

这对我有用

aws ec2 describe-instances --filters  "Name=instance-state-name,Values=running" --query 'Reservations[].Instances[].[ [Tags[?Key==`Name`].Value][0][0],[Tags[?Key==`tag_component_name`].Value][0][0] ]' --output json --profile myprofile --region us-east-1

确保更改--output,--profile和--region参数

答案 2 :(得分:0)

要检查具有特定标签的实例。

aws --profile account1 ec2 describe-instances \
--filters "Name=tag-key,Values=Product" "Name=tag-value,Values=test" \
--region ap-southeast-1 --output table