Exemple #1
0
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()
    tags = TagColumn(
        url_name='dcim:devicerole_list'
    )
    actions = ButtonsColumn(DeviceRole)

    class Meta(BaseTable.Meta):
        model = DeviceRole
        fields = (
            'pk', 'id', 'name', 'device_count', 'vm_count', 'color', 'vm_role', 'description', 'slug', 'tags',
            'actions', 'created', 'last_updated',
        )
        default_columns = ('pk', 'name', 'device_count', 'vm_count', 'color', 'vm_role', 'description', 'actions')
Exemple #2
0
class FrontPortTable(DeviceComponentTable, CableTerminationTable):
    device = tables.Column(linkify={
        'viewname': 'dcim:device_frontports',
        'args': [Accessor('device_id')],
    })
    rear_port_position = tables.Column(verbose_name='Position')
    rear_port = tables.Column(linkify=True)
    tags = TagColumn(url_name='dcim:frontport_list')

    class Meta(DeviceComponentTable.Meta):
        model = FrontPort
        fields = (
            'pk',
            'device',
            'name',
            'label',
            'type',
            'rear_port',
            'rear_port_position',
            'description',
            'mark_connected',
            'cable',
            'cable_color',
            'cable_peer',
            'tags',
        )
        default_columns = ('pk', 'device', 'name', 'label', 'type',
                           'rear_port', 'rear_port_position', 'description')
Exemple #3
0
class InventoryItemTable(DeviceComponentTable):
    device = tables.Column(linkify={
        'viewname': 'dcim:device_inventory',
        'args': [Accessor('device_id')],
    })
    manufacturer = tables.Column(linkify=True)
    discovered = BooleanColumn()
    tags = TagColumn(url_name='dcim:inventoryitem_list')
    cable = None  # Override DeviceComponentTable

    class Meta(BaseTable.Meta):
        model = InventoryItem
        fields = (
            'pk',
            'device',
            'name',
            'label',
            'manufacturer',
            'part_id',
            'serial',
            'asset_tag',
            'description',
            'discovered',
            'tags',
        )
        default_columns = ('pk', 'device', 'name', 'label', 'manufacturer',
                           'part_id', 'serial', 'asset_tag')
Exemple #4
0
class VMInterfaceTable(BaseInterfaceTable):
    pk = ToggleColumn()
    virtual_machine = tables.Column(linkify=True)
    name = tables.Column(linkify=True)
    parent = tables.Column(linkify=True)
    tags = TagColumn(url_name='virtualization:vminterface_list')

    class Meta(BaseTable.Meta):
        model = VMInterface
        fields = (
            'pk',
            'name',
            'virtual_machine',
            'enabled',
            'parent',
            'mac_address',
            'mtu',
            'mode',
            'description',
            'tags',
            'ip_addresses',
            'untagged_vlan',
            'tagged_vlans',
        )
        default_columns = ('pk', 'name', 'virtual_machine', 'enabled',
                           'parent', 'description')
Exemple #5
0
class PowerOutletTable(DeviceComponentTable, PathEndpointTable):
    device = tables.Column(linkify={
        'viewname': 'dcim:device_poweroutlets',
        'args': [Accessor('device_id')],
    })
    power_port = tables.Column(linkify=True)
    tags = TagColumn(url_name='dcim:poweroutlet_list')

    class Meta(DeviceComponentTable.Meta):
        model = PowerOutlet
        fields = (
            'pk',
            'device',
            'name',
            'label',
            'type',
            'description',
            'power_port',
            'feed_leg',
            'mark_connected',
            'cable',
            'cable_color',
            'cable_peer',
            'connection',
            'tags',
        )
        default_columns = ('pk', 'device', 'name', 'label', 'type',
                           'power_port', 'feed_leg', 'description')
