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

Meraki Plugin Configuration

{% csrf_token %}
Device Role Mappings

Configure which NetBox device role to use for each Meraki product type.

{{ form.mx_device_role }} {{ form.mx_device_role.help_text }}
{{ form.ms_device_role }} {{ form.ms_device_role.help_text }}
{{ form.mr_device_role }} {{ form.mr_device_role.help_text }}
{{ form.mg_device_role }} {{ form.mg_device_role.help_text }}
{{ form.mv_device_role }} {{ form.mv_device_role.help_text }}
{{ form.mt_device_role }} {{ form.mt_device_role.help_text }}
{{ form.default_device_role }} {{ form.default_device_role.help_text }}
{{ form.auto_create_device_roles }}
Name Transformation Settings

Control how names are transformed when syncing from Meraki Dashboard.

{{ form.device_name_transform }} {{ form.device_name_transform.help_text }}
Examples:
Keep Original: Switch-Floor1
UPPERCASE: SWITCH-FLOOR1
lowercase: switch-floor1
Title Case: Switch-Floor1
{{ form.site_name_transform }} {{ form.site_name_transform.help_text }}
Examples:
Keep Original: New York Office
UPPERCASE: NEW YORK OFFICE
lowercase: new york office
Title Case: New York Office
{{ form.process_unmatched_sites }}
{{ form.process_unmatched_sites.help_text }}
{{ form.vlan_name_transform }} {{ form.vlan_name_transform.help_text }}
Examples:
Keep Original: Management
UPPERCASE: MANAGEMENT
lowercase: management
Title Case: Management
{{ form.ssid_name_transform }} {{ form.ssid_name_transform.help_text }}
Examples:
Keep Original: Guest-WiFi
UPPERCASE: GUEST-WIFI
lowercase: guest-wifi
Title Case: Guest-Wifi
Note: Name transformations are applied during sync. Existing objects won't be renamed automatically. Site name transformations are applied after regex rules.
Tag Configuration

Configure tags to be automatically applied to synced objects. Use comma-separated values for multiple tags.

{{ form.site_tags }} {{ form.site_tags.help_text }}
Example: Meraki,Production
{{ form.device_tags }} {{ form.device_tags.help_text }}
Example: Meraki,Network-Device
{{ form.vlan_tags }} {{ form.vlan_tags.help_text }}
Example: Meraki,VLAN
{{ form.prefix_tags }} {{ form.prefix_tags.help_text }}
Example: Meraki,Subnet
Note: Tags will be automatically created if they don't exist. Multiple tags can be specified using comma-separated values. Changes will apply to newly synced objects and when existing objects are updated during sync.
API Performance Settings

Configure Meraki Dashboard API performance and rate limiting options.

{{ form.enable_api_throttling }}
{{ form.enable_api_throttling.help_text }}
{{ form.api_requests_per_second }} {{ form.api_requests_per_second.help_text }}
{{ form.enable_multithreading }}
{{ form.enable_multithreading.help_text }}
{{ form.max_worker_threads }} {{ form.max_worker_threads.help_text }}
About API Performance:
  • API Throttling: Rate limits requests to avoid hitting Meraki Dashboard API limits (10 requests/second). Recommended to keep enabled.
  • Multithreading: Fetches data from multiple networks concurrently for faster syncs. May increase API usage.
  • Recommended Settings: Throttling ON with 5 req/sec, Multithreading OFF for safe operation.
  • High-Performance: Throttling OFF, Multithreading ON with 3-5 threads for fastest sync (may hit rate limits).
Warning: Disabling throttling or using too many threads may cause API rate limit errors from Meraki Dashboard. Test changes with dry-run mode first.
Site Name Transformation Rules Add Rule

Define rules to transform Meraki network names into NetBox site names using regular expressions. Rules are evaluated in priority order (lower numbers first).

{% if site_rules %} {% for rule in site_rules %} {% endfor %}
Priority Name Pattern Template Status Actions
{{ rule.priority }} {{ rule.name }} {{ rule.regex_pattern }} {{ rule.site_name_template }} {% if rule.enabled %} Enabled {% else %} Disabled {% endif %} Edit Delete
{% else %}
No site name rules configured. Network names will be used as-is for site names.
{% endif %}
Example:
  • Pattern: ^asia-south-(.+)-oil$
  • Template: Asia South - {0} - Oil
  • Input: asia-south-mumbai-oil
  • Output: Asia South - mumbai - Oil
Prefix Filter Rules Add Filter Rule

Define rules to filter which prefixes are synced from Meraki to NetBox. Use these rules to exclude conflicting prefixes or include only specific ranges. Rules are evaluated in priority order (lower numbers first).

{% if prefix_filter_rules %} {% for rule in prefix_filter_rules %} {% endfor %}
Priority Name Type Pattern Length Filter Status Actions
{{ rule.priority }} {{ rule.name }} {% if rule.filter_type == 'exclude' %} Exclude {% else %} Include Only {% endif %} {% if rule.prefix_pattern %} {{ rule.prefix_pattern }} {% else %} All prefixes {% endif %} {{ rule.get_prefix_length_filter_display }} {% if rule.min_prefix_length %} ({{ rule.min_prefix_length }} {% if rule.max_prefix_length and rule.prefix_length_filter == 'range' %} - {{ rule.max_prefix_length }} {% endif %} ) {% endif %} {% if rule.enabled %} Enabled {% else %} Disabled {% endif %} Edit Delete
{% else %}
No prefix filter rules configured. All prefixes will be synced.
{% endif %}
Examples:
  • Exclude /32 host routes: Filter Type: Exclude, Length Filter: Exact, Min Length: 32
  • Include only /24 subnets: Filter Type: Include Only, Length Filter: Exact, Min Length: 24
  • Exclude 192.168.0.0/16 range: Filter Type: Exclude, Pattern: 192.168.0.0/16
  • Include prefixes >= /20: Filter Type: Include Only, Length Filter: Greater, Min Length: 20
Static Plugin Configuration
Note: These settings are read from NetBox's configuration file and cannot be changed here. Edit your configuration.py or environment variables to change these settings.
{% for key, value in static_config.items %} {% endfor %}
{{ key }} {% if value is None %} Not set {% elif value == True %} Enabled {% elif value == False %} Disabled {% else %} {{ value }} {% endif %}
Back to Dashboard
{% endblock %}