Exemple #1
0
class PrefixTable(BaseTable):
    pk = ToggleColumn()
    prefix = tables.TemplateColumn(template_code=PREFIX_LINK,
                                   attrs={'td': {
                                       'class': 'text-nowrap'
                                   }})
    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')

    class Meta(BaseTable.Meta):
        model = Prefix
        fields = (
            'pk',
            'prefix',
            'status',
            'children',
            'vrf',
            'tenant',
            'site',
            'vlan',
            'role',
            'is_pool',
            'description',
        )
        default_columns = ('pk', 'prefix', 'status', 'vrf', 'tenant', 'site',
                           'vlan', 'role', 'description')
        row_attrs = {
            'class': lambda record: 'success' if not record.pk else '',
        }
Exemple #2
0
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')
Exemple #3
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 #4
0
class VRFTable(BaseTable):
    pk = ToggleColumn()
    name = tables.Column(linkify=True)
    rd = tables.Column(verbose_name='RD')
    tenant = TenantColumn()
    enforce_unique = BooleanColumn(verbose_name='Unique')
    import_targets = TemplateColumn(template_code=VRF_TARGETS, orderable=False)
    export_targets = TemplateColumn(template_code=VRF_TARGETS, orderable=False)
    tags = TagColumn(url_name='ipam:vrf_list')

    class Meta(BaseTable.Meta):
        model = VRF
        fields = (
            'pk',
            'id',
            'name',
            'rd',
            'tenant',
            'enforce_unique',
            'description',
            'import_targets',
            'export_targets',
            'tags',
        )
        default_columns = ('pk', 'name', 'rd', 'tenant', 'description')
Exemple #5
0
class IPAddressTable(BaseTable):
    pk = ToggleColumn()
    address = tables.TemplateColumn(template_code=IPADDRESS_LINK,
                                    verbose_name='IP Address')
    vrf = tables.TemplateColumn(template_code=VRF_LINK, verbose_name='VRF')
    status = ChoiceFieldColumn(default=AVAILABLE_LABEL)
    role = ChoiceFieldColumn()
    tenant = TenantColumn()
    assigned_object = tables.Column(linkify=True,
                                    orderable=False,
                                    verbose_name='Interface')
    assigned_object_parent = tables.Column(accessor='assigned_object__parent',
                                           linkify=True,
                                           orderable=False,
                                           verbose_name='Interface Parent')

    class Meta(BaseTable.Meta):
        model = IPAddress
        fields = (
            'pk',
            'address',
            'vrf',
            'status',
            'role',
            'tenant',
            'assigned_object',
            'assigned_object_parent',
            'dns_name',
            'description',
        )
        row_attrs = {
            'class':
            lambda record: 'success'
            if not isinstance(record, IPAddress) else '',
        }
Exemple #6
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 #7
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 #8
0
class IPAddressDetailTable(IPAddressTable):
    nat_inside = tables.Column(linkify=True,
                               orderable=False,
                               verbose_name='NAT (Inside)')
    tenant = TenantColumn()
    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 #9
0
class RackReservationTable(BaseTable):
    pk = ToggleColumn()
    reservation = tables.Column(accessor='pk', linkify=True)
    site = tables.Column(accessor=Accessor('rack__site'), linkify=True)
    tenant = TenantColumn()
    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 #10
0
class RackTable(BaseTable):
    pk = ToggleColumn()
    name = tables.Column(order_by=('_name', ), linkify=True)
    location = tables.Column(linkify=True)
    site = tables.Column(linkify=True)
    tenant = TenantColumn()
    status = ChoiceFieldColumn()
    role = ColoredLabelColumn()
    u_height = tables.TemplateColumn(template_code="{{ record.u_height }}U",
                                     verbose_name='Height')

    class Meta(BaseTable.Meta):
        model = Rack
        fields = (
            'pk',
            'name',
            'site',
            'location',
            'status',
            'facility_id',
            'tenant',
            'role',
            'serial',
            'asset_tag',
            'type',
            'width',
            'u_height',
        )
        default_columns = ('pk', 'name', 'site', 'location', 'status',
                           'facility_id', 'tenant', 'role', 'u_height')
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 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'
    )
    commit_rate = CommitRateColumn()
    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', 'created', 'last_updated',
        )
        default_columns = (
            'pk', 'cid', 'provider', 'type', 'status', 'tenant', 'termination_a', 'termination_z', 'description',
        )
Exemple #13
0
class IPRangeTable(BaseTable):
    pk = ToggleColumn()
    start_address = tables.Column(linkify=True)
    vrf = tables.TemplateColumn(template_code=VRF_LINK, verbose_name='VRF')
    status = ChoiceFieldColumn(default=AVAILABLE_LABEL)
    role = tables.Column(linkify=True)
    tenant = TenantColumn()

    class Meta(BaseTable.Meta):
        model = IPRange
        fields = (
            'pk',
            'start_address',
            'end_address',
            'size',
            'vrf',
            'status',
            'role',
            'tenant',
            'description',
        )
        default_columns = (
            'pk',
            'start_address',
            'end_address',
            'size',
            'vrf',
            'status',
            'role',
            'tenant',
            'description',
        )
        row_attrs = {
            'class': lambda record: 'success' if not record.pk else '',
        }
Exemple #14
0
class InterfaceVLANTable(BaseTable):
    """
    List VLANs assigned to a specific Interface.
    """
    vid = tables.Column(
        linkify=True,
        verbose_name='ID'
    )
    tagged = BooleanColumn()
    site = tables.Column(
        linkify=True
    )
    group = tables.Column(
        accessor=Accessor('group__name'),
        verbose_name='Group'
    )
    tenant = TenantColumn()
    status = ChoiceFieldColumn()
    role = tables.Column(
        linkify=True
    )

    class Meta(BaseTable.Meta):
        model = VLAN
        fields = ('vid', 'tagged', 'site', 'group', 'name', 'tenant', 'status', 'role', 'description')
        exclude = ('id', )

    def __init__(self, interface, *args, **kwargs):
        self.interface = interface
        super().__init__(*args, **kwargs)
Exemple #15
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 #16
0
class IPAddressTable(BaseTable):
    pk = ToggleColumn()
    address = tables.TemplateColumn(template_code=IPADDRESS_LINK,
                                    verbose_name='IP Address')
    vrf = tables.TemplateColumn(template_code=VRF_LINK, verbose_name='VRF')
    status = ChoiceFieldColumn(default=AVAILABLE_LABEL)
    role = ChoiceFieldColumn()
    tenant = TenantColumn()
    assigned_object = tables.Column(linkify=True,
                                    orderable=False,
                                    verbose_name='Interface')
    assigned_object_parent = tables.Column(
        accessor='assigned_object.parent_object',
        linkify=True,
        orderable=False,
        verbose_name='Device/VM')
    nat_inside = tables.Column(linkify=True,
                               orderable=False,
                               verbose_name='NAT (Inside)')
    assigned = BooleanColumn(accessor='assigned_object_id',
                             linkify=True,
                             verbose_name='Assigned')
    tags = TagColumn(url_name='ipam:ipaddress_list')

    class Meta(BaseTable.Meta):
        model = IPAddress
        fields = (
            'pk',
            'id',
            'address',
            'vrf',
            'status',
            'role',
            'tenant',
            'nat_inside',
            'assigned',
            'dns_name',
            'description',
            'tags',
            'created',
            'last_updated',
        )
        default_columns = (
            'pk',
            'address',
            'vrf',
            'status',
            'role',
            'tenant',
            'assigned',
            'dns_name',
            'description',
        )
        row_attrs = {
            'class':
            lambda record: 'success'
            if not isinstance(record, IPAddress) else '',
        }
Exemple #17
0
class CableTable(BaseTable):
    pk = ToggleColumn()
    termination_a_parent = tables.TemplateColumn(
        template_code=CABLE_TERMINATION_PARENT,
        accessor=Accessor('termination_a'),
        orderable=False,
        verbose_name='Side A')
    termination_a = tables.Column(accessor=Accessor('termination_a'),
                                  orderable=False,
                                  linkify=True,
                                  verbose_name='Termination A')
    termination_b_parent = tables.TemplateColumn(
        template_code=CABLE_TERMINATION_PARENT,
        accessor=Accessor('termination_b'),
        orderable=False,
        verbose_name='Side B')
    termination_b = tables.Column(accessor=Accessor('termination_b'),
                                  orderable=False,
                                  linkify=True,
                                  verbose_name='Termination B')
    status = ChoiceFieldColumn()
    tenant = TenantColumn()
    length = TemplateColumn(template_code=CABLE_LENGTH,
                            order_by=('_abs_length', 'length_unit'))
    color = ColorColumn()
    tags = TagColumn(url_name='dcim:cable_list')

    class Meta(BaseTable.Meta):
        model = Cable
        fields = (
            'pk',
            'id',
            'label',
            'termination_a_parent',
            'termination_a',
            'termination_b_parent',
            'termination_b',
            'status',
            'type',
            'tenant',
            'color',
            'length',
            'tags',
            'created',
            'last_updated',
        )
        default_columns = (
            'pk',
            'id',
            'label',
            'termination_a_parent',
            'termination_a',
            'termination_b_parent',
            'termination_b',
            'status',
            'type',
        )
Exemple #18
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')

    class Meta(BaseTable.Meta):
        model = Aggregate
        fields = ('pk', 'prefix', 'rir', 'tenant', 'date_added', 'description')
Exemple #19
0
class RackTable(BaseTable):
    pk = ToggleColumn()
    name = tables.Column(
        order_by=('_name',),
        linkify=True
    )
    location = tables.Column(
        linkify=True
    )
    site = tables.Column(
        linkify=True
    )
    tenant = TenantColumn()
    status = ChoiceFieldColumn()
    role = ColoredLabelColumn()
    u_height = tables.TemplateColumn(
        template_code="{{ record.u_height }}U",
        verbose_name='Height'
    )
    comments = MarkdownColumn()
    device_count = LinkedCountColumn(
        viewname='dcim:device_list',
        url_params={'rack_id': 'pk'},
        verbose_name='Devices'
    )
    get_utilization = UtilizationColumn(
        orderable=False,
        verbose_name='Space'
    )
    get_power_utilization = UtilizationColumn(
        orderable=False,
        verbose_name='Power'
    )
    tags = TagColumn(
        url_name='dcim:rack_list'
    )
    outer_width = tables.TemplateColumn(
        template_code="{{ record.outer_width }} {{ record.outer_unit }}",
        verbose_name='Outer Width'
    )
    outer_depth = tables.TemplateColumn(
        template_code="{{ record.outer_depth }} {{ record.outer_unit }}",
        verbose_name='Outer Depth'
    )

    class Meta(BaseTable.Meta):
        model = Rack
        fields = (
            'pk', 'id', 'name', 'site', 'location', 'status', 'facility_id', 'tenant', 'role', 'serial', 'asset_tag',
            'type', 'width', 'outer_width', 'outer_depth', 'u_height', 'comments', 'device_count', 'get_utilization',
            'get_power_utilization', 'tags', 'created', 'last_updated',
        )
        default_columns = (
            'pk', 'name', 'site', 'location', 'status', 'facility_id', 'tenant', 'role', 'u_height', 'device_count',
            'get_utilization',
        )
Exemple #20
0
class RouteTargetTable(BaseTable):
    pk = ToggleColumn()
    name = tables.Column(linkify=True)
    tenant = TenantColumn()
    tags = TagColumn(url_name='ipam:vrf_list')

    class Meta(BaseTable.Meta):
        model = RouteTarget
        fields = ('pk', 'id', 'name', 'tenant', 'description', 'tags')
        default_columns = ('pk', 'name', 'tenant', 'description')
Exemple #21
0
class VLANDetailTable(VLANTable):
    prefixes = tables.TemplateColumn(template_code=VLAN_PREFIXES,
                                     orderable=False,
                                     verbose_name='Prefixes')
    tenant = TenantColumn()
    tags = TagColumn(url_name='ipam:vlan_list')

    class Meta(VLANTable.Meta):
        fields = ('pk', 'vid', 'site', 'group', 'name', 'prefixes', 'tenant',
                  'status', 'role', 'description', 'tags')
        default_columns = ('pk', 'vid', 'site', 'group', 'name', 'prefixes',
                           'tenant', 'status', 'role', 'description')
