':type dry_run: bool
:param dry_run: Set to True if the operation should not actually run.
:rtype: :class:`boto.ec2.image.CopyImage`
:return: Object containing the image_id of the copied image.'

def copy_image(self, source_region, source_image_id, name=None, description=None, client_token=None, dry_run=False, encrypted=None, kms_key_id=None):

    params = {'SourceRegion': source_region, 'SourceImageId': source_image_id}
    if (name is not None):
        params['Name'] = name
    if (description is not None):
        params['Description'] = description
    if (client_token is not None):
        params['ClientToken'] = client_token
    if (encrypted is not None):
        params['Encrypted'] = ('true' if encrypted else 'false')
    if (kms_key_id is not None):
        params['KmsKeyId'] = kms_key_id
    if dry_run:
        params['DryRun'] = 'true'
    return self.get_object('CopyImage', params, CopyImage, verb='POST')
