{# SPDX-License-Identifier: Apache-2.0 #} {# Copyright (C) 2025 Marcin Zieba #} {# Lazy-loaded fragment: VLAN database (M34) — paginated from last-synced state. #}
{% include "netbox_nso_plugin/categories/_adapter_error.html" %}
{% include "netbox_nso_plugin/categories/_cat_search.html" with placeholder=placeholder q=q %} {% if vlan_states %}

Rename a VLAN inline; shared VLANs are coordinated across every attached managed device. Change VID or group with Re-scope or from the native VLAN page.

{% for s in vlan_states %} {% endfor %}
VLANNameStatusLast Synced
VID {{ s.vlan.vid }} {% if s.vlan.group %}
{{ s.vlan.group }}
{% endif %}
{% url 'plugins:netbox_nso_plugin:overlay_field_edit' key='vlan_name' pk=s.pk as vlan_edit_url %} {{ s.vlan.name|default:"—" }} {% if s.device_name and s.device_name != s.vlan.name %}
device: {{ s.device_name }}
{% endif %}
{% include "netbox_nso_plugin/categories/_state_badge.html" with status=s.status residue=s.residue_survivor residue_job=s.residue_job_id %} {% if s.last_sync_at %}{{ s.last_sync_at|date:"Y-m-d H:i" }}{% else %}—{% endif %}
{% url 'plugins:netbox_nso_plugin:vlan_accept' pk=s.pk as accept_url %}{% include "netbox_nso_plugin/categories/_accept_cell.html" with accept_url=accept_url status=s.status form_class="nso-row-form" title="Make NetBox the source of truth for this VLAN (vid + name written to the device on Apply)" %}
{% include "netbox_nso_plugin/categories/_cat_pager.html" with page=page %} {% else %}

No VLAN database{% if q %} matching “{{ q }}”{% else %} reported for this device{% endif %}.

{% endif %}