Docs
Infoblox NIOS

Technical Information

Infoblox NIOS to NetBox Object Mapping

Object Type Mapping Table

Infoblox NIOS ObjectNetBox ObjectKey Attributes
Network ViewTagname as infoblox-network-view:{name}; applied to all objects in that view
Network (IPv4 / IPv6)Prefixnetworkprefix, commentdescription, status "active", network view tag, custom_fields.infoblox_vlans
Network ContainerPrefixnetworkprefix, commentdescription, status "active", tagged network-container
DHCP Range (IPv4 / IPv6)PrefixCIDR calculated from start_addr/end_addr, status "active", tagged dhcp-range, role:dhcp
Fixed AddressIPAddressipv4addr/ipv6addraddress, namedns_name, status "dhcp" or "reserved", custom_fields.infoblox_match_client, custom_fields.infoblox_agent_circuit_id, custom_fields.infoblox_agent_remote_id
DHCP LeaseIPAddressOpt-in (INFOBLOX_SYNC_LEASES); only active leases. address, client_hostnamedns_name, status "dhcp"
Host Record (IPv4)IPAddressipv4addraddress as /32, hostname → dns_name, status "active"
Host Record (IPv6)IPAddressipv6addraddress as /128, hostname → dns_name, status "active"
A Record (forward DNS)IPAddressipv4addraddress as /32, namedns_name, commentdescription, status "active"; disabled records skipped
AAAA Record (forward DNS)IPAddressipv6addraddress as /128, namedns_name, commentdescription, status "active"; disabled records skipped
VLANVLANidvid, name, status (ASSIGNED/UNASSIGNED → "active", RESERVED → "reserved")
VLAN ViewVLANGroupname, description, vid_ranges, scope_site (from extattrs.Site)

Field Mapping Details

Prefix Status Mapping

Infoblox Object TypeNetBox StatusNotes
Network containeractiveTagged with network-container
Network (IPv4/IPv6)activeTagged with has_dhcp_ranges only when a matching DHCP range exists for that network
DHCP rangeactiveTagged with dhcp-range and role:dhcp

IP Address Status Mapping

Infoblox Object TypeNetBox StatusCondition
DHCP LeasedhcpOpt-in via INFOBLOX_SYNC_LEASES; only leases in the ACTIVE binding state are emitted
Fixed AddressdhcpWhen match_client is MAC_ADDRESS, CLIENT_ID, CIRCUIT_ID, or REMOTE_ID
Fixed AddressreservedWhen match_client is RESERVED, missing, or invalid
Host Record (IPv4 and IPv6)activeAlways (IPv4 as /32, IPv6 as /128)
A / AAAA Record (forward DNS)activeForward DNS record, unless the record is disabled (IPv4 as /32, IPv6 as /128)

VLAN Status Mapping

Infoblox VLAN StatusNetBox Status
ASSIGNEDactive
UNASSIGNEDactive
RESERVEDreserved

Network View to Tag Mapping

Network views in Infoblox are mapped to NetBox tags for filtering and organization:

Network ViewNetBox Tag
Any network viewinfoblox-network-view:{view_name}

All objects (prefixes, IP addresses) are tagged with their network view for easy filtering.

VLAN View to VLAN Group Mapping

VLAN views in Infoblox are separate from network views and map to VLAN groups in NetBox:

VLAN ViewNetBox VLAN Group
Any VLAN viewVLAN Group with name {view_name} VLANs and slug {view_name}-vlans

Custom Fields

Custom FieldObject TypePurpose
infoblox_match_clientIPAddressDHCP client matching identifier
infoblox_agent_circuit_idIPAddressDHCP relay agent circuit ID
infoblox_agent_remote_idIPAddressDHCP relay agent remote ID
infoblox_vlansPrefixJSON object containing VLAN associations from Infoblox

Policy Configuration

