Technical Information
Infoblox NIOS to NetBox Object Mapping
Object Type Mapping Table
| Infoblox NIOS Object | NetBox Object | Key Attributes |
|---|---|---|
Network View | Tag | name as infoblox-network-view:{name}; applied to all objects in that view |
Network (IPv4 / IPv6) | Prefix | network → prefix, comment → description, status "active", network view tag, custom_fields.infoblox_vlans |
Network Container | Prefix | network → prefix, comment → description, status "active", tagged network-container |
DHCP Range (IPv4 / IPv6) | Prefix | CIDR calculated from start_addr/end_addr, status "active", tagged dhcp-range, role:dhcp |
Fixed Address | IPAddress | ipv4addr/ipv6addr → address, name → dns_name, status "dhcp" or "reserved", custom_fields.infoblox_match_client, custom_fields.infoblox_agent_circuit_id, custom_fields.infoblox_agent_remote_id |
DHCP Lease | IPAddress | Opt-in (INFOBLOX_SYNC_LEASES); only active leases. address, client_hostname → dns_name, status "dhcp" |
Host Record (IPv4) | IPAddress | ipv4addr → address as /32, hostname → dns_name, status "active" |
Host Record (IPv6) | IPAddress | ipv6addr → address as /128, hostname → dns_name, status "active" |
A Record (forward DNS) | IPAddress | ipv4addr → address as /32, name → dns_name, comment → description, status "active"; disabled records skipped |
AAAA Record (forward DNS) | IPAddress | ipv6addr → address as /128, name → dns_name, comment → description, status "active"; disabled records skipped |
VLAN | VLAN | id → vid, name, status (ASSIGNED/UNASSIGNED → "active", RESERVED → "reserved") |
VLAN View | VLANGroup | name, description, vid_ranges, scope_site (from extattrs.Site) |
Field Mapping Details
Prefix Status Mapping
| Infoblox Object Type | NetBox Status | Notes |
|---|---|---|
| Network container | active | Tagged with network-container |
| Network (IPv4/IPv6) | active | Tagged with has_dhcp_ranges only when a matching DHCP range exists for that network |
| DHCP range | active | Tagged with dhcp-range and role:dhcp |
IP Address Status Mapping
| Infoblox Object Type | NetBox Status | Condition |
|---|---|---|
| DHCP Lease | dhcp | Opt-in via INFOBLOX_SYNC_LEASES; only leases in the ACTIVE binding state are emitted |
| Fixed Address | dhcp | When match_client is MAC_ADDRESS, CLIENT_ID, CIRCUIT_ID, or REMOTE_ID |
| Fixed Address | reserved | When match_client is RESERVED, missing, or invalid |
| Host Record (IPv4 and IPv6) | active | Always (IPv4 as /32, IPv6 as /128) |
| A / AAAA Record (forward DNS) | active | Forward DNS record, unless the record is disabled (IPv4 as /32, IPv6 as /128) |
VLAN Status Mapping
| Infoblox VLAN Status | NetBox Status |
|---|---|
| ASSIGNED | active |
| UNASSIGNED | active |
| RESERVED | reserved |
Network View to Tag Mapping
Network views in Infoblox are mapped to NetBox tags for filtering and organization:
| Network View | NetBox Tag |
|---|---|
| Any network view | infoblox-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 View | NetBox VLAN Group |
|---|---|
| Any VLAN view | VLAN Group with name {view_name} VLANs and slug {view_name}-vlans |
Custom Fields
| Custom Field | Object Type | Purpose |
|---|---|---|
infoblox_match_client | IPAddress | DHCP client matching identifier |
infoblox_agent_circuit_id | IPAddress | DHCP relay agent circuit ID |
infoblox_agent_remote_id | IPAddress | DHCP relay agent remote ID |
infoblox_vlans | Prefix | JSON 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 asIPAddressobjects with statusdhcp. 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 WAPIdb_objectschange feed and a watermark. Whenfalse(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
- Default:
-
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:
- An explicit entry in this mapping (existence-checked against the grid's DNS views)
- The DNS-view association discovered from the grid via
GET view?_return_fields=name,network_view - A naming convention fallback, reached only when grid discovery fails:
defaultnetwork view →defaultDNS 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.
- Format:
-
site_ea_name (optional): Name of the Infoblox Extensible Attribute used to derive the NetBox
Sitefor 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 likeea:Environment:prodandea:Owner:network-team.
Tags and Metadata
Global Tags
All created entities are automatically tagged with:
infoblox- Identifies objects from Infoblox NIOSdiscovered- Marks objects as auto-discoveredinfoblox-{hostname}- Unique tag per Infoblox host (not applied in bootstrap mode)
Object-Specific Tags
Prefixes:
infoblox-network-view:{view_name}- Network view membershipnetwork-container- Identifies network containershas_dhcp_ranges- Identifies networks with DHCP rangesdhcp-range- Identifies DHCP range prefixesrole:dhcp- Role tag for DHCP ranges
IP Addresses:
infoblox-network-view:{view_name}- Network view membershipdhcp-configured- Host records with DHCP enabledinfoblox-dns-record:a- IP address backed by a forward DNS A recordinfoblox-dns-record:aaaa- IP address backed by a forward DNS AAAA record
VLANs:
infoblox-vlan-view:{view_name}- VLAN view membershipinfoblox-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 objectsipv6network- IPv6 network objectsnetworkcontainer- Network containersfixedaddress- IPv4 DHCP fixed addressesipv6fixedaddress- IPv6 DHCP fixed addresseslease- DHCP leases (only queried when lease sync is enabled)record:host- Host records (IPv4 and IPv6 addresses are read from the nestedipv4addrs/ipv6addrsarrays)record:a- Forward DNS A recordsrecord:aaaa- Forward DNS AAAA recordsrange- IPv4 DHCP rangesipv6range- IPv6 DHCP rangesvlan- VLANsvlanview- VLAN viewsnetworkview- Network viewsview- 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_ipv4addrandrecord:host_ipv6addrleaf 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 fullrecord: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
- By default, all network views are synchronized (
-
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_mappingscope parameter - The DNS-view association discovered from the grid via
GET view?_return_fields=name,network_view - A naming convention fallback (
default→default, others →default.{network_view}), reached only when grid discovery fails
- An explicit entry in the
-
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 thedb_objectschange 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) orreserved - Match type stored in
infoblox_match_clientcustom field - Agent circuit/remote IDs stored in custom fields when applicable
- Status:
- DHCP leases are opt-in (
INFOBLOX_SYNC_LEASES); only active leases are emitted, as IPAddress objects with statusdhcp - DHCP ranges are created as Prefix objects with
dhcp-rangeandrole:dhcptags - Range CIDR is calculated using address summarization
- Fixed addresses (reservations) are created as IPAddress objects
-
Forward DNS records:
- Infoblox
record:aandrecord:aaaaobjects are synced asIPAddressobjects (/32and/128) with the recordnameasdns_nameand the recordcommentas the description. This is on by default; there is no opt-out flag. Records withdisableset are skipped, since they are not serving DNS. - A/AAAA records carry only a DNS
view(the grid rejectsnetwork_viewas 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 theinfoblox-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.
- Infoblox
-
Hostname handling:
- The
dns_namefield on IPAddress objects is populated from:- Fixed address
namefield - Host record (
record:host) hostname - Forward DNS A / AAAA record
name - DHCP lease
client_hostnamefield (when lease sync is enabled)
- Fixed address
- When more than one source contributes the same IP address, they merge into a single NetBox object:
statuscomes from the first source (first-writer-wins), whiledns_nameis 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.
- The
-
Network containers:
- Network containers maintain hierarchical structure in NetBox
- Status is set to
active(notcontainer) - Tagged with
network-containerfor 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_vlanscustom 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