@classmethod
def list(cls, context, filters=None):
    """Return a list of ControlpathID objects."""
    if filters:
        sort_dir = filters.pop('sort_dir', 'desc')
        sort_key = filters.pop('sort_key', 'created_at')
        limit = filters.pop('limit', None)
        marker = filters.pop('marker_obj', None)
        db_cps = cls.dbapi.control_path_get_by_filters(context, filters,
            sort_dir=sort_dir, sort_key=sort_key, limit=limit, marker=marker)
    else:
        db_cps = cls.dbapi.control_path_list(context)
    obj_cp_list = cls._from_db_object_list(db_cps, context)
    return obj_cp_list