Exemple #6
0
class PrefixDetailTable(PrefixTable):
    utilization = tables.TemplateColumn(template_code=UTILIZATION_GRAPH,
                                        orderable=False)
    tenant = tables.TemplateColumn(template_code=COL_TENANT)
    tags = TagColumn(url_name='ipam:prefix_list')

    class Meta(PrefixTable.Meta):
        fields = (
            'pk',
            'prefix',
            'status',
            'children',
            'vrf',
            'utilization',
            'tenant',
            'site',
            'vlan',
            'role',
            'is_pool',
            'description',
            'tags',
        )
        default_columns = (
            'pk',
            'prefix',
            'status',
            'children',
            'vrf',
            'utilization',
            'tenant',
            'site',
            'vlan',
            'role',
            'description',
        )
Exemple #7
0
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',
        )
Exemple #8
0
class SiteTable(BaseTable):
    pk = ToggleColumn()
    name = tables.Column(
        linkify=True
    )
    status = ChoiceFieldColumn()
    region = tables.Column(
        linkify=True
    )
    group = tables.Column(
        linkify=True
    )
    tenant = TenantColumn()
    tags = TagColumn(
        url_name='dcim:site_list'
    )

    class Meta(BaseTable.Meta):
        model = Site
        fields = (
            'pk', 'name', 'slug', 'status', 'facility', 'region', 'group', 'tenant', 'asn', 'time_zone', 'description',
            'physical_address', 'shipping_address', 'latitude', 'longitude', 'contact_name', 'contact_phone',
            'contact_email', 'tags',
        )
        default_columns = ('pk', 'name', 'status', 'facility', 'region', 'group', 'tenant', 'asn', 'description')
Exemple #9
0
class ASNTable(BaseTable):
    pk = ToggleColumn()
    asn = tables.Column(
        linkify=True
    )
    asn_asdot = tables.Column(
        accessor=tables.A('asn_asdot'),
        linkify=True,
        verbose_name='ASDOT'
    )
    site_count = LinkedCountColumn(
        viewname='dcim:site_list',
        url_params={'asn_id': 'pk'},
        verbose_name='Sites'
    )
    tenant = TenantColumn()
    tags = TagColumn(
        url_name='ipam:asn_list'
    )

    actions = ButtonsColumn(ASN)

    class Meta(BaseTable.Meta):
        model = ASN
        fields = (
            'pk', 'asn', 'asn_asdot', 'rir', 'site_count', 'tenant', 'description', 'actions', 'created',
            'last_updated', 'tags',
        )
        default_columns = ('pk', 'asn', 'rir', 'site_count', 'sites', 'description', 'tenant', 'actions')
Exemple #10
0
class IPAddressDetailTable(IPAddressTable):
    nat_inside = tables.LinkColumn(viewname='ipam:ipaddress',
                                   args=[Accessor('nat_inside.pk')],
                                   orderable=False,
                                   verbose_name='NAT (Inside)')
    tenant = tables.TemplateColumn(template_code=COL_TENANT)
    tags = TagColumn(url_name='ipam:ipaddress_list')

    class Meta(IPAddressTable.Meta):
        fields = (
            'pk',
            'address',
            'vrf',
            'status',
            'role',
            'tenant',
            'nat_inside',
            'parent',
            'interface',
            'dns_name',
            'description',
            'tags',
        )
        default_columns = (
            'pk',
            'address',
            'vrf',
            'status',
            'role',
            'tenant',
            'parent',
            'interface',
            'dns_name',
            'description',
        )
Exemple #11
0
class LocationTable(BaseTable):
    pk = ToggleColumn()
    name = MPTTColumn(linkify=True)
    site = tables.Column(linkify=True)
    tenant = TenantColumn()
    rack_count = LinkedCountColumn(viewname='dcim:rack_list',
                                   url_params={'location_id': 'pk'},
                                   verbose_name='Racks')
    device_count = LinkedCountColumn(viewname='dcim:device_list',
                                     url_params={'location_id': 'pk'},
                                     verbose_name='Devices')
    tags = TagColumn(url_name='dcim:location_list')
    actions = ButtonsColumn(model=Location,
                            prepend_template=LOCATION_ELEVATIONS)

    class Meta(BaseTable.Meta):
        model = Location
        fields = (
            'pk',
            'id',
            'name',
            'site',
            'tenant',
            'rack_count',
            'device_count',
            'description',
            'slug',
            'tags',
            'actions',
            'created',
            'last_updated',
        )
        default_columns = ('pk', 'name', 'site', 'tenant', 'rack_count',
                           'device_count', 'description', 'actions')
