def GetReportDescriptor(cls):
    """Returns plugins' metadata in ApiReportDescriptor."""
    if cls.TYPE is None:
      raise ValueError("%s.TYPE is unintialized." % cls)

    if cls.TITLE is None:
      raise ValueError("%s.TITLE is unintialized." % cls)

    if cls.SUMMARY is None:
      raise ValueError("%s.SUMMARY is unintialized." % cls)

    return rdf_report_plugins.ApiReportDescriptor(
        type=cls.TYPE,
        name=cls.__name__,
        title=cls.TITLE,
        summary=cls.SUMMARY,
        requires_time_range=cls.REQUIRES_TIME_RANGE)