Source code for horizon.usage.tables

from horizon import tables
from horizon.templatetags.sizeformat import mbformat


class CSVSummary(tables.LinkAction):
    name = "csv_summary"
    verbose_name = _("Download CSV Summary")
[docs] classes = ("btn-download",) def get_link_url(self, usage=None): return self.table.kwargs['usage'].csv_link()
[docs] memory = tables.Column('memory_mb', verbose_name=_("RAM"), filters=(mbformat,)) hours = tables.Column('vcpu_hours', verbose_name=_("VCPU Hours"), filters=(lambda v: floatformat(v, 2),)) class GlobalUsageTable(BaseUsageTable): tenant = tables.Column('tenant_id', verbose_name=_("Project ID")) disk_hours = tables.Column('disk_gb_hours',
[docs] verbose_name=_("Disk GB Hours"), filters=(lambda v: floatformat(v, 2),)) def get_object_id(self, datum): return datum.tenant_id class Meta: name = "global_usage" verbose_name = _("Usage Summary") columns = ("tenant", "vcpus", "disk", "memory", "hours", "disk_hours") table_actions = (CSVSummary,) multi_select = False class TenantUsageTable(BaseUsageTable): instance = tables.Column('name', verbose_name=_("Instance Name")) uptime = tables.Column('uptime_at',
[docs] verbose_name=_("Uptime"), filters=(timesince,)) def get_object_id(self, datum): return id(datum) class Meta: name = "tenant_usage" verbose_name = _("Usage Summary") columns = ("instance", "vcpus", "disk", "memory", "uptime") table_actions = (CSVSummary,) multi_select = False