Exemple #22
0
class VirtualMachineTable(BaseTable):
    pk = ToggleColumn()
    name = tables.Column(linkify=True)
    status = ChoiceFieldColumn()
    cluster = tables.Column(linkify=True)
    role = ColoredLabelColumn()
    tenant = TenantColumn()

    class Meta(BaseTable.Meta):
        model = VirtualMachine
        fields = ('pk', 'name', 'status', 'cluster', 'role', 'tenant', 'vcpus',
                  'memory', 'disk')
Exemple #23
0
class InterfaceIPAddressTable(BaseTable):
    """
    List IP addresses assigned to a specific Interface.
    """
    address = tables.Column(linkify=True, verbose_name='IP Address')
    vrf = tables.TemplateColumn(template_code=VRF_LINK, verbose_name='VRF')
    status = ChoiceFieldColumn()
    tenant = TenantColumn()
    actions = ButtonsColumn(model=IPAddress)

    class Meta(BaseTable.Meta):
        model = IPAddress
        fields = ('address', 'vrf', 'status', 'role', 'tenant', 'description')
Exemple #24
0
class DeviceImportTable(BaseTable):
    name = tables.TemplateColumn(template_code=DEVICE_LINK)
    status = ChoiceFieldColumn()
    tenant = TenantColumn()
    site = tables.Column(linkify=True)
    rack = tables.Column(linkify=True)
    device_role = tables.Column(verbose_name='Role')
    device_type = tables.Column(verbose_name='Type')

    class Meta(BaseTable.Meta):
        model = Device
        fields = ('name', 'status', 'tenant', 'site', 'rack', 'position',
                  'device_role', 'device_type')
        empty_text = False
Exemple #25
0
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 '',
        }
Exemple #26
0
class VirtualMachineTable(BaseTable):
    pk = ToggleColumn()
    name = tables.Column(linkify=True)
    status = ChoiceFieldColumn()
    cluster = tables.Column(linkify=True)
    role = ColoredLabelColumn()
    tenant = TenantColumn()
    comments = MarkdownColumn()
    primary_ip4 = tables.Column(linkify=True, verbose_name='IPv4 Address')
    primary_ip6 = tables.Column(linkify=True, verbose_name='IPv6 Address')
    primary_ip = tables.Column(linkify=True,
                               order_by=PRIMARY_IP_ORDERING,
                               verbose_name='IP Address')
    tags = TagColumn(url_name='virtualization:virtualmachine_list')

    class Meta(BaseTable.Meta):
        model = VirtualMachine
        fields = (
            'pk',
            'id',
            'name',
            'status',
            'cluster',
            'role',
            'tenant',
            'platform',
            'vcpus',
            'memory',
            'disk',
            'primary_ip4',
            'primary_ip6',
            'primary_ip',
            'comments',
            'tags',
        )
        default_columns = (
            'pk',
            'name',
            'status',
            'cluster',
            'role',
            'tenant',
            'vcpus',
            'memory',
            'disk',
            'primary_ip',
        )
Exemple #27
0
class VLANTable(BaseTable):
    pk = ToggleColumn()
    vid = tables.TemplateColumn(template_code=VLAN_LINK, verbose_name='ID')
    site = tables.Column(linkify=True)
    group = tables.Column(linkify=True)
    tenant = TenantColumn()
    status = ChoiceFieldColumn(default=AVAILABLE_LABEL)
    role = tables.TemplateColumn(template_code=VLAN_ROLE_LINK)

    class Meta(BaseTable.Meta):
        model = VLAN
        fields = ('pk', 'vid', 'site', 'group', 'name', 'tenant', 'status',
                  'role', 'description')
        row_attrs = {
            'class':
            lambda record: 'success' if not isinstance(record, VLAN) else '',
        }
