фильтровать экземпляры на основе нескольких тегов - PullRequest
0 голосов
/ 06 марта 2019

Привет! Я не могу отфильтровать экземпляры на основе нескольких тегов. Это может сделать для одного условия фильтра, когда я предоставляю два тега в фильтре, он выходит как ноль. Я думаю, что это принимает «И» в фильтре. Есть ли способ сказать, как ИЛИ в состоянии фильтра. У нас есть ключи тегов как для среды, так и для среды, было бы полезно получить обе детали, а не использовать два условия фильтра по отдельности.

#define the connection region ec2 = boto3.client('ec2', region_name="us-east-1") s3 = boto3.client('s3')

custom_filter = [
    {
        'Name':'tag:Enviroment', 
        'Values': ['*']
    },   
    {
        'Name':'tag:environment',
        'Values': ['*']
    } 
]
     def lambda_handler(event,context):
    response = ec2.describe_instances(Filters=custom_filter)
    Reservation_details = response["Reservations"]
    for instance_details in Reservation_details:
        instances = instance_details.get("Instances")
        print(instances)

1 Ответ

0 голосов
/ 06 марта 2019

AFAIU, каждый элемент в списке фильтров рассматривается как пересечение, а элементы в VALUES списке элементов фильтра объединяются.

Для фильтрации по ключу тега, где экземпляры имеют ключ тега Environment или environment, не заботясь о значении ключа тега, вы можете написать custom_filter, чтобы быть:

custom_filter = [
    {
        'Name':'tag-key', 
        'Values': ['Environment', 'environment']
    }
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...