bd8c1e4567
* Adding owner-id/OwnerId to the AMI classes to allow the value to be specified to test filtering images based on owner. * Added default AMIs and filtering by owner-id * Fixed some tests * Fixed more random tests * Updated MANIFEST * .
41 lines
1.6 KiB
Python
41 lines
1.6 KiB
Python
import boto3
|
|
import json
|
|
|
|
# Taken from free tear list when creating an instance
|
|
instances = [
|
|
'ami-760aaa0f', 'ami-bb9a6bc2', 'ami-35e92e4c', 'ami-785db401', 'ami-b7e93bce', 'ami-dca37ea5', 'ami-999844e0',
|
|
'ami-9b32e8e2', 'ami-f8e54081', 'ami-bceb39c5', 'ami-03cf127a', 'ami-1ecc1e67', 'ami-c2ff2dbb', 'ami-12c6146b',
|
|
'ami-d1cb19a8', 'ami-61db0918', 'ami-56ec3e2f', 'ami-84ee3cfd', 'ami-86ee3cff', 'ami-f0e83a89', 'ami-1f12c066',
|
|
'ami-afee3cd6', 'ami-1812c061', 'ami-77ed3f0e', 'ami-3bf32142', 'ami-6ef02217', 'ami-f4cf1d8d', 'ami-3df32144',
|
|
'ami-c6f321bf', 'ami-24f3215d', 'ami-fa7cdd89', 'ami-1e749f67', 'ami-a9cc1ed0', 'ami-8104a4f8'
|
|
]
|
|
|
|
client = boto3.client('ec2', region_name='eu-west-1')
|
|
|
|
test = client.describe_images(ImageIds=instances)
|
|
|
|
result = []
|
|
for image in test['Images']:
|
|
try:
|
|
tmp = {
|
|
'ami_id': image['ImageId'],
|
|
'name': image['Name'],
|
|
'description': image['Description'],
|
|
'owner_id': image['OwnerId'],
|
|
'public': image['Public'],
|
|
'virtualization_type': image['VirtualizationType'],
|
|
'architecture': image['Architecture'],
|
|
'state': image['State'],
|
|
'platform': image.get('Platform'),
|
|
'image_type': image['ImageType'],
|
|
'hypervisor': image['Hypervisor'],
|
|
'root_device_name': image['RootDeviceName'],
|
|
'root_device_type': image['RootDeviceType'],
|
|
'sriov': image.get('SriovNetSupport', 'simple')
|
|
}
|
|
result.append(tmp)
|
|
except Exception as err:
|
|
pass
|
|
|
|
print(json.dumps(result, indent=2))
|