Config Parameters

  • BOOTSTRAP (optional): When true, only static entities (custom fields, tags) are created; no API calls. Default: false.
  • INFOBLOX_HOST (required when not BOOTSTRAP): Infoblox NIOS Grid Master hostname or IP address.
  • INFOBLOX_USER (required when not BOOTSTRAP): Infoblox NIOS username for authentication.
  • INFOBLOX_PWD (required when not BOOTSTRAP): Infoblox NIOS password for authentication.
  • INFOBLOX_VERSION (optional): WAPI version to use. Default: 2.11.
  • INFOBLOX_SSL_VERIFY (optional): Enable/disable SSL certificate verification. Default: false.
  • INFOBLOX_SYNC_LEASES (optional): When true, active DHCP leases are synced as IPAddress objects with status dhcp. Only leases in the ACTIVE binding state are emitted; leases in any other state (FREE, EXPIRED, RELEASED, ABANDONED, BACKUP) or with no binding state are skipped. Default: false. Leases can be numerous and short-lived; enable only when lease visibility in NetBox is required.
  • INFOBLOX_INCREMENTAL_SYNC (optional): When true, the integration uses an incremental engine that processes only objects changed since the last run, using the WAPI db_objects change feed and a watermark. When false (default), every run performs a full cold walk of the grid. Incremental sync requires Object Change Tracking (OCT) enabled on the Infoblox grid; if OCT is not enabled the integration logs a warning and falls back to a full sync. The first run after enabling it, and any run after the agent restarts, performs a full sync to establish a baseline. VLAN and VLAN View data is always collected on a full walk, even in incremental mode. Default: false.

On-demand sync

A trigger_api policy block exposes an authenticated POST /api/v1/integrations/{policy}/sync endpoint that starts a sync immediately, reusing the same run path as the scheduled job. Requests must carry the bearer token from the configured token_file. Configure it under the policy config with port and token_file keys. This is optional; when omitted, syncs run only on the configured schedule.

