{% extends 'netbox_meraki/base.html' %} {% load static %} {% block page_content %}

Meraki Sync Dashboard

Configuration Status
API Key: {% if api_key_configured %} Configured {% else %} Not Configured

Configure the Meraki API key in NetBox configuration.py

{% endif %}
Device Roles: {% if device_roles_configured %} {{ configured_roles_count }} Override{{ configured_roles_count|pluralize }}

Device role names customized in configuration.py

{% else %} Using Defaults

Using default device role names. Customize in configuration.py or web UI.

{% endif %}
{% if has_additional_config %}
Additional Settings: {{ other_configs_count }} Parameter{{ other_configs_count|pluralize }}

Auto-creation, defaults, and other settings configured in configuration.py

{% endif %}
Latest Sync
{% if latest_sync %}

Time: {{ latest_sync.timestamp }}

Status: {{ latest_sync.status|upper }}

Devices: {{ latest_sync.devices_synced }}

VLANs: {{ latest_sync.vlans_synced }}

Prefixes: {{ latest_sync.prefixes_synced }}

{% if latest_sync.deleted_devices or latest_sync.deleted_vlans or latest_sync.deleted_prefixes %}

Cleaned: {{ latest_sync.deleted_devices }} devices, {{ latest_sync.deleted_vlans }} VLANs, {{ latest_sync.deleted_prefixes }} prefixes

{% endif %} {% else %}

No synchronization performed yet.

{% endif %}
{% if running_syncs %}
Running Syncs {{ running_syncs|length }}
{% for sync in running_syncs %} {% endfor %}
Started Sync Mode Progress Current Operation Status Actions
{{ sync.timestamp }} {% if sync.sync_mode == 'full' %} Full Sync {% elif sync.sync_mode == 'selective' %} Selective {% else %} {{ sync.sync_mode|title }} {% endif %}
{{ sync.progress_percent|default:0 }}%
{{ sync.current_operation|default:"Initializing..." }} RUNNING View Details
{% endif %}
Recent Sync Logs
{% if recent_logs %} {% for log in recent_logs %} {% endfor %}
Timestamp Status Organizations Networks Devices VLANs Prefixes Duration Actions
{{ log.timestamp }} {% if log.status == 'success' %} {{ log.status|upper }} {% elif log.status == 'partial' %} {{ log.status|upper }} {% elif log.status == 'failed' %} {{ log.status|upper }} {% elif log.status == 'running' %} {{ log.status|upper }} {% else %} {{ log.status|upper }} {% endif %} {{ log.organizations_synced }} {{ log.networks_synced }} {{ log.devices_synced }} {{ log.vlans_synced }} {{ log.prefixes_synced }} {% if log.duration_seconds %} {{ log.duration_seconds|floatformat:2 }}s {% else %} - {% endif %} View Details
{% else %}

No sync logs available.

{% endif %}
Scheduled Sync Jobs {% if scheduled_jobs_count %} {{ scheduled_jobs_count }} Total {% endif %}
{% if scheduled_jobs %} {% for job in scheduled_jobs %} Active {% endfor %}
Name Interval Next Run Status Actions
{{ job.name }} {% if job.description %}
{{ job.description }} {% endif %}
{% if job.interval %} Every {{ job.interval }} minutes {% else %} One-time {% endif %} {% if job.scheduled %} {{ job.scheduled }} {% else %} Pending {% endif %}
Edit
{% csrf_token %}
{% if scheduled_jobs_count > 5 %}

Showing 5 most recent of {{ scheduled_jobs_count }} scheduled jobs

View All Scheduled Jobs
{% endif %} {% else %}

No scheduled jobs configured.

Create Scheduled Job {% endif %}
{% endblock %}