import argparse
import boto
parser = argparse.ArgumentParser(description=\'Launch ec2 instances\')
parser.add_argument(\'--access-key\', type=str, metavar=\'key\', help=\'Your AWS Access Key\', action=\'store\')
parser.add_argument(\'--secret\', type=str, metavar=\'secret\', help=\'Your AWS secret\', action=\'store\')
parser.add_argument(\'--keypair\', type=str, metavar=\'keyfile\', help=\'Stored Keypair\', action=\'store\')
parser.add_argument(\'--image\', type=str, metavar=\'ami\', help=\'AMI Image id\', action=\'store\')
parsed = parser.parse_args()
try:
ec2 = boto.connect_ec2(parsed.key, parsed.secret)
packages = """#/bin/sh
apt-get update
apt-get -y install nginx zsh"""
reservation = ec2.run_instances(image_id=parsed.ami, key_name=parsed.keyfile, user_data = packages)
for r in ec2.get_all_instances():
if r.id == reservation.id:
break
print r.instances[0].public_ip
except AttributeError, e:
parser.print_help()