Exemple #12
0
class TenantGroupTable(BaseTable):
    pk = ToggleColumn()
    name = MPTTColumn(linkify=True)
    tenant_count = LinkedCountColumn(viewname='tenancy:tenant_list',
                                     url_params={'group_id': 'pk'},
                                     verbose_name='Tenants')
    tags = TagColumn(url_name='tenancy:tenantgroup_list')
    actions = ButtonsColumn(TenantGroup)

    class Meta(BaseTable.Meta):
        model = TenantGroup
        fields = (
            'pk',
            'id',
            'name',
            'tenant_count',
            'description',
            'slug',
            'tags',
            'actions',
            'created',
            'last_updated',
        )
        default_columns = ('pk', 'name', 'tenant_count', 'description',
                           'actions')
Exemple #13
0
class ContactTable(BaseTable):
    pk = ToggleColumn()
    name = tables.Column(linkify=True)
    group = tables.Column(linkify=True)
    phone = tables.Column(linkify=linkify_phone, )
    comments = MarkdownColumn()
    assignment_count = tables.Column(verbose_name='Assignments')
    tags = TagColumn(url_name='tenancy:tenant_list')

    class Meta(BaseTable.Meta):
        model = Contact
        fields = (
            'pk',
            'name',
            'group',
            'title',
            'phone',
            'email',
            'address',
            'comments',
            'assignment_count',
            'tags',
            'created',
            'last_updated',
        )
        default_columns = ('pk', 'name', 'group', 'assignment_count', 'title',
                           'phone', 'email')
Exemple #14
0
class ServiceTable(BaseTable):
    pk = ToggleColumn()
    name = tables.Column(linkify=True)
    parent = tables.Column(linkify=True,
                           order_by=('device', 'virtual_machine'))
    ports = tables.TemplateColumn(template_code='{{ record.port_list }}',
                                  verbose_name='Ports')
    tags = TagColumn(url_name='ipam:service_list')

    class Meta(BaseTable.Meta):
        model = Service
        fields = (
            'pk',
            'id',
            'name',
            'parent',
            'protocol',
            'ports',
            'ipaddresses',
            'description',
            'tags',
            'created',
            'last_updated',
        )
        default_columns = ('pk', 'name', 'parent', 'protocol', 'ports',
                           'description')
Exemple #15
0
class DeviceTypeTable(BaseTable):
    pk = ToggleColumn()
    model = tables.Column(linkify=True, verbose_name='Device Type')
    is_full_depth = BooleanColumn(verbose_name='Full Depth')
    instance_count = tables.TemplateColumn(
        template_code=DEVICETYPE_INSTANCES_TEMPLATE, 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',
        )
Exemple #16
0
class AggregateTable(BaseTable):
    pk = ToggleColumn()
    prefix = tables.Column(
        linkify=True,
        verbose_name='Aggregate'
    )
    tenant = TenantColumn()
    date_added = tables.DateColumn(
        format="Y-m-d",
        verbose_name='Added'
    )
    child_count = tables.Column(
        verbose_name='Prefixes'
    )
    utilization = UtilizationColumn(
        accessor='get_utilization',
        orderable=False
    )
    tags = TagColumn(
        url_name='ipam:aggregate_list'
    )

    class Meta(BaseTable.Meta):
        model = Aggregate
        fields = (
            'pk', 'id', 'prefix', 'rir', 'tenant', 'child_count', 'utilization', 'date_added', 'description', 'tags',
            'created', 'last_updated',
        )
        default_columns = ('pk', 'prefix', 'rir', 'tenant', 'child_count', 'utilization', 'date_added', 'description')
