def search_snapshot(snapshot_list, name):
    """Search recursively for the snapshot with the specified name.

    Args:
        snapshot_list (list): vm.snapshot.rootSnapshotList
        name (string) : snapshot name

    Return:
        vim.vm.Snapshot else None
    """
    output = None
    for snap in snapshot_list:
        if snap.name == name:
            output = snap.snapshot
            break
        if snap.childSnapshotList != []:
            output = search_snapshot(snap.childSnapshotList, name)
    return output