Don't require Name param on RegisterImage (even though EC2 docs say it is required) and change Image to ImageLocation. Fixes issue 323: - http://code.google.com/p/boto/issues/detail?id=323 - http://code.google.com/p/boto/source/detail?r=1448 --- boto-1.9b/boto/ec2/connection.py 2009-12-21 14:59:03.000000000 +0100 +++ boto-1.9b/boto/ec2/connection.py.image 2010-02-09 01:36:11.000000000 +0100 @@ -176,11 +176,11 @@ except IndexError: # None of those images available return None - def register_image(self, name, description=None, image_location=None, + def register_image(self, name=None, description=None, image_location=None, architecture=None, kernel_id=None, ramdisk_id=None, root_device_name=None, block_device_map=None): """ - Register an image. + Register an image. Valid only for EBS-based images. :type name: string :param name: The name of the AMI. @@ -210,7 +210,9 @@ :rtype: string :return: The new image id """ - params = {'Name': name} + params = {} + if name: + params['Name'] = name if description: params['Description'] = description if architecture: @@ -220,7 +222,7 @@ if ramdisk_id: params['RamdiskId'] = ramdisk_id if image_location: - params['Location'] = image_location + params['ImageLocation'] = image_location if root_device_name: params['RootDeviceName'] = root_device_name if block_device_map: