Skip to main content
CloudEnterprise

Technical Information

HPE Juniper Networking Mist to NetBox Object Mapping

Object Type Mapping Table

Mist ObjectNetBox ObjectKey Attributes
SiteSitename, slug, time_zone, custom_fields.mist_id, custom_fields.mist_org_id
(unassigned devices)Sitename "Unassigned Mist Inventory"
Inventory device (standalone)Devicename (or serial), serial, status, role, device_type, platform, site, custom_fields.mist_mac, custom_fields.mist_device_status, custom_fields.mist_device_id
Inventory device (VC member)Devicevc_name+fpc_idxname, member serial, device_type, platform, virtual_chassis, vc_position, custom_fields.mist_mac, custom_fields.mist_vc_mac, custom_fields.mist_vc_role, custom_fields.mist_device_status, custom_fields.mist_device_id
vc_mac (switch stack)VirtualChassisname
Device modelDeviceTypemodel, slug, custom_fields.mist_type
Device typeDeviceRolename, slug (e.g. "ap", "switch", "gateway")
Device versionPlatformname "Junos {version}", manufacturer "Juniper"
(static)Manufacturername "Juniper"
Org network templateVLANGroupname "{site} VLANs", slug, scope_site
Template network VLANVLANname, vid, status "active", group
WLANWirelessLANssid, status, auth_type, auth_cipher, scope_site, custom_fields.mist_wlan_id, custom_fields.mist_ap_ids, custom_fields.mist_ap_scope, custom_fields.mist_wxtag_ids, custom_fields.mist_ap_mac_addresses_serving_this
Device stats interfaceInterfacename, enabled, type, custom_fields.mist_interface_port_id
Interface IP from device statsIPAddressaddress (CIDR), status "active", assigned_object
Interface port MAC from statsMACAddressmac_address (uppercase)
(per-site, when IP conflict)VRFname "mist-site-{site.name}"

Field Mapping Details

Device Status Mapping

Mist Connection StatusNetBox Status
Missing or invalid site_id (unassigned)inventory
true (connected)active
false (disconnected)offline

Wireless LAN Status Mapping

Mist WLAN StatusNetBox Status
true (enabled)active
false (disabled)disabled

Authentication Type Mapping

Mist Auth TypeNetBox Auth Type
openopen
pskwpa-personal
psk-tkipwpa-personal
psk-wpa2-tkipwpa-personal
eapwpa-enterprise
eap192wpa-enterprise
wepwep
Any other valueUnknown

Authentication Cipher Mapping

Mist Auth TypeMist Pairwise CiphersNetBox Auth Cipher
eap192Anyaes
psk-tkip | psk-wpa2-tkipAnytkip
wepAnyauto
openAnyNone
psk | eapContains "tkip"tkip
psk | eapContains "ccmp" or "wpa3"aes
psk | eapNo recognized cipherNone
Unknown auth_typeIntegration raises

Cipher uses Mist auth.pairwise list (e.g. wpa2-ccmp, wpa2-tkip, wpa3).

Interface Type Heuristics

Interface Name PatternNetBox Type
ge-*1000base-t
vme* or VLAN*virtual
Otherother

Site Assignment Logic

  1. Allowed sites: From policy scope sites (list of site names). ["*"] or empty means all sites.
  2. Valid site: Device site_id present in allowed site IDs → assign to that NetBox site.
  3. Unassigned fallback: Missing or invalid site_id (e.g. 00000000-0000-0000-0000-000000000000) or site not in allowed list → assign to "Unassigned Mist Inventory" site.
  4. Inventory filtering: Only devices in allowed sites (or unassigned) are ingested; same for devices/search when building device–WLAN mapping.

WLAN Scope and Custom Fields

WLANs are always scoped to a site (scope_site). Mist scope is stored in custom fields:

Mist apply_toCustom Field Usage
siteStandard site scope
wxtagsmist_wxtag_ids (JSON array)
apsmist_ap_ids (JSON array)
NoneSite scope

Virtual Chassis Detection

  • Condition: type == "switch" and vc_mac starts with 0200 (Juniper VC MAC prefix).
  • VirtualChassis: One per unique vc_mac; name from device name.
  • Member devices: Built from getSiteDeviceStats module_stat; member name \{vc_name\}-member-\{fpc_idx\}; master by vc_role='master' or lowest fpc_idx.

Device–WLAN Matching

  • Source: devices/search (type=ap, duration=1h) gives per-device wlans[] (id, ssid).
  • Uniqueness: WLANs keyed by (wlan_id, site_id, ssid); only WLANs present in listSiteWlansDerived for that site are used.
  • Device custom field: mist_wlans_served (object, multiple) references the WirelessLAN entities the device serves.
  • WLAN custom field: mist_ap_mac_addresses_serving_this (JSON array of AP MAC addresses) populated after matching.

Custom Fields

Custom FieldObject TypePurpose
mist_idSiteMist site ID
mist_org_idSiteMist organization ID
mist_typeDevice TypeMist device type (ap, switch, etc.)
mist_macDeviceMist device MAC
mist_vc_macDeviceVirtual Chassis MAC (VC members only)
mist_vc_roleDeviceVC role: master, backup, or empty (VC members only)
mist_device_idDeviceMist device ID
mist_device_statusDeviceOriginal Mist status: connected, disconnected, or unassigned
mist_wlans_servedDeviceJSON array of WLANs served by this device, each with ssid and wlan_id
mist_wlan_idWireless LANMist WLAN ID
mist_ap_idsWireless LANJSON array of AP IDs
mist_ap_scopeWireless LANapply_to (site, wxtags, aps)
mist_wxtag_idsWireless LANJSON array of WxTag IDs when apply_to=wxtags
mist_ap_mac_addresses_serving_thisWireless LANJSON array of AP MAC addresses serving this WLAN
mist_interface_port_idInterfaceMist port ID for the interface

Policy Configuration

  • BOOTSTRAP (optional): When true, only static entities (custom fields, manufacturer) are created; no Mist API calls.

  • MIST_APITOKEN (required when not BOOTSTRAP): Mist API token.

  • MIST_ORG_ID (required when not BOOTSTRAP): Mist organization ID.

  • MIST_ENVIRONMENT (optional): Mist cloud environment. Defaults to "Global 01" (api.mist.com). Each Mist organization is hosted in a specific cloud environment — if not specified, Global 01 is used. See Mist API Environments to identify which environment your organization uses.

    EnvironmentAPI Host
    Global 01api.mist.com
    Global 02api.gc1.mist.com
    Global 03api.ac2.mist.com
    Global 04api.gc2.mist.com
    Global 05api.gc4.mist.com
    EMEA 01api.eu.mist.com
    EMEA 02api.gc3.mist.com
    EMEA 03api.ac6.mist.com
    EMEA 04api.gc6.mist.com
    APAC 01api.ac5.mist.com
    APAC 03api.gc7.mist.com
  • Scope – sites (optional): List of site names to include; default ["*"] for all sites. Invalid or missing names cause validation to fail after fetching sites.

Tags and Metadata

All created entities are tagged with:

  • juniper
  • mist
  • discovered

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

API and Behavior Notes

  • APIs used: listOrgSites, getOrgInventory, listOrgNetworkTemplates, getSiteDeviceStats (with fields="ports"), searchOrgDevices (type=ap), listSiteWlansDerived.
  • Rate limiting: Custom retry (e.g. MistCustomRetry) for 429, 5xx with Retry-After support.
  • Device naming: Standalone: name or serial or "Unnamed". VC members: \{vc_name\}-member-\{fpc_idx\}.
  • WLAN uniqueness: Deduplicated by (wlan_id, site_id, ssid). WLANs with no serving devices are still created from site-derived WLANs.
  • Interfaces: Only devices with a valid site_id (and in allowed sites) have stats fetched; unassigned devices do not get interfaces or IPs from this integration.