NetBox模型
模型类型
NetBox模型代表离散的对象类型,例如设备或IP地址。根据Django约定,每个模型都定义为Python类,并在PostgreSQL数据库中拥有自己的表。所有NetBox数据模型都可以按类型分类。
Django的内容类型框架用于将Django模型映射到数据库表。ContentType实例通过其app_label
和name
引用模型:例如,DCIM应用程序中的Site模型被称为dcim.site
。内容类型与对象的主键组合形成对象的全局唯一标识符(例如dcim.site:123
)。
功能矩阵
根据其分类,每个NetBox模型可能支持不同的功能,以增强其操作。通过从指定的混合类继承,可以启用每个功能,并且一些功能还使用应用程序注册表。
功能 | 功能混合器 | 注册表键 | 描述 |
---|---|---|---|
更改日志记录 | ChangeLoggingMixin |
- | 对这些对象的更改会自动记录在更改日志中 |
复制 | CloningMixin |
- | 提供clone() 方法以准备副本 |
自定义字段 | CustomFieldsMixin |
custom_fields |
这些模型支持添加用户定义字段 |
自定义链接 | CustomLinksMixin |
custom_links |
这些模型支持分配自定义链接 |
自定义验证 | CustomValidationMixin |
- | 支持强制执行自定义验证规则 |
导出模板 | ExportTemplatesMixin |
export_templates |
用户可以为这些模型创建自定义导出模板 |
作业结果 | JobsMixin |
jobs |
用户可以为这些模型创建自定义导出模板 |
记录日志 | JournalingMixin |
journaling |
这些模型支持持久性历史评论 |
同步数据 | SyncedDataMixin |
synced_data |
某些模型数据可以自动从远程数据源同步 |
标签 | TagsMixin |
tags |
模型可以带有用户定义的标签 |
事件规则 | EventRulesMixin |
event_rules |
事件规则可以在事件发生时自动发送Webhook或运行自定义脚本 |
模型索引
主要模型
这些被认为是用于建模网络基础设施的“核心”应用程序模型。
- circuits.Circuit
- circuits.Provider
- circuits.ProviderAccount
- circuits.ProviderNetwork
- core.DataSource
- dcim.Cable
- dcim.Device
- dcim.DeviceType
- dcim.Module
- dcim.ModuleType
- dcim.PowerFeed
- dcim.PowerPanel
- dcim.Rack
- dcim.RackReservation
- dcim.Site
- dcim.VirtualChassis
- dcim.VirtualDeviceContext
- ipam.Aggregate
- ipam.ASN
- ipam.FHRPGroup
- ipam.IPAddress
- ipam.IPRange
- ipam.Prefix
- ipam.RouteTarget
- ipam.Service
- ipam.ServiceTemplate
- ipam.VLAN
- ipam.VRF
- tenancy.Contact
- tenancy.Tenant
- virtualization.Cluster
- virtualization.VirtualMachine
- vpn.IKEPolicy
- vpn.IKEProposal
- vpn.IPSecPolicy
- vpn.IPSecProfile
- vpn.IPSecProposal
- vpn.L2VPN
- vpn.Tunnel
- wireless.WirelessLAN
- wireless.WirelessLink
组织模型
组织模型用于组织和分类主要模型。
- circuits.CircuitType
- dcim.DeviceRole
- dcim.Manufacturer
- dcim.Platform
- dcim.RackRole
- ipam.ASNRange
- ipam.RIR
- ipam.Role
- ipam.VLANGroup
- tenancy.ContactRole
- virtualization.ClusterGroup
- virtualization.ClusterType
嵌套组模型
嵌套组模型的行为类似于组织模型,但在递归层次结构内自我嵌套。例如,Region模型可用于表示国家、州和城市的层次结构。
- dcim.Location(曾称为RackGroup)
- dcim.Region
- dcim.SiteGroup
- tenancy.ContactGroup
- tenancy.TenantGroup
- wireless.WirelessLANGroup
组件模型
组件模型表示属于设备或虚拟机的单个物理或虚拟组件。
- dcim.ConsolePort
- dcim.ConsoleServerPort
- dcim.DeviceBay
- dcim.FrontPort
- dcim.Interface
- dcim.InventoryItem
- dcim.ModuleBay
- dcim.PowerOutlet
- dcim.PowerPort
- dcim.RearPort
- virtualization.VirtualDisk
- virtualization.VMInterface
组件模板模型
这些模型作为模板,用于复制设备和虚拟机组件。组件模板模型支持有限的功能集,包括更改日志记录、自定义验证和事件规则。