I'm trying to find instances that DONT have a certain tag.
For instance I want all instances that don't have the Foo tag. I also want instances that don't have the Foo value equal to Bar.
This is what I'm doing now:
import boto3
def aws_get_instances_by_name(name):
"""Get EC2 instances by name"""
ec2 = boto3.resource('ec2')
instance_iterator = ec2.instances.filter(
Filters=[
{
'Name': 'tag:Name',
'Values': [
name,
]
},
{
'Name': 'tag:Foo',
'Values': [
]
},
]
)
return instance_iterator
This is returning nothing.
What is the correct way?
Here's some code that will display the instance_id
for instances without a particular tag:
import boto3
instances = [i for i in boto3.resource('ec2', region_name='ap-southeast-2').instances.all()]
# Print instance_id of instances that do not have a Tag of Key='Foo'
for i in instances:
if 'Foo' not in [t['Key'] for t in i.tags]:
print i.instance_id
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.