class TenantGroupTable(BaseTable): pk = ToggleColumn() name = tables.TemplateColumn(template_code=MPTT_LINK, orderable=False) 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')
class TenantGroupTable(BaseTable): pk = ToggleColumn() name = MPTTColumn(linkify=True) tenant_count = LinkedCountColumn(viewname='tenancy:tenant_list', url_params={'group_id': 'pk'}, verbose_name='Tenants') actions = ButtonsColumn(TenantGroup) class Meta(BaseTable.Meta): model = TenantGroup fields = ('pk', 'name', 'tenant_count', 'description', 'slug', 'actions') default_columns = ('pk', 'name', 'tenant_count', 'description', 'actions')
class DeviceRoleTable(BaseTable): pk = ToggleColumn() name = tables.Column( linkify=True ) device_count = LinkedCountColumn( viewname='dcim:device_list', url_params={'role_id': 'pk'}, verbose_name='Devices' ) vm_count = LinkedCountColumn( viewname='virtualization:virtualmachine_list', url_params={'role_id': 'pk'}, verbose_name='VMs' ) color = ColorColumn() vm_role = BooleanColumn() actions = ButtonsColumn(DeviceRole) 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 SecretRoleTable(BaseTable): pk = ToggleColumn() name = tables.Column(linkify=True) secret_count = LinkedCountColumn(viewname='secrets:secret_list', url_params={'role_id': 'pk'}, verbose_name='Secrets') actions = ButtonsColumn(SecretRole) class Meta(BaseTable.Meta): model = SecretRole fields = ('pk', 'name', 'secret_count', 'description', 'slug', 'actions') default_columns = ('pk', 'name', 'secret_count', 'description', 'actions')
class PowerPanelTable(BaseTable): pk = ToggleColumn() name = tables.Column(linkify=True) site = tables.Column(linkify=True) 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', 'id', 'name', 'site', 'location', 'powerfeed_count', 'tags') default_columns = ('pk', 'name', 'site', 'location', 'powerfeed_count')
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', 'id', 'name', 'domain', 'master', 'member_count', 'tags') default_columns = ('pk', 'name', 'domain', 'master', 'member_count')
class PrefixTable(BaseTable): pk = ToggleColumn() prefix = tables.TemplateColumn(template_code=PREFIX_LINK, attrs={'td': { 'class': 'text-nowrap' }}) prefix_flat = tables.Column(accessor=Accessor('prefix'), linkify=True, verbose_name='Prefix (Flat)') depth = tables.Column(accessor=Accessor('_depth'), verbose_name='Depth') children = LinkedCountColumn(accessor=Accessor('_children'), viewname='ipam:prefix_list', url_params={ 'vrf_id': 'vrf_id', 'within': 'prefix', }, verbose_name='Children') status = ChoiceFieldColumn(default=AVAILABLE_LABEL) vrf = tables.TemplateColumn(template_code=VRF_LINK, verbose_name='VRF') tenant = TenantColumn() site = tables.Column(linkify=True) vlan = tables.Column(linkify=True, verbose_name='VLAN') role = tables.TemplateColumn(template_code=PREFIX_ROLE_LINK) is_pool = BooleanColumn(verbose_name='Pool') mark_utilized = BooleanColumn(verbose_name='Marked Utilized') class Meta(BaseTable.Meta): model = Prefix fields = ( 'pk', 'prefix', 'prefix_flat', 'status', 'depth', 'children', 'vrf', 'tenant', 'site', 'vlan', 'role', 'is_pool', 'mark_utilized', 'description', ) default_columns = ('pk', 'prefix', 'status', 'vrf', 'tenant', 'site', 'vlan', 'role', 'description') row_attrs = { 'class': lambda record: 'success' if not record.pk else '', }
class RIRTable(BaseTable): pk = ToggleColumn() name = tables.Column(linkify=True) is_private = BooleanColumn(verbose_name='Private') aggregate_count = LinkedCountColumn(viewname='ipam:aggregate_list', url_params={'rir_id': 'pk'}, verbose_name='Aggregates') actions = ButtonsColumn(RIR) 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 PlatformTable(BaseTable): pk = ToggleColumn() name = tables.Column(linkify=True) device_count = LinkedCountColumn(viewname='dcim:device_list', url_params={'platform_id': 'pk'}, verbose_name='Devices') vm_count = LinkedCountColumn(viewname='virtualization:virtualmachine_list', url_params={'platform_id': 'pk'}, verbose_name='VMs') actions = ButtonsColumn(Platform) class Meta(BaseTable.Meta): model = Platform fields = ( 'pk', 'id', '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 SiteGroupTable(BaseTable): pk = ToggleColumn() name = MPTTColumn(linkify=True) site_count = LinkedCountColumn(viewname='dcim:site_list', url_params={'group_id': 'pk'}, verbose_name='Sites') tags = TagColumn(url_name='dcim:sitegroup_list') actions = ButtonsColumn(SiteGroup) class Meta(BaseTable.Meta): model = SiteGroup fields = ('pk', 'id', 'name', 'slug', 'site_count', 'description', 'tags', 'actions', 'created', 'last_updated') default_columns = ('pk', 'name', 'site_count', 'description', 'actions')
class RegionTable(BaseTable): pk = ToggleColumn() name = MPTTColumn( linkify=True ) site_count = LinkedCountColumn( viewname='dcim:site_list', url_params={'region_id': 'pk'}, verbose_name='Sites' ) actions = ButtonsColumn(Region) class Meta(BaseTable.Meta): model = Region fields = ('pk', 'name', 'slug', 'site_count', 'description', 'actions') default_columns = ('pk', 'name', 'site_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 VLANGroupTable(BaseTable): pk = ToggleColumn() name = tables.Column(linkify=True) scope_type = ContentTypeColumn() scope = tables.Column(linkify=True, orderable=False) vlan_count = LinkedCountColumn(viewname='ipam:vlan_list', url_params={'group_id': 'pk'}, verbose_name='VLANs') actions = ButtonsColumn(model=VLANGroup, prepend_template=VLANGROUP_ADD_VLAN) class Meta(BaseTable.Meta): model = VLANGroup fields = ('pk', 'name', 'scope_type', 'scope', 'vlan_count', 'slug', 'description', 'actions') default_columns = ('pk', 'name', 'scope_type', 'scope', 'vlan_count', 'description', 'actions')
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 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 SiteTable(BaseTable): pk = ToggleColumn() name = tables.Column(linkify=True) status = ChoiceFieldColumn() region = tables.Column(linkify=True) group = tables.Column(linkify=True) asn_count = LinkedCountColumn(accessor=tables.A('asns__count'), viewname='ipam:asn_list', url_params={'site_id': 'pk'}, verbose_name='ASNs') tenant = TenantColumn() comments = MarkdownColumn() tags = TagColumn(url_name='dcim:site_list') class Meta(BaseTable.Meta): model = Site fields = ( 'pk', 'id', 'name', 'slug', 'status', 'facility', 'region', 'group', 'tenant', 'asn_count', 'time_zone', 'description', 'physical_address', 'shipping_address', 'latitude', 'longitude', 'contact_name', 'contact_phone', 'contact_email', 'comments', 'tags', 'created', 'last_updated', ) default_columns = ('pk', 'name', 'status', 'facility', 'region', 'group', 'tenant', 'description')
class WirelessLANGroupTable(BaseTable): pk = ToggleColumn() name = MPTTColumn( linkify=True ) wirelesslan_count = LinkedCountColumn( viewname='wireless:wirelesslan_list', url_params={'group_id': 'pk'}, verbose_name='Wireless LANs' ) tags = TagColumn( url_name='wireless:wirelesslangroup_list' ) actions = ButtonsColumn(WirelessLANGroup) class Meta(BaseTable.Meta): model = WirelessLANGroup fields = ( 'pk', 'name', 'wirelesslan_count', 'description', 'slug', 'tags', 'actions', 'created', 'last_updated', ) default_columns = ('pk', 'name', 'wirelesslan_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') comments = MarkdownColumn() tags = TagColumn(url_name='dcim:devicetype_list') class Meta(BaseTable.Meta): model = DeviceType fields = ( 'pk', 'id', 'model', 'manufacturer', 'slug', 'part_number', 'u_height', 'is_full_depth', 'subdevice_role', 'airflow', 'comments', 'instance_count', 'tags', 'created', 'last_updated', ) default_columns = ( 'pk', 'model', 'manufacturer', 'part_number', 'u_height', 'is_full_depth', 'instance_count', )
class ASNTable(BaseTable): pk = ToggleColumn() asn = tables.Column(accessor=tables.A('asn_asdot'), linkify=True) site_count = LinkedCountColumn(viewname='dcim:site_list', url_params={'asn_id': 'pk'}, verbose_name='Sites') actions = ButtonsColumn(ASN) class Meta(BaseTable.Meta): model = ASN fields = ( 'pk', 'asn', 'rir', 'site_count', 'tenant', 'description', 'actions', 'created', 'last_updated', ) default_columns = ('pk', 'asn', 'rir', 'site_count', 'sites', 'tenant', 'actions')
class ContactGroupTable(BaseTable): pk = ToggleColumn() name = MPTTColumn(linkify=True) contact_count = LinkedCountColumn(viewname='tenancy:contact_list', url_params={'role_id': 'pk'}, verbose_name='Contacts') tags = TagColumn(url_name='tenancy:contactgroup_list') actions = ButtonsColumn(ContactGroup) class Meta(BaseTable.Meta): model = ContactGroup fields = ( 'pk', 'name', 'contact_count', 'description', 'slug', 'tags', 'actions', 'created', 'last_updated', ) default_columns = ('pk', 'name', 'contact_count', 'description', 'actions')