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.
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)
-
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:
- Every run performs a full cold walk of the grid
-
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. - 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