'Copies a point-in-time snapshot of an Amazon Elastic Block Store
(Amazon EBS) volume and stores it in Amazon Simple Storage Service
(Amazon S3). You can copy the snapshot within the same region or from
one region to another. You can use the snapshot to create new Amazon
EBS volumes or Amazon Machine Images (AMIs).
:type source_region: str
:param source_region: The ID of the AWS region that contains the
snapshot to be copied (e.g \'us-east-1\', \'us-west-2\', etc.).
:type source_snapshot_id: str
:param source_snapshot_id: The ID of the Amazon EBS snapshot to copy
:type description: str
:param description: A description of the new Amazon EBS snapshot.
:type dry_run: bool
:param dry_run: Set to True if the operation should not actually run.
:rtype: str
:return: The snapshot ID'

def copy_snapshot(self, source_region, source_snapshot_id, description=None, dry_run=False):

    params = {'SourceRegion': source_region, 'SourceSnapshotId': source_snapshot_id}
    if (description is not None):
        params['Description'] = description
    if dry_run:
        params['DryRun'] = 'true'
    snapshot = self.get_object('CopySnapshot', params, Snapshot, verb='POST')
    return snapshot.id
