Skip to main content
CloudEnterprise

Technical Information

Cisco Meraki to NetBox Object Mapping

This document provides a comprehensive mapping of Cisco Meraki object types to their corresponding NetBox object types, based on the integration implementation.

Object Type Mapping Table

Cisco Meraki ObjectNetBox Object TypeKey Fields MappedMapping Details
NetworkSiteResolved name → name
nameslug
Floor plan center → latitude, longitude
First network tagstags
All networks → custom_fields.meraki_networks (JSON)
First network configTemplateIdgroup (SiteGroup)Networks grouped by resolved site name (see Network-to-Site Resolution). Site-level fields from first network in group; all network metadata in meraki_networks. Coordinates from first network's first floor plan center (default Meraki coords filtered out).
Configuration TemplateSiteGroupnamename
nameslug
Full template API → custom_fields.meraki_template_metadata (JSON)One SiteGroup per Meraki config template. Sites bound to a template link to this group.
Device (standalone or stack member)Devicename or serialname
modeldevice_type
serialserial
productTyperole
firmware + model prefix → platform
Status API → status
tagstags
Network configTemplateIdcustom_fields.meraki_template_idcustom_fields: meraki_serial; stack members also meraki_stack_id, meraki_stack_name. Only productTypes wireless, switch, appliance are supported. Device filtered by allowed networks.
Switch StackVirtualChassisname or idname
Key: stack idOne VirtualChassis per stack from getNetworkSwitchStacks. Master = member with role active; non-master get vc_position.
Device TypeDeviceTypemodelmodel
Manufacturer: CiscoOne device type per model.
Device RoleDeviceRoleproductTypenamewireless → "Wireless AP", switch → "Switch", appliance → "Firewall".
PlatformPlatformmodel prefix (MR/MS/MX) + firmwarenamee.g. "Meraki MR 1.2.3". One platform per unique name; linked to manufacturer.
ManufacturerManufacturerStatic → name "Cisco"Single manufacturer for all devices.
Wireless LANWirelessLANnamessid
enabledstatus
authModeauth_type
encryptionModeauth_cipher
scope_site
defaultVlanId (Bridge mode) → vlan
RADIUS keys → custom_fields.meraki_radius_config (JSON)Only enabled SSIDs with non-empty name. Key: (network_id, ssid_name). VLAN link when ipAssignmentMode is Bridge mode.
VLANVLANidvid
namename
status "active"
group = VLANGroupAppliance networks only. Key: (network_id, vlan_id). SSID default VLAN name may be updated.
VLAN GroupVLANGroupnetwork.namename "… VLANs"
slug
scope_site (resolved site)
descriptionOne per network. Key: network_id.
InterfaceInterfaceVaries by device type (see Interface section)Key: (device_serial, interface_name). Includes radios (MR), switch ports (MS), appliance physical/VLAN/Single LAN (MX), management interfaces, and LAGs.
IP AddressIPAddressAppliance VLAN: applianceIp + subnet/CIDR
Single LAN: applianceIp
Management: staticIp + staticSubnetMask
IPv6: staticApplianceIp6 + prefixVLAN gateway IPs on VLAN interfaces; Single LAN IP on LAN interface; static management IPs on management interfaces. status "active".
MAC AddressMACAddressDevice macmac_address (uppercase)
Assigned to first management interface (alphabetically)One MAC per device with management interface config; attached to first management interface by name.
PrefixPrefixDerived from IP address networksFrom interface IPs; /32 and /128 skipped. status "active", scope_site from device 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.