def setup_logging(verbose=False): level = logutil.INFO if verbose: level = logutil.DEBUG if not verbose > 1: logutil.quiet_boto_logging() return logutil.setup_root_logger(stdout=level)
parser.add_argument('-t', '--instance-type', default='m3.medium', help="Instance type to use to build AMI. " "Default: %(default)s") parser.add_argument('-g', '--security-group', default='default', help="Security group of instance used to build the " "AMI. Must allow SSH (tcp port 22). " "Default: %(default)s") parser.add_argument('region', choices=regions, help='The region to build the ami in.') args = parser.parse_args() log_level = logutil.INFO if args.verbose: log_level = logutil.DEBUG logger = logutil.setup_root_logger(stdout=log_level) if not args.verbose > 2: logutil.quiet_boto_logging() base_image_id = get_ubuntu_ami(args.region) logger.info("Building from base ubuntu AMI %s.", base_image_id) logger.debug("Connecting to EC2 API in region %s.", args.region) conn = connect_to_region(args.region) base_ami = conn.get_image(base_image_id) logger.debug("Launching instance with AMI %s.", base_image_id) reservation = base_ami.run(key_name=args.ssh_key, security_groups=[args.security_group, ], user_data=generate_cloud_config(), instance_type=args.instance_type) instance = reservation.instances[0] wait_for_instance_state(instance, 'running')