如何列出具有Name标签值的EBS卷?

时间:2018-12-11 11:37:02

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

我当前在AWS cli命令下执行

 aws ec2 describe-volumes --query 'Volumes[*].[VolumeId,AvailabilityZone,InstanceId,State,VolumeType,Attachments[0].InstanceId]'

我得到的输出为

enter image description here

我还想在生成的输出中包括卷的名称(与Name标签关联的值)。我可以对CLI命令执行哪些附加操作?

2 个答案:

答案 0 :(得分:0)

您需要传递以下附加参数作为可选参数:

  • attachment.device-在块设备映射中指定的设备名称(例如/ dev / sda1)。
  • tag:key-分配给资源的标签的键/值组合。使用过滤器名称中的标记键和标记值作为过滤器值。例如,要查找所有具有带有关键字Owner和值TeamA的标签的资源,请指定tag:Owner作为过滤器名称,并指定TeamA作为过滤器值。
  • tag-key-分配给资源的标签的键。使用此过滤器可以找到分配了带有特定键的标签的所有资源,而与标签值无关。

答案 1 :(得分:0)

这也可以使用Boto3和Python完成:

import boto3

session = boto3.Session(profile_name="aws_account_a")
client = session.client('ec2', region_name="eu-west-2")

response = client.describe_volumes().get('Volumes', [])

for volume in response:
    for v in volume['Attachments']:
        print(volume['VolumeId'], volume['AvailabilityZone'], volume['State'], v['InstanceId'], volume['VolumeType'])