Exemple #17
0
class VRFTable(BaseTable):
    pk = ToggleColumn()
    name = tables.LinkColumn()
    rd = tables.Column(verbose_name='RD')
    tenant = tables.TemplateColumn(template_code=COL_TENANT)
    enforce_unique = BooleanColumn(verbose_name='Unique')
    import_targets = tables.TemplateColumn(template_code=VRF_TARGETS,
                                           orderable=False)
    export_targets = tables.TemplateColumn(template_code=VRF_TARGETS,
                                           orderable=False)
    tags = TagColumn(url_name='ipam:vrf_list')

    class Meta(BaseTable.Meta):
        model = VRF
        fields = (
            'pk',
            'name',
            'rd',
            'tenant',
            'enforce_unique',
            'description',
            'import_targets',
            'export_targets',
            'tags',
        )
        default_columns = ('pk', 'name', 'rd', 'tenant', 'description')
Exemple #18
0
class RoleTable(BaseTable):
    pk = ToggleColumn()
    name = tables.Column(
        linkify=True
    )
    prefix_count = LinkedCountColumn(
        viewname='ipam:prefix_list',
        url_params={'role_id': 'pk'},
        verbose_name='Prefixes'
    )
    iprange_count = LinkedCountColumn(
        viewname='ipam:iprange_list',
        url_params={'role_id': 'pk'},
        verbose_name='IP Ranges'
    )
    vlan_count = LinkedCountColumn(
        viewname='ipam:vlan_list',
        url_params={'role_id': 'pk'},
        verbose_name='VLANs'
    )
    tags = TagColumn(
        url_name='ipam:role_list'
    )
    actions = ButtonsColumn(Role)

    class Meta(BaseTable.Meta):
        model = Role
        fields = (
            'pk', 'id', 'name', 'slug', 'prefix_count', 'iprange_count', 'vlan_count', 'description', 'weight', 'tags',
            'actions', 'created', 'last_updated',
        )
        default_columns = ('pk', 'name', 'prefix_count', 'iprange_count', 'vlan_count', 'description', 'actions')
Exemple #19
0
class IPAddressDetailTable(IPAddressTable):
    nat_inside = tables.Column(linkify=True,
                               orderable=False,
                               verbose_name='NAT (Inside)')
    tenant = tables.TemplateColumn(template_code=COL_TENANT)
    assigned = BooleanColumn(accessor='assigned_object_id',
                             verbose_name='Assigned')
    tags = TagColumn(url_name='ipam:ipaddress_list')

    class Meta(IPAddressTable.Meta):
        fields = (
            'pk',
            'address',
            'vrf',
            'status',
            'role',
            'tenant',
            'nat_inside',
            'assigned',
            'dns_name',
            'description',
            'tags',
        )
        default_columns = (
            'pk',
            'address',
            'vrf',
            'status',
            'role',
            'tenant',
            'assigned',
            'dns_name',
            'description',
        )
Exemple #20
0
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'
    )
    tags = TagColumn(
        url_name='ipam:rir_list'
    )
    actions = ButtonsColumn(RIR)

    class Meta(BaseTable.Meta):
        model = RIR
        fields = (
            'pk', 'id', 'name', 'slug', 'is_private', 'aggregate_count', 'description', 'tags', 'actions', 'created',
            'last_updated',
        )
        default_columns = ('pk', 'name', 'is_private', 'aggregate_count', 'description', 'actions')
Exemple #21
0
class CircuitTable(BaseTable):
    pk = ToggleColumn()
    cid = tables.Column(
        linkify=True,
        verbose_name='Circuit ID'
    )
    provider = tables.Column(
        linkify=True
    )
    status = ChoiceFieldColumn()
    tenant = TenantColumn()
    termination_a = tables.TemplateColumn(
        template_code=CIRCUITTERMINATION_LINK,
        verbose_name='Side A'
    )
    termination_z = tables.TemplateColumn(
        template_code=CIRCUITTERMINATION_LINK,
        verbose_name='Side Z'
    )
    comments = MarkdownColumn()
    tags = TagColumn(
        url_name='circuits:circuit_list'
    )

    class Meta(BaseTable.Meta):
        model = Circuit
        fields = (
            'pk', 'id', 'cid', 'provider', 'type', 'status', 'tenant', 'termination_a', 'termination_z', 'install_date',
            'commit_rate', 'description', 'comments', 'tags',
        )
        default_columns = (
            'pk', 'cid', 'provider', 'type', 'status', 'tenant', 'termination_a', 'termination_z', 'description',
        )
