Nautobot render data mapping

View as Markdown

The bundled nautobot-2x DCIM provider translates Nautobot records into the provider-neutral RenderData contract before the Render service or a template filter sees them. Templates must use the fields and filters documented here instead of querying Nautobot or reading config_context directly.

BGP peering limitation

Nautobot BGP peerings must model both endpoints with source_interface. Although the Nautobot BGP Models plugin also exposes source_ip, that object does not include the IP address’s VRF association. The nautobot-2x provider therefore intentionally rejects a peering whose remote endpoint has no source_interface; it uses the local endpoint’s source interface to determine source_vrf and the remote endpoint’s source interface addresses to determine peer_ipv4 and peer_ipv6.

This is a Nautobot-provider constraint, not a constraint on the provider-neutral models. Another provider may populate the same RenderBGPPeer fields from native peering and VRF objects.

Device filter mapping

The “Nautobot source” column describes the provider implementation. The provider may combine native objects and effective configuration context to produce one neutral field.

FilterProvider-neutral inputNautobot source
hostnameidentity.namedevice.name
site_nameidentity.location hierarchydevice.location and its parents; the ancestor whose location type is Site
device_tags, has_tagidentity.tagsdevice.tags[].name
platformidentity.platformdevice.platform.name
modelidentity.modeldevice.device_type.model
roleidentity.roledevice.role.name
uuididentity.iddevice.id
desired_firmwarefirmware.desired_versioneffective config_context["intended-firmware"].version
router_idrouting.bgp_instances[].router_id_interface and interfaces[].addressesBGP routing instance router_id.interfaces[], then the matching device interface IP address
asnrouting.bgp_instances[].asn or routing.default_asnBGP Models routing instances; effective config_context.bgp.asn is the fallback when no native instance exists
bgp_routing_instancerouting.bgp_instances[]BGP Models routing instances, endpoints, peer groups, source interfaces, status, and autonomous systems
peer_group_ttlrouting.bgp_instances[].peers[].ttlBGP peer-group extra_attributes.ttl, falling back to its peer-group template
interface_by_name, interfaces, management_interfaceinterfaces[]native device interfaces, their roles, tags, VLANs, VRFs, addresses, members, parents, and connections
interface_has_tagtemplate Interface.tags derived from interfaces[]device.interfaces[].tags[].name
interface_natural_sort_keyone template Interface.nameinterface name already normalized from device.interfaces[].name
breakout_countinterfaces[].parent_interfacechild interfaces whose native parent_interface.name matches
loopback_prefixinterfaces[].addresses[].parent_prefixesrecursive IPAM parent-prefix hierarchy for the loopback address
default_gatewaysmanagement interface addressnative management-only interface IP address; gateway is calculated from its subnet
attached_vrfs, has_vrf, get_vrf, has_vrf_interfacesinterfaces[].vrfnative interface VRF assignments
console_server_portsnetwork.console_server_ports[]device console-server ports and their connected console ports/devices
nvlink_topologynetwork.nvlink_topologyfirst native device.nvlink_domain[].topology value
dns_serversservices.dnseffective config_context.dns
ntp_serversservices.ntpeffective config_context.ntp
syslog_serversservices.syslogeffective config_context.syslog
tacacs_serversservices.tacacseffective config_context.tacacs
ztp_serversservices.ztpeffective config_context.ztp
firmware_cacheservices.firmware_cache, then services.ztpeffective config_context.firmware_cache, falling back to config_context.ztp
dhcp_serversservices.dhcp[]effective config_context.dhcp
management_prefixesservices.management_prefixeseffective config_context.management_prefixes
provisioning_serversservices.provisioningeffective config_context.provisioning_servers
firmware_bundle_versionfirmware.selected_bundle_versioneffective config_context.firmware_bundle_version
firmware_bundles, firmware_bundle, has_firmware_bundlefirmware.bundles[]effective config_context.firmware_bundles
firmware_overridesfirmware.overrideseffective config_context.firmware_overrides
firmware_componentfirmware.bundles[] plus firmware.overrideseffective firmware bundle and override contexts
nv_os_version, nv_os_image_fileselected bundle’s operating_systemeffective config_context.firmware_bundles[version].nv_os
helper_addresses_by_vlan, helper_addresses_by_vrfdevice VLAN interfaces plus LocationRenderData.address_space.vlansnative device interfaces and site VLAN-to-helper-address relationships
usersaccess.credentials[]effective config_context.password_mappings; secrets remain references and are not copied into render data
l3vni_mappingsoverlays.l3_vnis[]Overlay plugin L3 VXLANs whose VRF is assigned to the device
vni_mappingsoverlays.l2_vnis[]Overlay plugin L2 VXLANs whose overlay is assigned to the device or whose VLAN is attached to a device interface
l2vni_vrfsoverlays.l2_vni_vrfs[]device overlay assignments joined to Overlay plugin VXLANs and route targets
evpn_esi_macrouting.evpn.esi_base_maceffective config_context.evpn_esi_base_mac
global_fabric_macrouting.evpn.fabric_maceffective config_context["fabric-mac"]
evpn_df_preferencerouting.evpn.df_preferenceeffective config_context.evpn["df-preference"]
spx_subnetsdownlink interface addresses and parent_prefixesnative interface roles and recursive IPAM parent-prefix hierarchy
device_aggregatedownlink and connected-interface address datanative interface IPs, parent prefixes, cables, and peer interfaces
connected_devicesinterfaces[].connected_interface.devicenative connected interfaces; modular endpoints are resolved through their parent device
isis_metricrouting.isis_interfaces[]effective config_context.isis.interfaces

Location filter mapping

FilterProvider-neutral inputNautobot source
site_aggregatesaddress_space.prefixes[]IPAM prefixes scoped to the site, including role and tags
location_has_taglocation.tagstags on the resolved site location

IP utility filters such as gateway, subnet, supernet, get_peer_ip, network_address, and host_range operate only on the value passed to the filter. They do not query Nautobot or consume another RenderData field.