Aws api and python boto
wordpress meta
title: 'AWS API and Python Boto'
date: '2017-01-22T13:10:40-06:00'
status: publish
permalink: /aws-api-and-python-boto
author: admin
excerpt: ''
type: post
id: 1035
category:
- AWS
- Python
tag: []
post_format: []
title: 'AWS API and Python Boto'
date: '2017-01-22T13:10:40-06:00'
status: publish
permalink: /aws-api-and-python-boto
author: admin
excerpt: ''
type: post
id: 1035
category:
- AWS
- Python
tag: []
post_format: []
Quick note on connection to EC2 to list instances.
- Ensure IAM User permissions. In my case I tried EC2FullAccess.
- Ensure you have your access and secret key handy.
- This example just cycle through regions and list any instances.
import argparse
import boto.ec2
access_key = ''
secret_key = ''
def get_ec2_instances(region):
ec2_conn = boto.ec2.connect_to_region(region,
aws_access_key_id=access_key,
aws_secret_access_key=secret_key)
reservations = ec2_conn.get_all_reservations()
for reservation in reservations:
print region+':',reservation.instances
for vol in ec2_conn.get_all_volumes():
print region+':',vol.id
def main():
regions = ['us-east-1','us-west-1','us-west-2','eu-west-1','sa-east-1',
'ap-southeast-1','ap-southeast-2','ap-northeast-1']
parser = argparse.ArgumentParser()
parser.add_argument('access_key', help='Access Key');
parser.add_argument('secret_key', help='Secret Key');
args = parser.parse_args()
global access_key
global secret_key
access_key = args.access_key
secret_key = args.secret_key
for region in regions: get_ec2_instances(region)
if __name__ =='__main__':main()
Example:
$ python list.py myaccess_key mysecret_key
us-east-1: [Instance:i-1aac5699]
us-east-1: vol-d121290e