Exemple #22
0
class InterfaceTable(DeviceComponentTable, BaseInterfaceTable):
    tags = TagColumn(url_name='dcim:interface_list')

    class Meta(DeviceComponentTable.Meta):
        model = Interface
        fields = (
            'pk',
            'device',
            'name',
            'label',
            'enabled',
            'type',
            'mgmt_only',
            'mtu',
            'mode',
            'mac_address',
            'description',
            'cable',
            'tags',
            'ip_addresses',
            'untagged_vlan',
            'tagged_vlans',
        )
        default_columns = ('pk', 'device', 'name', 'label', 'enabled', 'type',
                           'description')
Exemple #23
0
class PowerPortTable(DeviceComponentTable, PathEndpointTable):
    device = tables.Column(linkify={
        'viewname': 'dcim:device_powerports',
        'args': [Accessor('device_id')],
    })
    tags = TagColumn(url_name='dcim:powerport_list')

    class Meta(DeviceComponentTable.Meta):
        model = PowerPort
        fields = (
            'pk',
            'device',
            'name',
            'label',
            'type',
            'description',
            'mark_connected',
            'maximum_draw',
            'allocated_draw',
            'cable',
            'cable_color',
            'cable_peer',
            'connection',
            'tags',
        )
        default_columns = ('pk', 'device', 'name', 'label', 'type',
                           'maximum_draw', 'allocated_draw', 'description')
Exemple #24
0
class PrefixDetailTable(PrefixTable):
    utilization = UtilizationColumn(accessor='get_utilization',
                                    orderable=False)
    tenant = TenantColumn()
    tags = TagColumn(url_name='ipam:prefix_list')

    class Meta(PrefixTable.Meta):
        fields = (
            'pk',
            'prefix',
            'status',
            'children',
            'vrf',
            'utilization',
            'tenant',
            'site',
            'vlan',
            'role',
            'is_pool',
            'description',
            'tags',
        )
        default_columns = (
            'pk',
            'prefix',
            'status',
            'children',
            'vrf',
            'utilization',
            'tenant',
            'site',
            'vlan',
            'role',
            'description',
        )
Exemple #25
0
class InterfaceTable(DeviceComponentTable, BaseInterfaceTable,
                     PathEndpointTable):
    device = tables.Column(linkify={
        'viewname': 'dcim:device_interfaces',
        'args': [Accessor('device_id')],
    })
    mgmt_only = BooleanColumn()
    tags = TagColumn(url_name='dcim:interface_list')

    class Meta(DeviceComponentTable.Meta):
        model = Interface
        fields = (
            'pk',
            'device',
            'name',
            'label',
            'enabled',
            'type',
            'mgmt_only',
            'mtu',
            'mode',
            'mac_address',
            'description',
            'mark_connected',
            'cable',
            'cable_color',
            'cable_peer',
            'connection',
            'tags',
            'ip_addresses',
            'untagged_vlan',
            'tagged_vlans',
        )
        default_columns = ('pk', 'device', 'name', 'label', 'enabled', 'type',
                           'description')