Exemple #28
0
class IPRangeTable(BaseTable):
    pk = ToggleColumn()
    start_address = tables.Column(linkify=True)
    vrf = tables.TemplateColumn(template_code=VRF_LINK, verbose_name='VRF')
    status = ChoiceFieldColumn(default=AVAILABLE_LABEL)
    role = tables.Column(linkify=True)
    tenant = TenantColumn()
    utilization = UtilizationColumn(accessor='utilization', orderable=False)
    tags = TagColumn(url_name='ipam:iprange_list')

    class Meta(BaseTable.Meta):
        model = IPRange
        fields = (
            'pk',
            'id',
            'start_address',
            'end_address',
            'size',
            'vrf',
            'status',
            'role',
            'tenant',
            'description',
            'utilization',
            'tags',
            'created',
            'last_updated',
        )
        default_columns = (
            'pk',
            'start_address',
            'end_address',
            'size',
            'vrf',
            'status',
            'role',
            'tenant',
            'description',
        )
        row_attrs = {
            'class': lambda record: 'success' if not record.pk else '',
        }
Exemple #29
0
class VLANTable(BaseTable):
    pk = ToggleColumn()
    vid = tables.TemplateColumn(
        template_code=VLAN_LINK,
        verbose_name='VID'
    )
    name = tables.Column(
        linkify=True
    )
    site = tables.Column(
        linkify=True
    )
    group = tables.Column(
        linkify=True
    )
    tenant = TenantColumn()
    status = ChoiceFieldColumn(
        default=AVAILABLE_LABEL
    )
    role = tables.Column(
        linkify=True
    )
    prefixes = TemplateColumn(
        template_code=VLAN_PREFIXES,
        orderable=False,
        verbose_name='Prefixes'
    )
    tags = TagColumn(
        url_name='ipam:vlan_list'
    )

    class Meta(BaseTable.Meta):
        model = VLAN
        fields = (
            'pk', 'id', 'vid', 'name', 'site', 'group', 'prefixes', 'tenant', 'status', 'role', 'description', 'tags',
            'created', 'last_updated',
        )
        default_columns = ('pk', 'vid', 'name', 'site', 'group', 'prefixes', 'tenant', 'status', 'role', 'description')
        row_attrs = {
            'class': lambda record: 'success' if not isinstance(record, VLAN) else '',
        }
Exemple #30
0
class DeviceTable(BaseTable):
    pk = ToggleColumn()
    name = tables.TemplateColumn(order_by=('_name', ),
                                 template_code=DEVICE_LINK)
    status = ChoiceFieldColumn()
    tenant = TenantColumn()
    site = tables.Column(linkify=True)
    location = tables.Column(linkify=True)
    rack = tables.Column(linkify=True)
    device_role = ColoredLabelColumn(verbose_name='Role')
    manufacturer = tables.Column(
        accessor=Accessor('device_type__manufacturer'), linkify=True)
    device_type = tables.Column(linkify=True, verbose_name='Type')
    if settings.PREFER_IPV4:
        primary_ip = tables.Column(linkify=True,
                                   order_by=('primary_ip4', 'primary_ip6'),
                                   verbose_name='IP Address')
    else:
        primary_ip = tables.Column(linkify=True,
                                   order_by=('primary_ip6', 'primary_ip4'),
                                   verbose_name='IP Address')
    primary_ip4 = tables.Column(linkify=True, verbose_name='IPv4 Address')
    primary_ip6 = tables.Column(linkify=True, verbose_name='IPv6 Address')
    cluster = tables.Column(linkify=True)
    virtual_chassis = tables.Column(linkify=True)
    vc_position = tables.Column(verbose_name='VC Position')
    vc_priority = tables.Column(verbose_name='VC Priority')
    comments = MarkdownColumn()
    tags = TagColumn(url_name='dcim:device_list')

    class Meta(BaseTable.Meta):
        model = Device
        fields = (
            'pk',
            'name',
            'status',
            'tenant',
            'device_role',
            'manufacturer',
            'device_type',
            'platform',
            'serial',
            'asset_tag',
            'site',
            'location',
            'rack',
            'position',
            'face',
            'primary_ip',
            'primary_ip4',
            'primary_ip6',
            'cluster',
            'virtual_chassis',
            'vc_position',
            'vc_priority',
            'comments',
            'tags',
        )
        default_columns = (
            'pk',
            'name',
            'status',
            'tenant',
            'site',
            'location',
            'rack',
            'device_role',
            'manufacturer',
            'device_type',
            'primary_ip',
        )