class RoleTable(BaseTable): pk = ToggleColumn() name = tables.LinkColumn() prefix_count = LinkedCountColumn( viewname="ipam:prefix_list", url_params={"role": "slug"}, verbose_name="Prefixes", ) vlan_count = LinkedCountColumn(viewname="ipam:vlan_list", url_params={"role": "slug"}, verbose_name="VLANs") actions = ButtonsColumn(Role, pk_field="slug") class Meta(BaseTable.Meta): model = Role fields = ( "pk", "name", "slug", "prefix_count", "vlan_count", "description", "weight", "actions", ) default_columns = ( "pk", "name", "prefix_count", "vlan_count", "description", "actions", )
class RIRTable(BaseTable): pk = ToggleColumn() name = tables.LinkColumn() is_private = BooleanColumn(verbose_name="Private") aggregate_count = LinkedCountColumn( viewname="ipam:aggregate_list", url_params={"rir": "slug"}, verbose_name="Aggregates", ) actions = ButtonsColumn(RIR, pk_field="slug") class Meta(BaseTable.Meta): model = RIR fields = ( "pk", "name", "slug", "is_private", "aggregate_count", "description", "actions", ) default_columns = ( "pk", "name", "is_private", "aggregate_count", "description", "actions", )
class DeviceTypeTable(BaseTable): pk = ToggleColumn() model = tables.Column(linkify=True, verbose_name="Device Type") is_full_depth = BooleanColumn(verbose_name="Full Depth") instance_count = LinkedCountColumn( viewname="dcim:device_list", url_params={"device_type_id": "pk"}, verbose_name="Instances", ) tags = TagColumn(url_name="dcim:devicetype_list") class Meta(BaseTable.Meta): model = DeviceType fields = ( "pk", "model", "manufacturer", "slug", "part_number", "u_height", "is_full_depth", "subdevice_role", "instance_count", "tags", ) default_columns = ( "pk", "model", "manufacturer", "part_number", "u_height", "is_full_depth", "instance_count", )
class ClusterTable(BaseTable): pk = ToggleColumn() name = tables.LinkColumn() tenant = tables.Column(linkify=True) site = tables.Column(linkify=True) type = tables.Column(linkify=True) group = tables.Column(linkify=True) device_count = LinkedCountColumn( viewname="dcim:device_list", url_params={"cluster_id": "pk"}, verbose_name="Devices", ) vm_count = LinkedCountColumn( viewname="virtualization:virtualmachine_list", url_params={"cluster_id": "pk"}, verbose_name="VMs", ) tags = TagColumn(url_name="virtualization:cluster_list") class Meta(BaseTable.Meta): model = Cluster fields = ( "pk", "name", "type", "group", "tenant", "site", "device_count", "vm_count", "tags", ) default_columns = ( "pk", "name", "type", "group", "tenant", "site", "device_count", "vm_count", )
class PlatformTable(BaseTable): pk = ToggleColumn() name = tables.LinkColumn() device_count = LinkedCountColumn( viewname="dcim:device_list", url_params={"platform": "slug"}, verbose_name="Devices", ) vm_count = LinkedCountColumn( viewname="virtualization:virtualmachine_list", url_params={"platform": "slug"}, verbose_name="VMs", ) actions = ButtonsColumn(Platform, pk_field="slug") class Meta(BaseTable.Meta): model = Platform fields = ( "pk", "name", "manufacturer", "device_count", "vm_count", "slug", "napalm_driver", "napalm_args", "description", "actions", ) default_columns = ( "pk", "name", "manufacturer", "device_count", "vm_count", "napalm_driver", "description", "actions", )
class DeviceRoleTable(BaseTable): pk = ToggleColumn() name = tables.LinkColumn() device_count = LinkedCountColumn(viewname="dcim:device_list", url_params={"role": "slug"}, verbose_name="Devices") vm_count = LinkedCountColumn( viewname="virtualization:virtualmachine_list", url_params={"role": "slug"}, verbose_name="VMs", ) color = ColorColumn() vm_role = BooleanColumn() actions = ButtonsColumn(DeviceRole, pk_field="slug") class Meta(BaseTable.Meta): model = DeviceRole fields = ( "pk", "name", "device_count", "vm_count", "color", "vm_role", "description", "slug", "actions", ) default_columns = ( "pk", "name", "device_count", "vm_count", "color", "vm_role", "description", "actions", )
class VirtualChassisTable(BaseTable): pk = ToggleColumn() name = tables.Column(linkify=True) master = tables.Column(linkify=True) member_count = LinkedCountColumn( viewname="dcim:device_list", url_params={"virtual_chassis_id": "pk"}, verbose_name="Members", ) tags = TagColumn(url_name="dcim:virtualchassis_list") class Meta(BaseTable.Meta): model = VirtualChassis fields = ("pk", "name", "domain", "master", "member_count", "tags") default_columns = ("pk", "name", "domain", "master", "member_count")
class RackDetailTable(RackTable): device_count = LinkedCountColumn( viewname="dcim:device_list", url_params={"rack_id": "pk"}, verbose_name="Devices", ) get_utilization = tables.TemplateColumn(template_code=UTILIZATION_GRAPH, orderable=False, verbose_name="Space") get_power_utilization = tables.TemplateColumn( template_code=UTILIZATION_GRAPH, orderable=False, verbose_name="Power") tags = TagColumn(url_name="dcim:rack_list") class Meta(RackTable.Meta): fields = ( "pk", "name", "site", "group", "status", "facility_id", "tenant", "role", "serial", "asset_tag", "type", "width", "u_height", "device_count", "get_utilization", "get_power_utilization", "tags", ) default_columns = ( "pk", "name", "site", "group", "status", "facility_id", "tenant", "role", "u_height", "device_count", "get_utilization", "get_power_utilization", )
class VLANGroupTable(BaseTable): pk = ToggleColumn() name = tables.Column(linkify=True) site = tables.LinkColumn(viewname="dcim:site", args=[Accessor("site__slug")]) vlan_count = LinkedCountColumn(viewname="ipam:vlan_list", url_params={"group": "slug"}, verbose_name="VLANs") actions = ButtonsColumn(model=VLANGroup, prepend_template=VLANGROUP_ADD_VLAN) class Meta(BaseTable.Meta): model = VLANGroup fields = ("pk", "name", "site", "vlan_count", "slug", "description", "actions") default_columns = ("pk", "name", "site", "vlan_count", "description", "actions")
class PowerPanelTable(BaseTable): pk = ToggleColumn() name = tables.LinkColumn() site = tables.LinkColumn(viewname="dcim:site", args=[Accessor("site__slug")]) powerfeed_count = LinkedCountColumn( viewname="dcim:powerfeed_list", url_params={"power_panel_id": "pk"}, verbose_name="Feeds", ) tags = TagColumn(url_name="dcim:powerpanel_list") class Meta(BaseTable.Meta): model = PowerPanel fields = ("pk", "name", "site", "rack_group", "powerfeed_count", "tags") default_columns = ("pk", "name", "site", "rack_group", "powerfeed_count")
class TenantGroupTable(BaseTable): pk = ToggleColumn() name = tables.TemplateColumn(template_code=MPTT_LINK, orderable=False, attrs={"td": { "class": "text-nowrap" }}) tenant_count = LinkedCountColumn( viewname="tenancy:tenant_list", url_params={"group": "slug"}, verbose_name="Tenants", ) actions = ButtonsColumn(TenantGroup, pk_field="slug") class Meta(BaseTable.Meta): model = TenantGroup fields = ("pk", "name", "tenant_count", "description", "slug", "actions") default_columns = ("pk", "name", "tenant_count", "description", "actions")