Я пытаюсь выяснить, что такое поля Без тегов И Пустое значение для экземпляров EC2 при их фильтрации. Приведенная ниже функция работает для экземпляров, помеченных как Владелец со значением test. Однако в тот момент, когда я пробую что-нибудь вместо 'test' (Null, None, Not tagged, Empty value, 0 и т. Д.), функция либо возвращает каждый экземпляр или функция не возвращают ни одного из экземпляров. Я просмотрел бесчисленное количество страниц документации, и я очень благодарен за любую помощь. Если я не могу заставить это работать, моим следующим шагом будет использование Lambda, Tag Editor и Beautiful < strong> Soup, чтобы найти определенные экземпляры без тегов и пустые экземпляры и закрыть их.
import boto3
import logging
logger = logging.getLogger()
logger.setLevel(logging.INFO)
ec2 = boto3.resource('ec2')
def lambda_handler(event, context):
filters1 = [{'Name': 'instance-state-name',
'Values': ['running']}]
base = ec2.instances.filter(Filters=filters1)
filters2 = [{'Name': 'tag:Owner',
'Values': ['test']}]
instances = base.filter(Filters=filters2)
for instance in instances:
print(instance.id)
RunningInstances = [instance.id for instance in instances]
ec2.instances.filter(InstanceIds=RunningInstances).stop()