как мне перечислить тома EBS со значением тега Name? - PullRequest
0 голосов
/ 11 декабря 2018

В настоящее время я выполняю команду ниже AWS cli

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

Я получаю вывод как

enter image description here

Я также хотел включитьИмя тома (значение, связанное с тегом Name) в сгенерированном выводе.Какое дополнение я могу сделать к команде CLI, чтобы сделать это?

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Это также можно сделать с помощью 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'])
0 голосов
/ 11 декабря 2018

Вам необходимо передать следующие дополнительные в качестве необязательных параметров:

  • attachment.device - Имя устройства, указанное в отображении блочного устройства (например, / dev / sda1).
  • тег: ключ - комбинация ключ / значение тега, назначенного ресурсу.Используйте ключ тега в имени фильтра и значение тега в качестве значения фильтра.Например, чтобы найти все ресурсы, которые имеют тег с ключом Owner и значением TeamA, укажите тег: Owner для имени фильтра и TeamA для значения фильтра.
  • tag-key - ключ теганазначен на ресурс.Используйте этот фильтр, чтобы найти все ресурсы, которым назначен тег с определенным ключом, независимо от значения тега.
...