Как отфильтровать не равно в AWS CLI

Я пытаюсь найти все неоконные изображения:

aws ec2 describe-images --region us-east-2 --image-ids ami-** --filters "Name=platform, Values=windows"

Выше приведены все идентификаторы платформы Windows. Есть ли способ сделать это не внутри этого кли? Я попробовал Values!=, ‹>. Искал через stackoverflow, но ничего не нашел.


person NoviceMe    schedule 08.08.2019    source источник
comment
Вы хотите найти только свои собственные изображения или все общедоступные изображения? Если это только ваше собственное изображение, вам следует включить owner=self, иначе вы получите сотни возвращенных изображений.   -  person John Rotenstein    schedule 09.08.2019
comment
В aws cli нет обратной фильтрации, поэтому вам нужно использовать другие функции. См. Это   -  person Lamanus    schedule 09.08.2019


Ответы (2)


Этот код Python3 выведет список всех AMI вашей учетной записи, которые не Windows:

import boto3

ec2_client = boto3.client('ec2', region_name='us-east-2')

images = ec2_client.describe_images(Owners=['self'])

for image in images['Images']:
    if 'Platform' not in image:
        print(image['ImageId'])
person John Rotenstein    schedule 09.08.2019

Вы можете использовать запрос на команду cli, как это

aws ec2 describe-images --image-ids ami-** --region us-east-2 --query 'Images[?Platform != `windows`]'
person jmp    schedule 12.08.2019