Scope Parameters

  • network_views (optional): List of network view names to ingest.

    • Default: ["*"] (all network views)
    • Use ["*"] to ingest all network views
    • Specify individual views: ["default", "prod", "dev"]
    • Empty list [] defaults to all network views
    • Invalid names cause validation error after fetching available views
  • network_to_dns_view_mapping (optional): Explicit mapping of network views to DNS views for host record queries, overriding what the integration discovers from the grid.

    • Format: {"network_view_name": "dns_view_name"}
    • Example: {"prod": "prod-dns", "dev": "dev-dns"}
    • The integration resolves each network view's DNS view with the following precedence:
      1. An explicit entry in this mapping (existence-checked against the grid's DNS views)
      2. The DNS-view association discovered from the grid via GET view?_return_fields=name,network_view
      3. A naming convention fallback, reached only when grid discovery fails: default network view → default DNS view, other network views → default.{network_view} DNS view
    • If discovery succeeds but a network view has no associated DNS view, that view's host records are skipped with a warning rather than falling back to the convention.
  • site_ea_name (optional): Name of the Infoblox Extensible Attribute used to derive the NetBox Site for prefixes and VLAN groups. Default: "Site". Set this if your EA that holds site names has a different name (for example "Location" or "NetBox_Site").

  • ea_tags (optional): List of Extensible Attribute names whose values are emitted as NetBox tags on the form ea:{name}:{value}. Default: [] (no EA tags). Use this to propagate Infoblox metadata into NetBox tags for filtering. Example: ["Environment", "Owner"] produces tags like ea:Environment:prod and ea:Owner:network-team.

Tags and Metadata

Global Tags

All created entities are automatically tagged with:

  • infoblox - Identifies objects from Infoblox NIOS
  • discovered - Marks objects as auto-discovered
  • infoblox-{hostname} - Unique tag per Infoblox host (not applied in bootstrap mode)

Object-Specific Tags

Prefixes:

  • infoblox-network-view:{view_name} - Network view membership
  • network-container - Identifies network containers
  • has_dhcp_ranges - Identifies networks with DHCP ranges
  • dhcp-range - Identifies DHCP range prefixes
  • role:dhcp - Role tag for DHCP ranges

IP Addresses:

  • infoblox-network-view:{view_name} - Network view membership
  • dhcp-configured - Host records with DHCP enabled
  • infoblox-dns-record:a - IP address backed by a forward DNS A record
  • infoblox-dns-record:aaaa - IP address backed by a forward DNS AAAA record

VLANs:

  • infoblox-vlan-view:{view_name} - VLAN view membership
  • infoblox-vlan-range:{range_name} - VLAN range membership (if in a range)
  • infoblox-vlan-status:{status} - Original Infoblox status (ASSIGNED, UNASSIGNED, RESERVED)
  • infoblox-vlan-reserved - Reserved flag is set

API and Behavior Notes

  • APIs used: Infoblox WAPI endpoints including:

    • network - IPv4 network objects
    • ipv6network - IPv6 network objects
    • networkcontainer - Network containers
    • fixedaddress - IPv4 DHCP fixed addresses
    • ipv6fixedaddress - IPv6 DHCP fixed addresses
    • lease - DHCP leases (only queried when lease sync is enabled)
    • record:host - Host records (IPv4 and IPv6 addresses are read from the nested ipv4addrs/ipv6addrs arrays)
    • record:a - Forward DNS A records
    • record:aaaa - Forward DNS AAAA records
    • range - IPv4 DHCP ranges
    • ipv6range - IPv6 DHCP ranges
    • vlan - VLANs
    • vlanview - VLAN views
    • networkview - Network views
    • view - DNS views (used to discover each network view's DNS-view association)
    • grid - Object Change Tracking state (probed when incremental sync is enabled)
    • db_objects - Change feed used by incremental sync

    The record:host_ipv4addr and record:host_ipv6addr leaf types have no standalone full-sync endpoint; they appear only in the incremental change feed for address-only host changes and are normalized to the same shape as a full record:host.

  • Network view filtering: Objects are synchronized based on configured network views:

    • By default, all network views are synchronized (["*"])
    • Explicit list restricts to specified views
    • Invalid view names cause validation error
    • Each network view is queried separately to ensure complete data collection
  • DNS view mapping: Host records (record:host) are queried using DNS views. The DNS view for each network view is resolved with the following precedence:

    • An explicit entry in the network_to_dns_view_mapping scope parameter
    • The DNS-view association discovered from the grid via GET view?_return_fields=name,network_view
    • A naming convention fallback (defaultdefault, others → default.{network_view}), reached only when grid discovery fails
  • Synchronization mode:

    • By default, every run performs a full cold walk of the grid
    • With INFOBLOX_INCREMENTAL_SYNC: true, runs process only objects changed since the last run using the db_objects change feed and a watermark; this requires Object Change Tracking (OCT) enabled on the grid
    • If OCT is not enabled, the integration logs a warning and falls back to a full sync
    • VLAN and VLAN View data is always collected on a full walk, even in incremental mode
  • DHCP synchronization:

    • Fixed addresses (reservations) are created as IPAddress objects
      • Status: dhcp (if match_client is set) or reserved
      • Match type stored in infoblox_match_client custom field
      • Agent circuit/remote IDs stored in custom fields when applicable
    • DHCP leases are opt-in (INFOBLOX_SYNC_LEASES); only active leases are emitted, as IPAddress objects with status dhcp
    • DHCP ranges are created as Prefix objects with dhcp-range and role:dhcp tags
    • Range CIDR is calculated using address summarization
  • Forward DNS records:

    • Infoblox record:a and record:aaaa objects are synced as IPAddress objects (/32 and /128) with the record name as dns_name and the record comment as the description. This is on by default; there is no opt-out flag. Records with disable set are skipped, since they are not serving DNS.
    • A/AAAA records carry only a DNS view (the grid rejects network_view as a return field), so the network view is derived from the DNS view via the same view-topology reverse map used for scoping, then applied as the infoblox-network-view:{view} tag.
    • Forward records are tracked in incremental sync as well as the full walk. Reverse DNS (PTR), CNAME records, and DNS zones are out of scope.
  • Hostname handling:

    • The dns_name field on IPAddress objects is populated from:
      • Fixed address name field
      • Host record (record:host) hostname
      • Forward DNS A / AAAA record name
      • DHCP lease client_hostname field (when lease sync is enabled)
    • When more than one source contributes the same IP address, they merge into a single NetBox object: status comes from the first source (first-writer-wins), while dns_name is filled by the first source that provides a non-empty value. A nameless lease or fixed address therefore no longer suppresses a real FQDN carried by a DNS record.
  • Network containers:

    • Network containers maintain hierarchical structure in NetBox
    • Status is set to active (not container)
    • Tagged with network-container for identification
    • Child networks reference parent containers through prefix hierarchy
  • VLAN associations:

    • Networks can be associated with VLANs in Infoblox
    • VLAN associations are stored in the infoblox_vlans custom field as JSON
    • Format: [{"id": 100, "name": "Data VLAN"}, ...]
  • Site extraction:

    • Sites are extracted from Infoblox extensible attributes
    • Attribute name: Site
    • Applied to prefixes and VLAN groups

On this page