Exemple #26
0
class SiteTable(BaseTable):
    pk = ToggleColumn()
    name = tables.LinkColumn(order_by=('_name', ))
    status = tables.TemplateColumn(template_code=STATUS_LABEL)
    region = tables.TemplateColumn(template_code=SITE_REGION_LINK)
    tenant = tables.TemplateColumn(template_code=COL_TENANT)
    tags = TagColumn(url_name='dcim:site_list')

    class Meta(BaseTable.Meta):
        model = Site
        fields = (
            'pk',
            'name',
            'slug',
            'status',
            'facility',
            'region',
            'tenant',
            'asn',
            'time_zone',
            'description',
            'physical_address',
            'shipping_address',
            'latitude',
            'longitude',
            'contact_name',
            'contact_phone',
            'contact_email',
            'tags',
        )
        default_columns = ('pk', 'name', 'status', 'facility', 'region',
                           'tenant', 'asn', 'description')
Exemple #27
0
class RearPortTable(DeviceComponentTable, CableTerminationTable):
    device = tables.Column(linkify={
        'viewname': 'dcim:device_rearports',
        'args': [Accessor('device_id')],
    })
    tags = TagColumn(url_name='dcim:rearport_list')

    class Meta(DeviceComponentTable.Meta):
        model = RearPort
        fields = (
            'pk',
            'device',
            'name',
            'label',
            'type',
            'positions',
            'description',
            'mark_connected',
            'cable',
            'cable_color',
            'cable_peer',
            'tags',
        )
        default_columns = ('pk', 'device', 'name', 'label', 'type',
                           'description')
Exemple #28
0
class RackReservationTable(BaseTable):
    pk = ToggleColumn()
    reservation = tables.Column(accessor='pk', linkify=True)
    site = tables.Column(accessor=Accessor('rack__site'), linkify=True)
    tenant = tables.TemplateColumn(template_code=COL_TENANT)
    rack = tables.Column(linkify=True)
    unit_list = tables.Column(orderable=False, verbose_name='Units')
    tags = TagColumn(url_name='dcim:rackreservation_list')
    actions = ButtonsColumn(RackReservation)

    class Meta(BaseTable.Meta):
        model = RackReservation
        fields = (
            'pk',
            'reservation',
            'site',
            'rack',
            'unit_list',
            'user',
            'created',
            'tenant',
            'description',
            'tags',
            'actions',
        )
        default_columns = (
            'pk',
            'reservation',
            'site',
            'rack',
            'unit_list',
            'user',
            'description',
            'actions',
        )
Exemple #29
0
class CircuitTable(BaseTable):
    pk = ToggleColumn()
    cid = tables.LinkColumn(verbose_name='ID')
    provider = tables.LinkColumn(viewname='circuits:provider',
                                 args=[Accessor('provider.slug')])
    status = tables.TemplateColumn(template_code=STATUS_LABEL)
    tenant = tables.TemplateColumn(template_code=COL_TENANT)
    a_side = tables.Column(verbose_name='A Side')
    z_side = tables.Column(verbose_name='Z Side')
    tags = TagColumn(url_name='circuits:circuit_list')

    class Meta(BaseTable.Meta):
        model = Circuit
        fields = (
            'pk',
            'cid',
            'provider',
            'type',
            'status',
            'tenant',
            'a_side',
            'z_side',
            'install_date',
            'commit_rate',
            'description',
            'tags',
        )
        default_columns = ('pk', 'cid', 'provider', 'type', 'status', 'tenant',
                           'a_side', 'z_side', 'description')
Exemple #30
0
class DeviceBayTable(DeviceComponentTable):
    device = tables.Column(
        linkify={
            'viewname': 'dcim:device_devicebays',
            'args': [Accessor('device_id')],
        }
    )
    status = tables.TemplateColumn(
        template_code=DEVICEBAY_STATUS,
        order_by=Accessor('installed_device__status')
    )
    installed_device = tables.Column(
        linkify=True
    )
    tags = TagColumn(
        url_name='dcim:devicebay_list'
    )

    class Meta(DeviceComponentTable.Meta):
        model = DeviceBay
        fields = (
            'pk', 'id', 'name', 'device', 'label', 'status', 'installed_device', 'description', 'tags',
            'created', 'last_updated',
        )

        default_columns = ('pk', 'name', 'device', 'label', 'status', 'installed_device', 'description')