Object types
The NetBox object types a design can build, and the key each is matched by.
A design can build any object type in the data model of your NetBox's version. An object's infra_type is the type's name in NetBox's data model: Region, Site, DeviceType, IPAddress, VLANGroup, ConsolePort. Its fields are the fields NetBox's API has for it, under NetBox's names, such as device_type and primary_ip4.
The render refuses a type written in snake case, such as device_type, or with a NetBox prefix, such as NetBoxDeviceType, and says what to write instead.
Each type has a key: the fields that identify an object of that type. A plan matches each object the design describes with the NetBox object that has the same key, so changing a key field describes another object. The common types and their keys:
infra_type | Key |
|---|---|
Region | name |
SiteGroup | name, parent |
Site | slug |
Location | name, site, parent |
Tenant | slug |
Manufacturer | slug |
RackType | manufacturer, model |
Rack | name, site |
DeviceRole | slug |
Platform | name, manufacturer |
DeviceType | manufacturer, model |
Device | name, site |
ModuleType | manufacturer, model |
ModuleBay | name, device |
Module | module_bay |
Interface | name, device |
ConsolePort | name, device |
PowerPort | name, device |
FrontPort | name, device |
RearPort | name, device |
Cable | termination_a, termination_b |
VRF | rd |
Prefix | prefix, vrf |
IPAddress | address, vrf |
VLANGroup | name |
VLAN | vid, group |
RIR | slug |
ASN | asn |
Tag | slug |
Cluster | name, group |
VirtualMachine | name |
Aggregate | prefix, rir |
IPRange | start_address, end_address, vrf |
Service | parent, name |
Contact | name |
VirtualChassis | name |
WirelessLAN | ssid, group |
MACAddress | mac_address, assigned_object |
RackReservation | rack, units |
ConfigTemplate | name |
ExportTemplate | name |
A prefix, IP address or VLAN with its VRF or group left out is the one with none: see Design structure.
NetBox itself doesn't require the last ten of these to be unique: it will hold two contacts named the same, or the same service twice on one device. Designs matches by the key all the same, so a design describes one object per key, and two NetBox objects that share a key are read as the same one. A type NetBox gives no key and Designs has not chosen one for is refused at render rather than planned, since a plan couldn't say which object a line means.