Reputation: 6185
I created a boto3 script
1 import boto3
2
3 #STATUSES = ( 'available', 'pending' )
4 REGIONS = ('us-west-1', 'us-east-1', 'us-west-2')
5 REGIONS_H = ('N. California', 'N. Virginia', 'Oregon')
6
7 for i in range(len(REGIONS)):
8 region = REGIONS[i]
9 region_h = REGIONS_H[i]
10 print()
11 print("Images in {}".format(region_h))
12 print("-----------------------")
13 rds = boto3.setup_default_session(region_name=region)
14 rds = boto3.client('rds')
15
16 ec2 = boto3.resource('ec2')
17 images = ec2.images.filter(Owners=['self'])
18 for image in images:
19 print("[{}] ( {} {} {} {} )".format(image.state, image.id, image.image_type, image.architecture, image.description, image.platform))
that gives me the following output (trancated for bravity):
Images in N. California
-----------------------
[available] ( ami-02efeb026dba996f8 machine x86_64 Base system for testing Progressive install )
[available] ( ami-046bd9fc47f29a58f machine x86_64 bb-rhel7-install-5 )
[available] ( ami-04c2959b96500208c machine x86_64 bb-ubuntu-install-3 )
Is there a way to add to line 19, so I could display who created the AMI?
Upvotes: 0
Views: 1004
Reputation: 430
there are multiple ways to access AMI metadata and in this case AMI metadata are being accessed using ec2 resources so you need to referEC2 resources
and the call to get owner id should be image.owner-id
Upvotes: 0