'Gets a single snapshot.'

def get_snapshot(self, volume_name, snapshot_name):

    api_args = {'query': {'snapshot-info': {'name': snapshot_name, 'volume': volume_name}}, 'desired-attributes': {'snapshot-info': {'name': None, 'volume': None, 'busy': None, 'snapshot-owners-list': {'snapshot-owner': None}}}}
    result = self.send_request('snapshot-get-iter', api_args)
    self._handle_get_snapshot_return_failure(result, snapshot_name)
    attributes_list = (result.get_child_by_name('attributes-list') or netapp_api.NaElement('none'))
    snapshot_info_list = attributes_list.get_children()
    self._handle_snapshot_not_found(result, snapshot_info_list, snapshot_name, volume_name)
    snapshot_info = snapshot_info_list[0]
    snapshot = {'name': snapshot_info.get_child_content('name'), 'volume': snapshot_info.get_child_content('volume'), 'busy': strutils.bool_from_string(snapshot_info.get_child_content('busy'))}
    snapshot_owners_list = (snapshot_info.get_child_by_name('snapshot-owners-list') or netapp_api.NaElement('none'))
    snapshot_owners = set([snapshot_owner.get_child_content('owner') for snapshot_owner in snapshot_owners_list.get_children()])
    snapshot['owners'] = snapshot_owners
    return snapshot
