class SubscriptionReportProvider(object):
    """Interface to get reports for each subscription by source server and subscription name"""

    def get_root_report(self):
        """Get non-plain report

        :rtype: parallels.core.reports.model.report.Report
        """
        raise NotImplementedError()

    def get_subscription_report(self, name):
        """Get report of subscription

        :type name: str | unicode
        :rtype: parallels.core.reports.model.report.Report
        """
        raise NotImplementedError()