Skip to main content
CloudEnterprise

Technical Information

Cisco Meraki to NetBox Object Mapping

Object Type Mapping Table

Meraki ObjectNetBox ObjectKey Attributes
NetworkSitename, slug, latitude, longitude, tags, custom_fields.meraki_networks (JSON), group → SiteGroup
Configuration TemplateSiteGroupname, slug, custom_fields.meraki_template_metadata (JSON)
Device (wireless, switch, appliance)Devicename (or serial), serial, device_type, role, platform, status, tags, custom_fields.meraki_serial, custom_fields.meraki_template_id
Switch StackVirtualChassisname (or stack id)
Device modelDeviceTypemodel, manufacturer "Cisco"
productTypeDeviceRole"Wireless AP", "Switch", or "Firewall"
firmware + model prefixPlatformname (e.g. "Meraki MR 1.2.3")
(static)Manufacturername "Cisco"
SSIDWirelessLANssid, status, auth_type, auth_cipher, vlan, custom_fields.meraki_radius_config
Appliance VLANVLANvid, name, status "active", group → VLANGroup
NetworkVLANGroupname "{network} VLANs", slug, scope_site
Switch port / radio / appliance port / management interfaceInterfacename, type, enabled, mode, custom_fields.meraki_serial, custom_fields.meraki_port_id
Interface IPIPAddressaddress (CIDR), status "active"
Device macMACAddressmac_address (uppercase), assigned to management interface
(derived from interface IPs)Prefixprefix, status "active", scope_site

Field Mapping Details

Device Status Mapping

Meraki status (getOrganizationDevicesStatuses)NetBox Status
onlineactive
alertingactive
offlineoffline
dormantinventory
Any other / no statusactive

Wireless LAN Status Mapping

Meraki SSID enabledNetBox Status
trueactive
falsedisabled (SSIDs with enabled=false are skipped)

Device Role Mapping

Meraki productTypeNetBox Device Role
wirelessWireless AP
switchSwitch
applianceFirewall

Authentication Type Mapping

Meraki authModeNetBox Auth Type
openopen
pskwpa-personal
8021x-merakiwpa-enterprise
8021x-radiuswpa-enterprise
ipsk-with-radiuswpa-enterprise
Any other valueopen

Authentication Cipher Mapping

Meraki encryptionModeNetBox Auth Cipher
wepwep
wpatkip
wpa-eaptkip
wpa2aes
wpa2-eapaes
openauto
Any other valueauto

VLAN Status Mapping

Meraki VLANNetBox Status
All VLANs from APIactive

Network-to-Site Resolution

Site name for a Meraki network is resolved in order:

  1. network_site_mapping: If scope.network_site_mapping contains the network name, use the mapped NetBox site name.
  2. default_site: If config.defaults.site is set, use it for unmapped networks.
  3. Network name: Otherwise use the Meraki network name (one site per network name).

Multiple networks can map to the same site; the first network (by name) supplies site-level fields and template binding.

Interface Types by Device Role

Device TypeInterface SourceNotes
MR (Wireless AP)getDeviceWirelessRadioSettingsRadio1 (2.4GHz), Radio2 (5GHz), Radio3 (6GHz) if present. Type other. No physical management port created as separate interface; management comes from getDeviceManagementInterface.
MS (Switch)getDeviceSwitchPortsPort{portId}. Type from linkNegotiationCapabilities (10g/5g/2.5g/1g/100M, SFP vs copper). Mode: trunk→tagged, else access. meraki_serial, meraki_port_id. Stack ports → type other.
MX (Appliance)getNetworkAppliancePortsPhysical Port{number}; type from model-based mapping (MX_PORT_MAPPINGS). VLAN interfaces: VLAN{vlan_id}, type virtual. Single LAN: one "LAN" interface when vlansEnabled=false.
AllgetDeviceManagementInterfaceManagement interfaces by name from API; type from model (MR: MR_MGMT_PORT_TYPES, MS: 1000base-t, MX: 1000base-t). enabled = (wanEnabled == "enabled"). Static IPs created for management interfaces; primary IPs set from these (inactive stack members skipped).

LAG Interfaces

  • From getNetworkSwitchLinkAggregations. "LAG {id}" (single-device) or "Stack LAG {id}" (cross-device). Type lag. Cross-device LAGs assigned to active stack member. Member ports linked to LAG.

Site Groups (Templates)

  • Built from getOrganizationConfigTemplates. Site is linked to SiteGroup when its first network has configTemplateId. meraki_template_metadata stores full template API response.

Custom Fields

Custom FieldObject TypePurpose
meraki_networksSiteJSON array of network metadata (id, template_id, name, latitude, longitude, tags) for all networks in the site
meraki_radius_configWireless LANJSON object of RADIUS-related keys from SSID config
meraki_stack_idDeviceMeraki switch stack ID (stack members and master)
meraki_stack_nameDeviceMeraki switch stack name
meraki_serialDevice, InterfaceMeraki device serial number
meraki_port_idInterfacePort ID for API (switch portId, appliance port number or VLAN ID)
meraki_template_idDeviceConfig template ID inherited from network
meraki_template_metadataSiteGroupFull Meraki template API response (JSON)

Policy Configuration

  • BOOTSTRAP (optional): When true, only static entities (custom fields, manufacturer) are created; no API calls.
  • MERAKI_API_KEY (required when not BOOTSTRAP): Meraki Dashboard API key.
  • MERAKI_ORG_ID (required when not BOOTSTRAP): Meraki organization ID.
  • MERAKI_COUNTRY (optional): Base URL override. Valid: canada, china, india, united-states-fedramp.
  • defaults.site (optional): Default NetBox site name for unmapped networks.
  • Scope – networks (optional): List of network names to ingest; default ["*"]. Invalid names cause validation to fail after fetching networks.
  • Scope – network_site_mapping (optional): Dict mapping Meraki network names to NetBox site names. Validated against allowed networks and existing Meraki networks.

Tags and Metadata

All created entities are tagged with:

  • cisco
  • meraki
  • discovered

Optional unique tag: meraki-\{org_id\} when not in bootstrap mode.

Sites inherit tags from the first network in the group; devices inherit tags from Meraki device data.

API and Behavior Notes

  • APIs used: getOrganization, getOrganizationNetworks, getOrganizationConfigTemplates, getOrganizationDevices, getOrganizationDevicesStatuses, getNetworkFloorPlans, getNetworkApplianceVlans, getNetworkApplianceVlansSettings, getNetworkApplianceSingleLan, getNetworkAppliancePorts, getNetworkSwitchStacks, getNetworkSwitchLinkAggregations, getDeviceWirelessRadioSettings, getDeviceSwitchPorts, getDeviceManagementInterface, getNetworkWirelessSsids, getNetworkApplianceVlans (per network).
  • Rate limiting: Meraki SDK with wait_on_rate_limit=True, maximum_retries=4.
  • Device filtering: Only productType in wireless, switch, appliance; devices filtered by allowed networks (networkId in allowed list).
  • Primary IP: Set from management interface static IPs; first IPv4 and first IPv6 by interface name (non–link-local). Inactive stack members do not get primary IP.
  • Prefixes: Derived from all interface IP addresses; single-host (/32, /128) excluded.
  • Single LAN: When appliance network has vlansEnabled=false, Single LAN config used; one "LAN" interface and one IP created.