Schema Library Documentation
Base
| name | description |
|---|
| dcim | Basic DCIM schema to capture devices, racks, interfaces, and related information. |
| ipam | Basic IPAM schema to capture IP addresses, subnets, and related information. |
| location | Basic Location schema to capture locations, sites, and related information. |
| organization | Basic Organization schema to capture organizations, vendors, and related information. |
Extensions
| name | description |
|---|
| cable | This schema extension contains a basic Cable model allowing you to connect two endpoints. |
| circuit | This schema extension contains Circuits and ways to connect them with your infrastructure! The circuit could be a fiber connecting two sites, you would then have two endpoints, one on each site. |
| cluster | This schema extension contains the foundations to capture clusters. With this one in place you can unlock various clusters flavors (hosting cluster able to host VMs, firewall clusters built with specific appliances ...) |
| compute | With this schema extension in place you will be able to capture all your physical servers. It also gives you the baseline to build virtualization. You might consider HostingCluster extension to go with! |
| cross_connect | This extension contains schema to capture Cross Connect. You can see it as "a cable operated by a provider". You will be able to attach it to a location and then connect endpoints to it (e.g. rear interface of a patch panel, circuit endpoint ...) |
| dwdm | This schema extension contains models for OADM (Optical Add Drop Multiplexer) supporting various WDM (Wavelength Division Multiplexing) technologies such as DWDM (Dense Wavelength Division Multiplexing) or CWDM (Coarse Wavelength Division Multiplexing). With some vendors, the tunable optics are not configured via the channel number but via the wavelength and/or the frequency. This model provides a unique entry in Infrahub for those. |
| firewall_policer | This schema extension contains models for VMs. You might consider Cluster or/and Hypervisor extension to go with! |
| hosting_cluster | A rather generic cluster built with compute units (e.g. servers) and able to host VMs. |
| interface_breakout | This schema extension introduces relationships to support breakout interfaces, enabling you to document the breakout of a physical interface into smaller physical interfaces. |
| lag | This schema extension includes models for Link Aggregation Groups (LAGs), enabling you to link physical interfaces as building blocs of your LAG interface. It can be used in standard networking environments as well as in compute scenarios, such as capturing bond interfaces. |
| location_minimal | This schema extension is minimal but will provide you with basic items to store location related data. |
| modules | This schema extension allows you to capture Device Modules related information like the serial number or the status. You can insert the Module into a Dcim Physical Device. NOTE: This extension doesn't contain any Nodes, you can use the extension module_linecards or modules_routing_engine to use it |
| patch_panel | This schema extension allows you to capture patch panel related information like rear/front interfaces and mapping between them. You can insert the patch panel into a rack and leverage the device type model. Finally you can also capture information about potential modules you would insert into your patch panel. NOTE: This extension is compatible with all sort of connectors, meaning you can plug cable, circuits, cross-connect to front & rear interfaces! |
| peering_ixp | This schema extension contains all you need to model anything revolving around internet peering (Exchange points ...)! |
| physical_disk | Simple schema allowing you to capture physical disks information for the sake of inventory and lifecycle management. NOTE: This extension is compatible with all sort of device. You can apply the generic "DeviceWithPhysicalDisks" to particular model to enable disks tracking. You might also link that schema to location for instance to capture spares. |
| qinq | This schema extension brings extensions to VLAN model in order to support QinQ. |
| routing | This schema extension contains generics to create Routing Protocol "Instance". The idea is to create one Routing Protocol instance per IpamVRF + DcimDevice pair. |
| routing_aggregate | This schema extension contains all you need to model the Aggregate Routing Protocol. |
| routing_bgp | This schema extension contains all you need to model your BGP platform. |
| routing_bgp_community | This schema extension adds the BGP Communities models. |
| routing_bgp_rr | This schema extension extend the BGP extension to add BGP Route Reflector Clustering. |
| routing_ospf | This schema extension contains all you need to model the OSPF Routing Protocol. |
| routing_pim | This schema extension contains all you need to model the PIM Protocol. |
| routing_policies | This schema extension contains a generic to create Routing Policies. This Generic can be extend for each Routing Protocols you may want to use. |
| routing_policies_aggregate | This extension is using the Routing Policies extensions and the Routing Aggregate one together. |
| routing_policies_bgp | This extension is using the Routing Policies extensions and the Routing BGP one together. |
| routing_policies_ospf | This extension is using the Routing Policies extensions and the Routing OSPF one together. |
| routing_policies_pim | This schema inherits the RoutingPolicy schema and removes import_policies and export_policies attributes. However it adds a number of relationships to RoutingPIM. |
| sfp | This schema extension gives you all the models you need to document Small Form-factor Pluggable (SFP). You can either plug it into an interface or attach it to a location (e.g. it's a spare SFP stored in a rack). Improvements: - As of now there is no verification with type / form factor / protocol / distance ... - You could plug any SFP into any equipment interface (e.g. a virtual interface ...) - You could link a SFP to an interface AND a location ... |
| snmp | This schema extension contains models for SNMP Communities and SNMP Clients. As you can see this extension is not linked to Tenancy or Device, as you could decide to link the Community to different models based on your use case. |
| topology | This schema extension introduces abstract network pods and services running in the pods, such as MPLS and EVPN. |
| users | This schema extension contains models for account management. |
| vlan | This schema extension contains models to support VLANs in you network. |
| vrf | This schema extension contains models to support VRF in your network. |
| vrrp | This schema extension contains models for VRRP. |
Experimental
| name | description |
|---|
| azure | This schema extension introduces cloud support for Microsoft Azure. |
| circuit_service | This schema extension contains model coming on top of circuit to capture a single service shared across multiple circuits. For example you have a MPLS network supported by a provider connecting multiple locations: - One single CircuitService would be needed to store MPLS related information (e.g. service id, provider ...) - On each site we would create a circuit connecting on one side our device and the CircuitService on the other side |
| infiniband | This schema extension adds support for InfiniBand switches. |
| location_extended | This schema extension is the most detailed when it comes to location, you'll find all the layers you can think of. |
| modules_linecards | This schema extension allows you to capture Linecard related information like the version. You can insert the Linecard into a Dcim Physical Device and leverage the Linecard type model. The Linecard can accept PIC to help configure PORT information like breakout-capabilities and configurations. |
| modules_routing_engine | This schema extension allows you to capture Routing Engine related information like the version. You can insert the Routing Engine into a Dcim Physical Device and leverage the Routing Engine type model. |
| qos | This schema extension contains models for Quality of Service (QoS) |
| security | This schema extension contains models for implementing detailed security. |
| tenancy | This schema extension introduces tenancy for some of the schema nodes (circuits...) |
| topology | A schema for defining and managing network topology, strategies, and services. |
| vlan-translation | This schema extension is based on Juniper VLAN MAP, and not yet test out for other vendors. |
DCIM
Basic DCIM schema to capture devices, racks, interfaces, and related information.
Generics
GenericDevice
- Description: Generic Device object.
- Label: Device
- Icon: mdi:server
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | unique | order_weight | optional |
|---|
| name | Text | True | 1000 | |
| description | Text | | 2000 | True |
| os_version | Text | | 2200 | True |
Relationships
| name | peer | optional | cardinality | identifier | kind | order_weight | label |
|---|
| interfaces | DcimInterface | True | many | device__interface | Component | | |
| tags | BuiltinTag | True | many | | Attribute | 2000 | |
| primary_address | IpamIPAddress | True | one | | Attribute | 1700 | Primary IP Address |
| platform | DcimPlatform | True | one | | Attribute | 1250 | |
PhysicalDevice
- Description: Generic holding attributes and relationships relevant for physical device.
- Include in Menu: ❌
Attributes
| name | label | description | kind | optional | order_weight | default_value | choices |
|---|
| position | Position (U) | Lowest unit. | Number | True | 1500 | | `` |
| serial | | | Text | True | 1500 | | `` |
| rack_face | Rack Face | On which face of the rack the device is mounted. | Dropdown | False | 1515 | front | `front, rear` |
Relationships
| name | peer | optional | cardinality | kind | order_weight | label |
|---|
| device_type | DcimDeviceType | True | one | Attribute | 1200 | |
| location | LocationHosting | False | one | Attribute | 1500 | Location |
Endpoint
- Description: Generic Endpoint to receive a connector.
- Include in Menu: ❌
Relationships
| name | peer | optional | cardinality | order_weight | kind |
|---|
| connector | DcimConnector | True | one | 1500 | Attribute |
Connector
- Description: Generic Connector to link two endpoints together.
- Include in Menu: ❌
Relationships
| name | peer | optional | cardinality | order_weight | kind |
|---|
| connected_endpoints | DcimEndpoint | True | many | 1500 | Generic |
Interface
- Description: Generic Network Interface
- Label: Interface
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**device__name__value, name__value
- **Uniqueness Constraints:**device + name__value
Attributes
| name | kind | description | order_weight | optional | label | default_value | choices |
|---|
| name | Text | Name of the interface | 1000 | | | | `` |
| description | Text | A brief description of the interface | 1100 | True | | | `` |
| mtu | Number | | 1300 | | MTU | 1514 | `` |
| status | Dropdown | The status of the interface | 1200 | | | active | `provisioning, free, active, maintenance, disabled, deleted, outage` |
| role | Dropdown | The role of the interface in the network | 1250 | True | | | `lag, core, cust, access, management, peering, upstream` |
Relationships
| name | peer | identifier | optional | cardinality | kind | order_weight |
|---|
| device | DcimGenericDevice | device__interface | False | one | Parent | 1025 |
| tags | BuiltinTag | | True | many | Attribute | 3000 |
Layer2
- Description: Layer 2 specific attributes for network interfaces
- Label: Layer 2 Interface
- Include in Menu: ❌
Attributes
| name | label | kind | optional | choices | description | order_weight |
|---|
| l2_mode | Layer2 Mode | Dropdown | True | `access, trunk, trunk_all` | Layer 2 mode of the interface | 1500 |
Layer3
- Description: Layer 3 specific attributes for network interfaces
- Label: Layer 3 Interface
- Include in Menu: ❌
Attributes
| name | label | kind | description | order_weight | optional |
|---|
| dot1q_id | VLAN ID (dot1q) | Number | Dot1Q VLAN ID | 1600 | True |
| mac_address | Mac Address | Text | | 1550 | True |
Relationships
| name | label | peer | cardinality | kind | optional | description | order_weight |
|---|
| ip_addresses | IP Addresses | IpamIPAddress | many | Attribute | True | List of IP addresses associated with the interface | 1150 |
HasSubInterface
- Description: A generic interface that can have sub-interfaces
- Include in Menu: ❌
Relationships
| name | label | peer | identifier | optional | cardinality | kind | description | order_weight |
|---|
| sub_interfaces | Sub-interface(s) | InterfaceVirtual | sub__interface | True | many | Attribute | Sub-interfaces of this interface | 1750 |
Nodes
DeviceType
- Description: A model of device
- Label: Device Type
- Icon: mdi:poll
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**manufacturer__name__value, name__value
- **Uniqueness Constraints:**manufacturer + name__value
Attributes
| name | kind | unique | order_weight | optional | label | default_value |
|---|
| name | Text | True | 1000 | | | |
| description | Text | | 1100 | True | | |
| part_number | Text | | 1200 | True | Part Number | |
| height | Number | | 1400 | False | Height (U) | 1 |
| full_depth | Boolean | | 1500 | | Full Depth | True |
| weight | Number | | 1600 | True | Weight (kg) | |
Relationships
| name | peer | cardinality | kind | order_weight | optional |
|---|
| platform | DcimPlatform | one | Attribute | 1300 | |
| manufacturer | OrganizationManufacturer | one | Attribute | 1250 | False |
| tags | BuiltinTag | many | Attribute | 2000 | True |
- Description: A Platform represent the type of software running on a device.
- Label: Platform
- Icon: mdi:application-cog-outline
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**manufacturer__name__value, name__value
- **Uniqueness Constraints:**name__value
Attributes
| name | kind | unique | order_weight | optional |
|---|
| name | Text | True | 1000 | |
| description | Text | | 1200 | True |
| nornir_platform | Text | | 1500 | True |
| napalm_driver | Text | | 1600 | True |
| netmiko_device_type | Text | | 1700 | True |
| ansible_network_os | Text | | 1800 | True |
| containerlab_os | Text | | 1900 | True |
Relationships
| name | peer | optional | cardinality | order_weight | kind |
|---|
| devices | DcimGenericDevice | True | many | 1350 | |
| manufacturer | OrganizationManufacturer | | one | 1300 | Attribute |
Device
- Description: A configurable network device for managing and directing data traffic, including routers, switches...
- Label: Network Device
- Icon: clarity:network-switch-solid
- Include in Menu: ❌
Attributes
| name | kind | optional | order_weight | choices |
|---|
| status | Dropdown | False | 1100 | `active, provisioning, maintenance, drained` |
| role | Dropdown | True | 1400 | `core, edge, cpe, spine, leaf, tor` |
Physical
- Description: Physical network port on a device
- Label: Physical Interface
- Include in Menu: ❌
Virtual
- Description: Virtual interface like VLAN or Loopback
- Label: Virtual Interface
- Include in Menu: ❌
Relationships
| name | peer | cardinality | kind | identifier | description |
|---|
| parent_interface | InterfaceHasSubInterface | one | Attribute | sub__interface | Parent interface to which this sub-interface belongs |
Generics
Generic
- Description: An organization represent a legal entity, a company.
- Label: Organization
- Icon: mdi:domain
- Include in Menu: ✅
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | unique | order_weight | optional |
|---|
| name | Text | True | 1000 | |
| description | Text | | 1200 | True |
Relationships
| name | peer | cardinality | kind | optional | order_weight |
|---|
| tags | BuiltinTag | many | Attribute | True | 3000 |
Nodes
Manufacturer
- Description: Device Manufacturer
- Icon: mdi:domain
- Menu Placement: OrganizationGeneric
- Include in Menu: ✅
Relationships
| name | peer | cardinality | optional |
|---|
| device_type | DcimDeviceType | many | True |
| platform | DcimPlatform | many | True |
Provider
Generics
Generic
- Description: Generic Location, could be a country, city ...
- Label: Location
- Icon: mingcute:location-line
- Include in Menu: ✅
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | order_weight | unique | optional |
|---|
| name | Text | 1000 | | |
| shortname | Text | 1100 | True | |
| description | Text | 1200 | | True |
Relationships
| name | peer | kind | optional | cardinality |
|---|
| tags | BuiltinTag | Attribute | True | many |
Hosting
- Description: Location directly hosting device and services.
- Include in Menu: ❌
Relationships
| name | label | peer | cardinality | optional |
|---|
| prefixes | Prefixes | IpamPrefix | many | True |
| devices | Devices | DcimPhysicalDevice | many | True |
Nodes
IPAddress
- Description: IP Address
- Label: IP Address
- Icon: mdi:ip
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**address__value
- **Uniqueness Constraints:**ip_namespace + address__value
Attributes
| name | label | kind | optional | regex |
|---|
| fqdn | FQDN | Text | True | (?=^.253$)(^(((?!-)[a-zA-Z0-9-]63(?<!-))|((?!-)[a-zA-Z0-9-]63(?<!-)\.)+[a-zA-Z]63)$) |
Relationships
| name | peer | optional | cardinality |
|---|
| interface | InterfaceLayer3 | True | one |
Prefix
- Description: IPv4 or IPv6 network (with mask)
- Label: Prefix
- Icon: mdi:ip-network
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**prefix__value
- **Uniqueness Constraints:**ip_namespace + prefix__value
Attributes
| name | kind | choices | optional |
|---|
| status | Dropdown | `active, deprecated, reserved` | |
| role | Dropdown | `loopback, management, public, server, supernet, technical, loopback-vtep` | True |
Relationships
| name | peer | optional | cardinality | kind | order_weight | label | identifier |
|---|
| organization | OrganizationGeneric | True | one | Attribute | 1200 | | |
| location | LocationHosting | True | one | Attribute | 1300 | | |
| gateway | IpamIPAddress | True | one | Attribute | 1500 | L3 Gateway | prefix__gateway |
IPAM
Basic IPAM schema to capture IP addresses, subnets, and related information.
Generics
GenericDevice
- Description: Generic Device object.
- Label: Device
- Icon: mdi:server
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | unique | order_weight | optional |
|---|
| name | Text | True | 1000 | |
| description | Text | | 2000 | True |
| os_version | Text | | 2200 | True |
Relationships
| name | peer | optional | cardinality | identifier | kind | order_weight | label |
|---|
| interfaces | DcimInterface | True | many | device__interface | Component | | |
| tags | BuiltinTag | True | many | | Attribute | 2000 | |
| primary_address | IpamIPAddress | True | one | | Attribute | 1700 | Primary IP Address |
| platform | DcimPlatform | True | one | | Attribute | 1250 | |
PhysicalDevice
- Description: Generic holding attributes and relationships relevant for physical device.
- Include in Menu: ❌
Attributes
| name | label | description | kind | optional | order_weight | default_value | choices |
|---|
| position | Position (U) | Lowest unit. | Number | True | 1500 | | `` |
| serial | | | Text | True | 1500 | | `` |
| rack_face | Rack Face | On which face of the rack the device is mounted. | Dropdown | False | 1515 | front | `front, rear` |
Relationships
| name | peer | optional | cardinality | kind | order_weight | label |
|---|
| device_type | DcimDeviceType | True | one | Attribute | 1200 | |
| location | LocationHosting | False | one | Attribute | 1500 | Location |
Endpoint
- Description: Generic Endpoint to receive a connector.
- Include in Menu: ❌
Relationships
| name | peer | optional | cardinality | order_weight | kind |
|---|
| connector | DcimConnector | True | one | 1500 | Attribute |
Connector
- Description: Generic Connector to link two endpoints together.
- Include in Menu: ❌
Relationships
| name | peer | optional | cardinality | order_weight | kind |
|---|
| connected_endpoints | DcimEndpoint | True | many | 1500 | Generic |
Interface
- Description: Generic Network Interface
- Label: Interface
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**device__name__value, name__value
- **Uniqueness Constraints:**device + name__value
Attributes
| name | kind | description | order_weight | optional | label | default_value | choices |
|---|
| name | Text | Name of the interface | 1000 | | | | `` |
| description | Text | A brief description of the interface | 1100 | True | | | `` |
| mtu | Number | | 1300 | | MTU | 1514 | `` |
| status | Dropdown | The status of the interface | 1200 | | | active | `provisioning, free, active, maintenance, disabled, deleted, outage` |
| role | Dropdown | The role of the interface in the network | 1250 | True | | | `lag, core, cust, access, management, peering, upstream` |
Relationships
| name | peer | identifier | optional | cardinality | kind | order_weight |
|---|
| device | DcimGenericDevice | device__interface | False | one | Parent | 1025 |
| tags | BuiltinTag | | True | many | Attribute | 3000 |
Layer2
- Description: Layer 2 specific attributes for network interfaces
- Label: Layer 2 Interface
- Include in Menu: ❌
Attributes
| name | label | kind | optional | choices | description | order_weight |
|---|
| l2_mode | Layer2 Mode | Dropdown | True | `access, trunk, trunk_all` | Layer 2 mode of the interface | 1500 |
Layer3
- Description: Layer 3 specific attributes for network interfaces
- Label: Layer 3 Interface
- Include in Menu: ❌
Attributes
| name | label | kind | description | order_weight | optional |
|---|
| dot1q_id | VLAN ID (dot1q) | Number | Dot1Q VLAN ID | 1600 | True |
| mac_address | Mac Address | Text | | 1550 | True |
Relationships
| name | label | peer | cardinality | kind | optional | description | order_weight |
|---|
| ip_addresses | IP Addresses | IpamIPAddress | many | Attribute | True | List of IP addresses associated with the interface | 1150 |
HasSubInterface
- Description: A generic interface that can have sub-interfaces
- Include in Menu: ❌
Relationships
| name | label | peer | identifier | optional | cardinality | kind | description | order_weight |
|---|
| sub_interfaces | Sub-interface(s) | InterfaceVirtual | sub__interface | True | many | Attribute | Sub-interfaces of this interface | 1750 |
Nodes
DeviceType
- Description: A model of device
- Label: Device Type
- Icon: mdi:poll
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**manufacturer__name__value, name__value
- **Uniqueness Constraints:**manufacturer + name__value
Attributes
| name | kind | unique | order_weight | optional | label | default_value |
|---|
| name | Text | True | 1000 | | | |
| description | Text | | 1100 | True | | |
| part_number | Text | | 1200 | True | Part Number | |
| height | Number | | 1400 | False | Height (U) | 1 |
| full_depth | Boolean | | 1500 | | Full Depth | True |
| weight | Number | | 1600 | True | Weight (kg) | |
Relationships
| name | peer | cardinality | kind | order_weight | optional |
|---|
| platform | DcimPlatform | one | Attribute | 1300 | |
| manufacturer | OrganizationManufacturer | one | Attribute | 1250 | False |
| tags | BuiltinTag | many | Attribute | 2000 | True |
- Description: A Platform represent the type of software running on a device.
- Label: Platform
- Icon: mdi:application-cog-outline
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**manufacturer__name__value, name__value
- **Uniqueness Constraints:**name__value
Attributes
| name | kind | unique | order_weight | optional |
|---|
| name | Text | True | 1000 | |
| description | Text | | 1200 | True |
| nornir_platform | Text | | 1500 | True |
| napalm_driver | Text | | 1600 | True |
| netmiko_device_type | Text | | 1700 | True |
| ansible_network_os | Text | | 1800 | True |
| containerlab_os | Text | | 1900 | True |
Relationships
| name | peer | optional | cardinality | order_weight | kind |
|---|
| devices | DcimGenericDevice | True | many | 1350 | |
| manufacturer | OrganizationManufacturer | | one | 1300 | Attribute |
Device
- Description: A configurable network device for managing and directing data traffic, including routers, switches...
- Label: Network Device
- Icon: clarity:network-switch-solid
- Include in Menu: ❌
Attributes
| name | kind | optional | order_weight | choices |
|---|
| status | Dropdown | False | 1100 | `active, provisioning, maintenance, drained` |
| role | Dropdown | True | 1400 | `core, edge, cpe, spine, leaf, tor` |
Physical
- Description: Physical network port on a device
- Label: Physical Interface
- Include in Menu: ❌
Virtual
- Description: Virtual interface like VLAN or Loopback
- Label: Virtual Interface
- Include in Menu: ❌
Relationships
| name | peer | cardinality | kind | identifier | description |
|---|
| parent_interface | InterfaceHasSubInterface | one | Attribute | sub__interface | Parent interface to which this sub-interface belongs |
Generics
Generic
- Description: An organization represent a legal entity, a company.
- Label: Organization
- Icon: mdi:domain
- Include in Menu: ✅
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | unique | order_weight | optional |
|---|
| name | Text | True | 1000 | |
| description | Text | | 1200 | True |
Relationships
| name | peer | cardinality | kind | optional | order_weight |
|---|
| tags | BuiltinTag | many | Attribute | True | 3000 |
Nodes
Manufacturer
- Description: Device Manufacturer
- Icon: mdi:domain
- Menu Placement: OrganizationGeneric
- Include in Menu: ✅
Relationships
| name | peer | cardinality | optional |
|---|
| device_type | DcimDeviceType | many | True |
| platform | DcimPlatform | many | True |
Provider
Generics
Generic
- Description: Generic Location, could be a country, city ...
- Label: Location
- Icon: mingcute:location-line
- Include in Menu: ✅
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | order_weight | unique | optional |
|---|
| name | Text | 1000 | | |
| shortname | Text | 1100 | True | |
| description | Text | 1200 | | True |
Relationships
| name | peer | kind | optional | cardinality |
|---|
| tags | BuiltinTag | Attribute | True | many |
Hosting
- Description: Location directly hosting device and services.
- Include in Menu: ❌
Relationships
| name | label | peer | cardinality | optional |
|---|
| prefixes | Prefixes | IpamPrefix | many | True |
| devices | Devices | DcimPhysicalDevice | many | True |
Nodes
IPAddress
- Description: IP Address
- Label: IP Address
- Icon: mdi:ip
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**address__value
- **Uniqueness Constraints:**ip_namespace + address__value
Attributes
| name | label | kind | optional | regex |
|---|
| fqdn | FQDN | Text | True | (?=^.253$)(^(((?!-)[a-zA-Z0-9-]63(?<!-))|((?!-)[a-zA-Z0-9-]63(?<!-)\.)+[a-zA-Z]63)$) |
Relationships
| name | peer | optional | cardinality |
|---|
| interface | InterfaceLayer3 | True | one |
Prefix
- Description: IPv4 or IPv6 network (with mask)
- Label: Prefix
- Icon: mdi:ip-network
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**prefix__value
- **Uniqueness Constraints:**ip_namespace + prefix__value
Attributes
| name | kind | choices | optional |
|---|
| status | Dropdown | `active, deprecated, reserved` | |
| role | Dropdown | `loopback, management, public, server, supernet, technical, loopback-vtep` | True |
Relationships
| name | peer | optional | cardinality | kind | order_weight | label | identifier |
|---|
| organization | OrganizationGeneric | True | one | Attribute | 1200 | | |
| location | LocationHosting | True | one | Attribute | 1300 | | |
| gateway | IpamIPAddress | True | one | Attribute | 1500 | L3 Gateway | prefix__gateway |
Locations
Basic Location schema to capture locations, sites, and related information.
Generics
GenericDevice
- Description: Generic Device object.
- Label: Device
- Icon: mdi:server
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | unique | order_weight | optional |
|---|
| name | Text | True | 1000 | |
| description | Text | | 2000 | True |
| os_version | Text | | 2200 | True |
Relationships
| name | peer | optional | cardinality | identifier | kind | order_weight | label |
|---|
| interfaces | DcimInterface | True | many | device__interface | Component | | |
| tags | BuiltinTag | True | many | | Attribute | 2000 | |
| primary_address | IpamIPAddress | True | one | | Attribute | 1700 | Primary IP Address |
| platform | DcimPlatform | True | one | | Attribute | 1250 | |
PhysicalDevice
- Description: Generic holding attributes and relationships relevant for physical device.
- Include in Menu: ❌
Attributes
| name | label | description | kind | optional | order_weight | default_value | choices |
|---|
| position | Position (U) | Lowest unit. | Number | True | 1500 | | `` |
| serial | | | Text | True | 1500 | | `` |
| rack_face | Rack Face | On which face of the rack the device is mounted. | Dropdown | False | 1515 | front | `front, rear` |
Relationships
| name | peer | optional | cardinality | kind | order_weight | label |
|---|
| device_type | DcimDeviceType | True | one | Attribute | 1200 | |
| location | LocationHosting | False | one | Attribute | 1500 | Location |
Endpoint
- Description: Generic Endpoint to receive a connector.
- Include in Menu: ❌
Relationships
| name | peer | optional | cardinality | order_weight | kind |
|---|
| connector | DcimConnector | True | one | 1500 | Attribute |
Connector
- Description: Generic Connector to link two endpoints together.
- Include in Menu: ❌
Relationships
| name | peer | optional | cardinality | order_weight | kind |
|---|
| connected_endpoints | DcimEndpoint | True | many | 1500 | Generic |
Interface
- Description: Generic Network Interface
- Label: Interface
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**device__name__value, name__value
- **Uniqueness Constraints:**device + name__value
Attributes
| name | kind | description | order_weight | optional | label | default_value | choices |
|---|
| name | Text | Name of the interface | 1000 | | | | `` |
| description | Text | A brief description of the interface | 1100 | True | | | `` |
| mtu | Number | | 1300 | | MTU | 1514 | `` |
| status | Dropdown | The status of the interface | 1200 | | | active | `provisioning, free, active, maintenance, disabled, deleted, outage` |
| role | Dropdown | The role of the interface in the network | 1250 | True | | | `lag, core, cust, access, management, peering, upstream` |
Relationships
| name | peer | identifier | optional | cardinality | kind | order_weight |
|---|
| device | DcimGenericDevice | device__interface | False | one | Parent | 1025 |
| tags | BuiltinTag | | True | many | Attribute | 3000 |
Layer2
- Description: Layer 2 specific attributes for network interfaces
- Label: Layer 2 Interface
- Include in Menu: ❌
Attributes
| name | label | kind | optional | choices | description | order_weight |
|---|
| l2_mode | Layer2 Mode | Dropdown | True | `access, trunk, trunk_all` | Layer 2 mode of the interface | 1500 |
Layer3
- Description: Layer 3 specific attributes for network interfaces
- Label: Layer 3 Interface
- Include in Menu: ❌
Attributes
| name | label | kind | description | order_weight | optional |
|---|
| dot1q_id | VLAN ID (dot1q) | Number | Dot1Q VLAN ID | 1600 | True |
| mac_address | Mac Address | Text | | 1550 | True |
Relationships
| name | label | peer | cardinality | kind | optional | description | order_weight |
|---|
| ip_addresses | IP Addresses | IpamIPAddress | many | Attribute | True | List of IP addresses associated with the interface | 1150 |
HasSubInterface
- Description: A generic interface that can have sub-interfaces
- Include in Menu: ❌
Relationships
| name | label | peer | identifier | optional | cardinality | kind | description | order_weight |
|---|
| sub_interfaces | Sub-interface(s) | InterfaceVirtual | sub__interface | True | many | Attribute | Sub-interfaces of this interface | 1750 |
Nodes
DeviceType
- Description: A model of device
- Label: Device Type
- Icon: mdi:poll
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**manufacturer__name__value, name__value
- **Uniqueness Constraints:**manufacturer + name__value
Attributes
| name | kind | unique | order_weight | optional | label | default_value |
|---|
| name | Text | True | 1000 | | | |
| description | Text | | 1100 | True | | |
| part_number | Text | | 1200 | True | Part Number | |
| height | Number | | 1400 | False | Height (U) | 1 |
| full_depth | Boolean | | 1500 | | Full Depth | True |
| weight | Number | | 1600 | True | Weight (kg) | |
Relationships
| name | peer | cardinality | kind | order_weight | optional |
|---|
| platform | DcimPlatform | one | Attribute | 1300 | |
| manufacturer | OrganizationManufacturer | one | Attribute | 1250 | False |
| tags | BuiltinTag | many | Attribute | 2000 | True |
- Description: A Platform represent the type of software running on a device.
- Label: Platform
- Icon: mdi:application-cog-outline
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**manufacturer__name__value, name__value
- **Uniqueness Constraints:**name__value
Attributes
| name | kind | unique | order_weight | optional |
|---|
| name | Text | True | 1000 | |
| description | Text | | 1200 | True |
| nornir_platform | Text | | 1500 | True |
| napalm_driver | Text | | 1600 | True |
| netmiko_device_type | Text | | 1700 | True |
| ansible_network_os | Text | | 1800 | True |
| containerlab_os | Text | | 1900 | True |
Relationships
| name | peer | optional | cardinality | order_weight | kind |
|---|
| devices | DcimGenericDevice | True | many | 1350 | |
| manufacturer | OrganizationManufacturer | | one | 1300 | Attribute |
Device
- Description: A configurable network device for managing and directing data traffic, including routers, switches...
- Label: Network Device
- Icon: clarity:network-switch-solid
- Include in Menu: ❌
Attributes
| name | kind | optional | order_weight | choices |
|---|
| status | Dropdown | False | 1100 | `active, provisioning, maintenance, drained` |
| role | Dropdown | True | 1400 | `core, edge, cpe, spine, leaf, tor` |
Physical
- Description: Physical network port on a device
- Label: Physical Interface
- Include in Menu: ❌
Virtual
- Description: Virtual interface like VLAN or Loopback
- Label: Virtual Interface
- Include in Menu: ❌
Relationships
| name | peer | cardinality | kind | identifier | description |
|---|
| parent_interface | InterfaceHasSubInterface | one | Attribute | sub__interface | Parent interface to which this sub-interface belongs |
Generics
Generic
- Description: An organization represent a legal entity, a company.
- Label: Organization
- Icon: mdi:domain
- Include in Menu: ✅
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | unique | order_weight | optional |
|---|
| name | Text | True | 1000 | |
| description | Text | | 1200 | True |
Relationships
| name | peer | cardinality | kind | optional | order_weight |
|---|
| tags | BuiltinTag | many | Attribute | True | 3000 |
Nodes
Manufacturer
- Description: Device Manufacturer
- Icon: mdi:domain
- Menu Placement: OrganizationGeneric
- Include in Menu: ✅
Relationships
| name | peer | cardinality | optional |
|---|
| device_type | DcimDeviceType | many | True |
| platform | DcimPlatform | many | True |
Provider
Generics
Generic
- Description: Generic Location, could be a country, city ...
- Label: Location
- Icon: mingcute:location-line
- Include in Menu: ✅
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | order_weight | unique | optional |
|---|
| name | Text | 1000 | | |
| shortname | Text | 1100 | True | |
| description | Text | 1200 | | True |
Relationships
| name | peer | kind | optional | cardinality |
|---|
| tags | BuiltinTag | Attribute | True | many |
Hosting
- Description: Location directly hosting device and services.
- Include in Menu: ❌
Relationships
| name | label | peer | cardinality | optional |
|---|
| prefixes | Prefixes | IpamPrefix | many | True |
| devices | Devices | DcimPhysicalDevice | many | True |
Nodes
IPAddress
- Description: IP Address
- Label: IP Address
- Icon: mdi:ip
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**address__value
- **Uniqueness Constraints:**ip_namespace + address__value
Attributes
| name | label | kind | optional | regex |
|---|
| fqdn | FQDN | Text | True | (?=^.253$)(^(((?!-)[a-zA-Z0-9-]63(?<!-))|((?!-)[a-zA-Z0-9-]63(?<!-)\.)+[a-zA-Z]63)$) |
Relationships
| name | peer | optional | cardinality |
|---|
| interface | InterfaceLayer3 | True | one |
Prefix
- Description: IPv4 or IPv6 network (with mask)
- Label: Prefix
- Icon: mdi:ip-network
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**prefix__value
- **Uniqueness Constraints:**ip_namespace + prefix__value
Attributes
| name | kind | choices | optional |
|---|
| status | Dropdown | `active, deprecated, reserved` | |
| role | Dropdown | `loopback, management, public, server, supernet, technical, loopback-vtep` | True |
Relationships
| name | peer | optional | cardinality | kind | order_weight | label | identifier |
|---|
| organization | OrganizationGeneric | True | one | Attribute | 1200 | | |
| location | LocationHosting | True | one | Attribute | 1300 | | |
| gateway | IpamIPAddress | True | one | Attribute | 1500 | L3 Gateway | prefix__gateway |
Organization
Basic Organization schema to capture organizations, vendors, and related information.
Generics
GenericDevice
- Description: Generic Device object.
- Label: Device
- Icon: mdi:server
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | unique | order_weight | optional |
|---|
| name | Text | True | 1000 | |
| description | Text | | 2000 | True |
| os_version | Text | | 2200 | True |
Relationships
| name | peer | optional | cardinality | identifier | kind | order_weight | label |
|---|
| interfaces | DcimInterface | True | many | device__interface | Component | | |
| tags | BuiltinTag | True | many | | Attribute | 2000 | |
| primary_address | IpamIPAddress | True | one | | Attribute | 1700 | Primary IP Address |
| platform | DcimPlatform | True | one | | Attribute | 1250 | |
PhysicalDevice
- Description: Generic holding attributes and relationships relevant for physical device.
- Include in Menu: ❌
Attributes
| name | label | description | kind | optional | order_weight | default_value | choices |
|---|
| position | Position (U) | Lowest unit. | Number | True | 1500 | | `` |
| serial | | | Text | True | 1500 | | `` |
| rack_face | Rack Face | On which face of the rack the device is mounted. | Dropdown | False | 1515 | front | `front, rear` |
Relationships
| name | peer | optional | cardinality | kind | order_weight | label |
|---|
| device_type | DcimDeviceType | True | one | Attribute | 1200 | |
| location | LocationHosting | False | one | Attribute | 1500 | Location |
Endpoint
- Description: Generic Endpoint to receive a connector.
- Include in Menu: ❌
Relationships
| name | peer | optional | cardinality | order_weight | kind |
|---|
| connector | DcimConnector | True | one | 1500 | Attribute |
Connector
- Description: Generic Connector to link two endpoints together.
- Include in Menu: ❌
Relationships
| name | peer | optional | cardinality | order_weight | kind |
|---|
| connected_endpoints | DcimEndpoint | True | many | 1500 | Generic |
Interface
- Description: Generic Network Interface
- Label: Interface
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**device__name__value, name__value
- **Uniqueness Constraints:**device + name__value
Attributes
| name | kind | description | order_weight | optional | label | default_value | choices |
|---|
| name | Text | Name of the interface | 1000 | | | | `` |
| description | Text | A brief description of the interface | 1100 | True | | | `` |
| mtu | Number | | 1300 | | MTU | 1514 | `` |
| status | Dropdown | The status of the interface | 1200 | | | active | `provisioning, free, active, maintenance, disabled, deleted, outage` |
| role | Dropdown | The role of the interface in the network | 1250 | True | | | `lag, core, cust, access, management, peering, upstream` |
Relationships
| name | peer | identifier | optional | cardinality | kind | order_weight |
|---|
| device | DcimGenericDevice | device__interface | False | one | Parent | 1025 |
| tags | BuiltinTag | | True | many | Attribute | 3000 |
Layer2
- Description: Layer 2 specific attributes for network interfaces
- Label: Layer 2 Interface
- Include in Menu: ❌
Attributes
| name | label | kind | optional | choices | description | order_weight |
|---|
| l2_mode | Layer2 Mode | Dropdown | True | `access, trunk, trunk_all` | Layer 2 mode of the interface | 1500 |
Layer3
- Description: Layer 3 specific attributes for network interfaces
- Label: Layer 3 Interface
- Include in Menu: ❌
Attributes
| name | label | kind | description | order_weight | optional |
|---|
| dot1q_id | VLAN ID (dot1q) | Number | Dot1Q VLAN ID | 1600 | True |
| mac_address | Mac Address | Text | | 1550 | True |
Relationships
| name | label | peer | cardinality | kind | optional | description | order_weight |
|---|
| ip_addresses | IP Addresses | IpamIPAddress | many | Attribute | True | List of IP addresses associated with the interface | 1150 |
HasSubInterface
- Description: A generic interface that can have sub-interfaces
- Include in Menu: ❌
Relationships
| name | label | peer | identifier | optional | cardinality | kind | description | order_weight |
|---|
| sub_interfaces | Sub-interface(s) | InterfaceVirtual | sub__interface | True | many | Attribute | Sub-interfaces of this interface | 1750 |
Nodes
DeviceType
- Description: A model of device
- Label: Device Type
- Icon: mdi:poll
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**manufacturer__name__value, name__value
- **Uniqueness Constraints:**manufacturer + name__value
Attributes
| name | kind | unique | order_weight | optional | label | default_value |
|---|
| name | Text | True | 1000 | | | |
| description | Text | | 1100 | True | | |
| part_number | Text | | 1200 | True | Part Number | |
| height | Number | | 1400 | False | Height (U) | 1 |
| full_depth | Boolean | | 1500 | | Full Depth | True |
| weight | Number | | 1600 | True | Weight (kg) | |
Relationships
| name | peer | cardinality | kind | order_weight | optional |
|---|
| platform | DcimPlatform | one | Attribute | 1300 | |
| manufacturer | OrganizationManufacturer | one | Attribute | 1250 | False |
| tags | BuiltinTag | many | Attribute | 2000 | True |
- Description: A Platform represent the type of software running on a device.
- Label: Platform
- Icon: mdi:application-cog-outline
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**manufacturer__name__value, name__value
- **Uniqueness Constraints:**name__value
Attributes
| name | kind | unique | order_weight | optional |
|---|
| name | Text | True | 1000 | |
| description | Text | | 1200 | True |
| nornir_platform | Text | | 1500 | True |
| napalm_driver | Text | | 1600 | True |
| netmiko_device_type | Text | | 1700 | True |
| ansible_network_os | Text | | 1800 | True |
| containerlab_os | Text | | 1900 | True |
Relationships
| name | peer | optional | cardinality | order_weight | kind |
|---|
| devices | DcimGenericDevice | True | many | 1350 | |
| manufacturer | OrganizationManufacturer | | one | 1300 | Attribute |
Device
- Description: A configurable network device for managing and directing data traffic, including routers, switches...
- Label: Network Device
- Icon: clarity:network-switch-solid
- Include in Menu: ❌
Attributes
| name | kind | optional | order_weight | choices |
|---|
| status | Dropdown | False | 1100 | `active, provisioning, maintenance, drained` |
| role | Dropdown | True | 1400 | `core, edge, cpe, spine, leaf, tor` |
Physical
- Description: Physical network port on a device
- Label: Physical Interface
- Include in Menu: ❌
Virtual
- Description: Virtual interface like VLAN or Loopback
- Label: Virtual Interface
- Include in Menu: ❌
Relationships
| name | peer | cardinality | kind | identifier | description |
|---|
| parent_interface | InterfaceHasSubInterface | one | Attribute | sub__interface | Parent interface to which this sub-interface belongs |
Generics
Generic
- Description: An organization represent a legal entity, a company.
- Label: Organization
- Icon: mdi:domain
- Include in Menu: ✅
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | unique | order_weight | optional |
|---|
| name | Text | True | 1000 | |
| description | Text | | 1200 | True |
Relationships
| name | peer | cardinality | kind | optional | order_weight |
|---|
| tags | BuiltinTag | many | Attribute | True | 3000 |
Nodes
Manufacturer
- Description: Device Manufacturer
- Icon: mdi:domain
- Menu Placement: OrganizationGeneric
- Include in Menu: ✅
Relationships
| name | peer | cardinality | optional |
|---|
| device_type | DcimDeviceType | many | True |
| platform | DcimPlatform | many | True |
Provider
Generics
Generic
- Description: Generic Location, could be a country, city ...
- Label: Location
- Icon: mingcute:location-line
- Include in Menu: ✅
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | order_weight | unique | optional |
|---|
| name | Text | 1000 | | |
| shortname | Text | 1100 | True | |
| description | Text | 1200 | | True |
Relationships
| name | peer | kind | optional | cardinality |
|---|
| tags | BuiltinTag | Attribute | True | many |
Hosting
- Description: Location directly hosting device and services.
- Include in Menu: ❌
Relationships
| name | label | peer | cardinality | optional |
|---|
| prefixes | Prefixes | IpamPrefix | many | True |
| devices | Devices | DcimPhysicalDevice | many | True |
Nodes
IPAddress
- Description: IP Address
- Label: IP Address
- Icon: mdi:ip
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**address__value
- **Uniqueness Constraints:**ip_namespace + address__value
Attributes
| name | label | kind | optional | regex |
|---|
| fqdn | FQDN | Text | True | (?=^.253$)(^(((?!-)[a-zA-Z0-9-]63(?<!-))|((?!-)[a-zA-Z0-9-]63(?<!-)\.)+[a-zA-Z]63)$) |
Relationships
| name | peer | optional | cardinality |
|---|
| interface | InterfaceLayer3 | True | one |
Prefix
- Description: IPv4 or IPv6 network (with mask)
- Label: Prefix
- Icon: mdi:ip-network
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**prefix__value
- **Uniqueness Constraints:**ip_namespace + prefix__value
Attributes
| name | kind | choices | optional |
|---|
| status | Dropdown | `active, deprecated, reserved` | |
| role | Dropdown | `loopback, management, public, server, supernet, technical, loopback-vtep` | True |
Relationships
| name | peer | optional | cardinality | kind | order_weight | label | identifier |
|---|
| organization | OrganizationGeneric | True | one | Attribute | 1200 | | |
| location | LocationHosting | True | one | Attribute | 1300 | | |
| gateway | IpamIPAddress | True | one | Attribute | 1500 | L3 Gateway | prefix__gateway |
Routing Policies (PIM)
This schema inherits the RoutingPolicy schema and removes import_policies and export_policies attributes. However it adds a number of relationships to RoutingPIM.
- Dependencies:
base, extensions/routing, extensions/routing_policies, extensions/routing_pim
- Version: 1.0
Nodes
PolicyPIM
- Description: A routing policiers for PIM
- Label: PIM Routing Policies
- Icon: carbon:deployment-policy
- Include in Menu: ❌
Extensions
RoutingPIM
Attributes
| name | kind | state |
|---|
| import_policies | Text | absent |
| export_policies | Text | absent |
Relationships
| name | label | peer | identifier | description | kind | cardinality |
|---|
| import_routing_policies | Import Routing Policies | RoutingPolicyPIM | pim__import_policies | The routing-policies used by this instance for import. | Generic | many |
| export_routing_policies | Export Routing Policies | RoutingPolicyPIM | pim__export_policies | The routing-policies used by this instance for export. | Generic | many |
Topology
This schema extension introduces abstract network pods and services running in the pods, such as MPLS and EVPN.
- Dependencies:
base
- Version: 1.0
Generics
Generic
- Description: Generic model for topology.
- Label: Topology
- Icon: carbon:network-3
- Include in Menu: ❌
Attributes
| name | kind | order_weight | optional |
|---|
| description | Text | 1300 | True |
Relationships
| name | peer | optional | cardinality | kind |
|---|
| location | LocationGeneric | True | one | Attribute |
Cluster
This schema extension contains the foundations to capture clusters. With this one in place you can unlock various clusters flavors (hosting cluster able to host VMs, firewall clusters built with specific appliances ...)
- Dependencies:
base, extensions/compute
- Version: 1.0
Generics
Generic
- Description: A cluster of machines hosting services or other machines.
- Label: Clusters
- Icon: mdi:dots-hexagon
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | description | unique | order_weight | optional |
|---|
| name | Text | Name of the cluster. | True | 1000 | |
| description | Text | | | | True |
Relationships
| name | label | peer | optional | cardinality | kind | order_weight |
|---|
| location | Location | LocationGeneric | False | many | Attribute | 1400 |
| tags | | BuiltinTag | True | many | Attribute | 2000 |
GenericComputeUnitNodes
- Description: A generic to apply on clusters that can be built out of generic compute units.
- Include in Menu: ❌
Relationships
| name | label | identifier | cardinality | peer | kind |
|---|
| nodes | Nodes | worker_in_cluster | many | ComputeGenericUnit | Component |
Extensions
ComputeGenericUnit
Relationships
| name | identifier | label | peer | cardinality | description | optional |
|---|
| worker_in_cluster | worker_in_cluster | Worker in cluster | ClusterGenericComputeUnitNodes | one | This device is a worker node of the specified cluster. | True |
LocationGeneric
Relationships
| name | label | peer | cardinality | kind | description | optional |
|---|
| clusters | Clusters | ClusterGeneric | many | Component | All clusters available on that location. | True |
SNMP
This schema extension contains models for SNMP Communities and SNMP Clients. As you can see this extension is not linked to Tenancy or Device, as you could decide to link the Community to different models based on your use case.
- Dependencies:
base
- Version: 1.0
Generics
- Description: Generic model for SNMP community configurations.
- Label: SNMP Community
- Icon: iconoir:community
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | order_weight | optional |
|---|
| name | Text | 1000 | |
| description | Text | 1100 | True |
Relationships
| name | peer | cardinality | kind |
|---|
| clients | SnmpClient | many | Component |
Nodes
- Description: SNMP v1/v2c community configuration.
- Label: SNMP v1/v2c
- Icon: iconoir:community
- Menu Placement: SnmpCommunity
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | order_weight | enum |
|---|
| community_string | Password | 1300 | |
| access | Text | 1200 | ['Read-Only', 'Read-Write'] |
- Description: SNMP version 3 configuration with enhanced security.
- Label: SNMP v3
- Icon: iconoir:community
- Menu Placement: SnmpCommunity
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | order_weight | label | enum | optional | choices |
|---|
| username | Text | 1300 | | | | `` |
| auth_protocol | Text | 1400 | Authentication Protocol | ['None', 'MD5', 'SHA'] | | `` |
| auth_password | Password | 1500 | Authentication Password | | True | `` |
| privacy_protocol | Text | 1600 | Privacy Protocol | ['None', 'DES', 'AES'] | | `` |
| privacy_password | Password | 1700 | Privacy Password | | True | `` |
| security_level | Dropdown | 1200 | Security Level | | | `noAuthNoPriv, authNoPriv, authPriv` |
Client
- Description: Represents an SNMP client that interacts with SNMP Community.
- Label: SNMP Client
- Icon: ph:user-list-light
- Menu Placement: SnmpCommunity
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | order_weight | label | optional |
|---|
| name | Text | 1000 | | |
| client_description | Text | 1100 | Description | True |
Relationships
| name | peer | cardinality | order_weight |
|---|
| community | SnmpCommunity | many | 1200 |
Interface Breakout
This schema extension introduces relationships to support breakout interfaces, enabling you to document the breakout of a physical interface into smaller physical interfaces.
- Dependencies:
base
- Version: 1.0
Extensions
InterfacePhysical
Attributes
| name | kind | optional | default_value | description |
|---|
| breakout_capability | Boolean | False | False | Indicates if the port supports breakout capability |
Relationships
| name | peer | label | optional | cardinality | kind | identifier | direction | description | order_weight |
|---|
| breakout_child_interfaces | InterfacePhysical | Breakout child interface(s) | True | many | Attribute | physical__breakout | outbound | Interfaces resulting from the breakout | 1650 |
| breakout_parent_interface | InterfacePhysical | Breakout parent interface | True | one | Attribute | physical__breakout | inbound | Interface from which breakout is created | 1700 |
Routing Policies BGP
This extension is using the Routing Policies extensions and the Routing BGP one together.
- Dependencies:
base, extensions/routing, extensions/routing_policies, extensions/routing_bgp
- Version: 1.0
Nodes
PolicyBGP
- Description: A routing policiers for BGP
- Label: BGP Routing Policies
- Icon: carbon:deployment-policy
- Include in Menu: ❌
Extensions
RoutingBGPPeerGroup
Attributes
| name | kind | state |
|---|
| import_policies | Text | absent |
| export_policies | Text | absent |
Relationships
| name | label | peer | identifier | description | kind | cardinality |
|---|
| import_routing_policies | Import Routing Policies | RoutingPolicyBGP | bgp__import_policies | The routing-policies used by this instance for import. | Generic | many |
| export_routing_policies | Export Routing Policies | RoutingPolicyBGP | bgp__export_policies | The routing-policies used by this instance for export. | Generic | many |
RoutingBGPSession
Attributes
| name | kind | state |
|---|
| import_policies | Text | absent |
| export_policies | Text | absent |
Relationships
| name | label | peer | identifier | description | kind | cardinality |
|---|
| import_routing_policies | Import Routing Policies | RoutingPolicy | bgp__import_policies | The routing-policies used by this instance for import. | Generic | many |
| export_routing_policies | Export Routing Policies | RoutingPolicy | bgp__export_policies | The routing-policies used by this instance for export. | Generic | many |
Routing BGP RR
This schema extension extend the BGP extension to add BGP Route Reflector Clustering.
- Dependencies:
base, extensions/routing, extensions/routing_bgp
- Version: 1.0
Nodes
BGPRRCluster
- Description: A Route Reflector (RR) Cluster used for grouping internal peers
- Label: Route Reflector Cluster
- Icon: mdi:router-network
- Include in Menu: ❌
Ordering and Constraints
- Order By:
- **Uniqueness Constraints:**name__value
Attributes
| name | kind | description | order_weight | optional |
|---|
| name | Text | Name of the Route Reflector Cluster | 1000 | |
| description | Text | Optional description of the Route Reflector Cluster | 1100 | True |
Relationships
| name | label | peer | description | cardinality | kind | optional | order_weight |
|---|
| cluster_id | Cluster ID | IpamIPAddress | Cluster ID represented as a reference to an IP Address | one | Attribute | False | 1200 |
| peer_groups | BGP Peer Groups | RoutingBGPPeerGroup | | many | Generic | True | |
Extensions
RoutingBGPPeerGroup
Relationships
| name | label | peer | cardinality | kind | order_weight |
|---|
| rr_cluster | RR Cluster | RoutingBGPRRCluster | one | Attribute | 1600 |
SFP
This schema extension gives you all the models you need to document Small Form-factor Pluggable (SFP).
You can either plug it into an interface or attach it to a location (e.g. it's a spare SFP stored in a rack).
Improvements:
-
As of now there is no verification with type / form factor / protocol / distance ...
-
You could plug any SFP into any equipment interface (e.g. a virtual interface ...)
-
You could link a SFP to an interface AND a location ...
-
Dependencies: base
-
Version: 1.0
Generics
GenericSFP
- Description: Generic base for all Small Form-factor Pluggable (SFP) transceivers.
- Label: SFP
- Icon: mdi:gpu
- Include in Menu: ✅
Attributes
| name | kind | optional | order_weight | description | choices | default_value |
|---|
| serial | Text | True | 1400 | | `` | |
| sfp_type | Dropdown | False | 1100 | Type of SFP, such as LR, SR, T. | `lr, sr, lrm, t, sr4, lr4, zr, er, dac, aoc` | |
| status | Dropdown | False | 1300 | | `plugged, spare, decommissioned` | plugged |
| form_factor | Dropdown | False | 1000 | The physical form factor of the SFP module. | `sfp, sfp_plus, qsfp, qsfp_plus, qsfp28, qsfp_dd, cfp, cfp2, cfp4, xfp, sfp56, qsfp56, osfp` | |
Relationships
| name | peer | kind | optional | cardinality | order_weight |
|---|
| interface | DcimInterface | Attribute | True | one | 1200 |
| spare_location | LocationHosting | Attribute | True | one | 1500 |
| manufacturer | OrganizationManufacturer | Attribute | True | one | 1350 |
Nodes
StandardSFP
- Description: Standard SFP module for various types (e.g., LR, SR, T).
- Label: Standard SFP
- Icon: mdi:gpu
- Menu Placement: DcimGenericSFP
- Include in Menu: ❌
BidiSFP
- Description: Bidirectional SFP supporting two wavelengths for single-fiber operation.
- Label: Bidirectional SFP
- Icon: lineicons:arrow-both-direction-vertical-1
- Menu Placement: DcimGenericSFP
- Include in Menu: ❌
Attributes
| name | label | kind | optional | description | order_weight |
|---|
| wavelength_tx | Transmit Wavelength (nm) | Number | False | Transmit wavelength in nm. | 1175 |
| wavelength_rx | Receive Wavelength (nm) | Number | False | Receive wavelength in nm. | 1150 |
Extensions
DcimInterface
Relationships
| name | peer | cardinality | optional |
|---|
| plugged_sfp | DcimGenericSFP | one | True |
LocationHosting
Relationships
| name | peer | cardinality | optional |
|---|
| spare_sfps | DcimGenericSFP | many | True |
OrganizationManufacturer
Relationships
| name | label | peer | cardinality | optional |
|---|
| sfps | SFPs | DcimGenericSFP | many | True |
Circuit
This schema extension contains Circuits and ways to connect them with your infrastructure! The circuit could be a fiber connecting two sites, you would then have two endpoints, one on each site.
- Dependencies:
base, extensions/location_minimal
- Version: 1.0
Nodes
Circuit
- Description: A Circuit represent service operated by a provider.
- Label: Circuit
- Icon: mdi:cable-data
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**circuit_id__value
- Uniqueness Constraints:
Attributes
| name | kind | unique | optional | description | choices |
|---|
| circuit_id | Text | True | | | `` |
| description | Text | | True | | `` |
| circuit_type | Dropdown | | | Specifies the type of circuit. | `upstream, peering, dark_fiber, mpls` |
| status | Dropdown | | | | `active, provisioning, maintenance, drained` |
Relationships
| name | peer | optional | cardinality | kind | label | order_weight |
|---|
| provider | OrganizationProvider | False | one | Attribute | | |
| location | LocationHosting | True | one | Attribute | Location | 1500 |
| enpoints | DcimCircuitEndpoint | True | many | Component | | |
CircuitEndpoint
- Description: A circuit endpoint, could be a position in a MMR...
- Label: Circuit Endpoint
- Icon: mdi:ethernet
- Menu Placement: DcimCircuit
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- **Uniqueness Constraints:**circuit + name__value
Attributes
| name | kind | description | order_weight | optional | choices |
|---|
| name | Text | Name of the circuit endoint, could be a MMR position for instance. | 1000 | | `` |
| status | Dropdown | | | True | `active, provisioning, maintenance, drained` |
| description | Text | | | True | `` |
Relationships
| name | peer | order_weight | optional | cardinality | kind | label |
|---|
| circuit | DcimCircuit | 900 | False | one | Parent | |
| location | LocationHosting | 1500 | False | one | Attribute | Location |
Extensions
OrganizationProvider
Relationships
| name | peer | cardinality | optional |
|---|
| circuits | DcimCircuit | many | True |
LocationHosting
Relationships
| name | peer | cardinality | optional |
|---|
| circuits | DcimCircuit | many | True |
This schema extension adds the BGP Communities models.
- Dependencies:
base, extensions/routing
- Version: 1.0
Nodes
- Description: Defines a BGP community.
- Label: BGP Community
- Icon: iconoir:community
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- **Uniqueness Constraints:**name__value, community__value
Attributes
| name | kind | description | order_weight | optional |
|---|
| name | Text | The name of the BGP community. | 1000 | |
| description | Text | An optional description of the BGP community. | 1100 | True |
| community | Text | The value of the BGP community (RFC1997, RFC4360, RFC8092). | 1200 | |
Relationships
| name | label | peer | description | kind | cardinality | optional | order_weight |
|---|
| routing_policy | Routing Policies | RoutingPolicy | The BGP Policies using this BGP Community. | Generic | many | | |
| tags | | BuiltinTag | | Attribute | many | True | 3000 |
Cross Connect
This extension contains schema to capture Cross Connect. You can see it as "a cable operated by a provider". You will be able to attach it to a location and then connect endpoints to it (e.g. rear interface of a patch panel, circuit endpoint ...)
- Dependencies:
base
- Version: 1.0
Nodes
CrossConnect
- Description: Cross-connect between different endpoints within a datacenter.
- Label: Cross-Connect
- Icon: streamline:arrow-crossover-right-solid
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**provider__name__value
- **Uniqueness Constraints:**provider + identifier__value
Attributes
| name | kind | order_weight | optional | choices |
|---|
| identifier | Text | 900 | | `` |
| description | Text | 1300 | True | `` |
| status | Dropdown | 1200 | True | `connected, planned, reserved` |
Relationships
| name | label | peer | optional | cardinality | kind | order_weight |
|---|
| location | Location | LocationHosting | False | one | Attribute | 1100 |
| provider | | OrganizationProvider | False | one | Attribute | 1000 |
Routing Policies Aggregate
This extension is using the Routing Policies extensions and the Routing Aggregate one together.
- Dependencies:
base, extensions/routing, extensions/routing_policies, extensions/routing_aggregate
- Version: 1.0
Nodes
PolicyAggregate
- Description: A routing policiers for Aggregate
- Label: Aggregate Routing Policies
- Icon: carbon:deployment-policy
- Include in Menu: ❌
Location Minimal
This schema extension is minimal but will provide you with basic items to store location related data.
- Dependencies:
base
- Version: 1.0
Nodes
Country
- Label: Country
- Icon: gis:search-country
- Menu Placement: LocationGeneric
- Include in Menu: ❌
Attributes
| name | kind | optional | order_weight |
|---|
| timezone | Text | True | 1300 |
Metro
- Label: Metro
- Icon: healthicons:city
- Menu Placement: LocationGeneric
- Include in Menu: ❌
Site
- Label: Site
- Icon: ri:building-line
- Menu Placement: LocationGeneric
- Include in Menu: ❌
Attributes
| name | kind | unique | optional | order_weight |
|---|
| facility_id | Text | False | True | 1100 |
| physical_address | Text | False | True | 1500 |
Relationships
| name | peer | optional | cardinality |
|---|
| owner | OrganizationGeneric | True | one |
Rack
- Label: Rack
- Icon: clarity:rack-server-line
- Menu Placement: LocationGeneric
- Include in Menu: ✅
Attributes
| name | kind | unique | optional | order_weight | label | default_value |
|---|
| facility_id | Text | False | True | 1100 | | |
| height | Number | | False | 1300 | Height (U) | 42 |
Relationships
| name | peer | optional | cardinality |
|---|
| owner | OrganizationGeneric | True | one |
Extensions
OrganizationProvider
Relationships
| name | peer | cardinality | optional |
|---|
| sites | LocationSite | many | True |
VRRP
This schema extension contains models for VRRP.
- Dependencies:
base
- Version: 1.0
Nodes
VRRPGroup
- Description: VRRP Group configuration
- Label: VRRP Group
- Icon: fluent:virtual-network-20-filled
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- **Uniqueness Constraints:**name__value
Attributes
| name | kind | label | unique | description | order_weight | optional |
|---|
| name | Text | Name | True | Unique name of the entry | 1000 | |
| group | Text | Group | | VRRP Group | 1100 | |
| password | HashedPassword | Password | | VRRP Password/Key | 1400 | True |
Relationships
| name | on_delete | description | label | peer | optional | cardinality | kind | order_weight |
|---|
| ip_address | cascade | VRRP IP (v4 or v6) | IP Address | IpamIPAddress | True | many | Attribute | 1200 |
| vrrp_interfaces | cascade | | VRRP Interfaces | NetworkVRRPInterface | | many | Component | 1300 |
VRRPInterface
- Description: VRRP Interface configuration
- Label: VRRP Interface
- Icon: carbon:interface-usage
- Menu Placement: NetworkVRRPGroup
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**priority__value
- **Uniqueness Constraints:**vrrp_group + interface
Attributes
| name | kind | label | description | regex | default_value | order_weight |
|---|
| priority | Number | VRRP Priority | VRRP Priority (Should be between 0 to 255) | ^(25[0-5]|2[0-4][0-9]|1?[0-9]?[0-9])$ | 100 | 1100 |
Relationships
| name | description | label | peer | optional | cardinality | kind | order_weight |
|---|
| vrrp_group | VRRP Group | VRRP Group | NetworkVRRPGroup | False | one | Attribute | 1200 |
| interface | Interface L3 | Interface | InterfaceLayer3 | False | one | Attribute | 1300 |
Extensions
InterfaceLayer3
Relationships
| name | kind | peer | description | cardinality | label | order_weight |
|---|
| vrrp | Component | NetworkVRRPInterface | VRRP Interface Configuration | one | VRRP | 1500 |
IpamIPAddress
Relationships
| name | kind | peer | description | cardinality | label | order_weight |
|---|
| vrrp | Component | NetworkVRRPGroup | Part of VRRP Group | one | VRRP Group | 1600 |
Peering IXP
This schema extension contains all you need to model anything revolving around internet peering (Exchange points ...)!
- Dependencies:
base, extensions/routing, extensions/routing_bgp, extensions/routing_bgp_community
- Version: 1.0
Nodes
IXP
- Description: An Internet Exchange Point (IXP) for peering
- Label: Internet Exchange
- Icon: mdi:network
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- **Uniqueness Constraints:**name__value
Attributes
| name | kind | unique | description | order_weight | optional | choices | default_value |
|---|
| name | Text | True | Name of the Internet Exchange | 1000 | | `` | |
| description | Text | | An optional description of the Internet Exchange | 1100 | True | `` | |
| status | Dropdown | | | 1200 | | `enabled, disabled` | enabled |
Relationships
| name | peer | optional | cardinality | kind | description | order_weight | label | identifier |
|---|
| connections | PeeringIXPConnection | True | many | Component | IXP connections associated with this Internet Exchange | | | |
| local_as | RoutingAutonomousSystem | True | one | Attribute | | 1300 | | |
| import_policies | RoutingPolicyBGP | True | many | Generic | Import routing policies applied to the session | | Import Routing Policies | ixp__import_bgppolicies |
| export_policies | RoutingPolicyBGP | True | many | Generic | Export routing policies applied to the session | | Export Routing Policies | ixp__export_bgppolicies |
| bgp_communities | RoutingBGPCommunity | True | many | Generic | BGP communities associated with the session | | BGP Communities | |
| tags | BuiltinTag | True | many | Attribute | | 3000 | | |
IXPConnection
- Description: A connection to an Internet Exchange Point (IXP)
- Label: IXP Connection
- Icon: mdi:lan-connect
- Menu Placement: PeeringIXP
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- **Uniqueness Constraints:**name__value
Attributes
| name | kind | unique | description | order_weight | optional | label | choices | default_value |
|---|
| name | Text | True | Name of the IXP Connection | 1000 | | | `` | |
| description | Text | | Description of the IXP Connection | 1100 | True | | `` | |
| peeringdb_netixlan | Number | | PeeringDB ID for the IXP connection | 1150 | True | PeeringDB Netixlan | `` | |
| status | Dropdown | | | 1200 | True | | `enabled, pre-maintenance, maintenance, post-maintenance, disabled` | enabled |
| vlan | Number | | VLAN ID for the connection | 1300 | True | | `` | |
| mac_address | MacAddress | | MAC address associated with the connection | 1350 | True | MAC Address | `` | |
Relationships
| name | label | description | peer | identifier | cardinality | kind | order_weight | optional |
|---|
| ipv6_address | IPv6 Address | IPv6 address assigned to the connection | IpamIPAddress | ixpconn__ipv6_address | one | Attribute | 1400 | |
| ipv4_address | IPv4 Address | IPv4 address assigned to the connection | IpamIPAddress | ixpconn__ipv4_address | one | Attribute | 1375 | |
| internet_exchange_point | IXP | The Internet Exchange Point this connection is part of | PeeringIXP | | one | Parent | | False |
| router | | The router this IXP connection is connected to | DcimDevice | | one | Attribute | 1400 | |
| tags | | | BuiltinTag | | many | Attribute | 3000 | |
VLAN
This schema extension contains models to support VLANs in you network.
- Dependencies:
base
- Version: 1.0
Nodes
VLAN
- Description: A VLAN is isolated layer two domain
- Label: VLAN
- Icon: mdi:lan-pending
- Menu Placement: IpamL2Domain
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- **Uniqueness Constraints:**l2domain + vlan_id__value
Attributes
| name | kind | optional | choices |
|---|
| name | Text | | `` |
| description | Text | True | `` |
| vlan_id | Number | | `` |
| status | Dropdown | | `active, provisioning, maintenance, drained` |
| role | Dropdown | True | `server, management, user` |
Relationships
| name | peer | optional | cardinality | kind | order_weight |
|---|
| location | LocationHosting | True | many | | |
| prefixes | IpamPrefix | True | many | | |
| l2domain | IpamL2Domain | False | one | Attribute | 1200 |
L2Domain
- Description: Represents layer 2 domain.
- Label: Layer 2 Domain
- Icon: mdi:domain-switch
- Include in Menu: ❌
Attributes
| name | kind | order_weight |
|---|
| name | Text | 1000 |
Relationships
| name | peer | optional | cardinality | kind |
|---|
| vlans | IpamVLAN | True | many | Component |
Extensions
IpamPrefix
Relationships
| name | peer | optional | cardinality | kind | order_weight |
|---|
| vlan | IpamVLAN | True | one | Attribute | 1400 |
InterfaceLayer2
Relationships
| name | label | peer | optional | cardinality | kind | identifier |
|---|
| untagged_vlan | Untagged VLAN | IpamVLAN | True | one | Generic | interface_l2__untagged_vlan |
| tagged_vlan | Tagged VLANs | IpamVLAN | True | many | Generic | interface_l2__tagged_vlan |
LocationHosting
Relationships
| name | label | peer | cardinality | optional |
|---|
| vlans | VLANs | IpamVLAN | many | True |
Routing Policies OSPF
This extension is using the Routing Policies extensions and the Routing OSPF one together.
- Dependencies:
base, extensions/routing, extensions/routing_policies, extensions/routing_ospf
- Version: 1.0
Nodes
PolicyOSPF
- Description: A routing policiers for OSPF
- Label: OSPF Routing Policies
- Icon: carbon:deployment-policy
- Include in Menu: ❌
Extensions
RoutingOSPF
Attributes
| name | kind | state |
|---|
| import_policies | Text | absent |
| export_policies | Text | absent |
Relationships
| name | label | peer | identifier | description | kind | cardinality |
|---|
| import_routing_policies | Import Routing Policies | RoutingPolicyOSPF | ospf__import_policies | The routing-policies used by this instance for import. | Generic | many |
| export_routing_policies | Export Routing Policies | RoutingPolicyOSPF | ospf__export_policies | The routing-policies used by this instance for export. | Generic | many |
Physical Disk
Simple schema allowing you to capture physical disks information for the sake of inventory and lifecycle management.
NOTE: This extension is compatible with all sort of device. You can apply the generic "DeviceWithPhysicalDisks" to particular model to enable disks tracking. You might also link that schema to location for instance to capture spares.
- Dependencies:
base
- Version: 1.0
Generics
DeviceWithPhysicalDisks
- Description: Generic that hold relationship toward physical disks. To apply on device that can have physical disks.
- Include in Menu: ❌
Relationships
| name | cardinality | peer | optional | kind |
|---|
| physical_disks | many | DcimPhysicalDisk | True | Component |
Nodes
PhysicalDisk
- Description: Physical Disk
- Label: Physical Disk
- Icon: carbon:vmdk-disk
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- **Uniqueness Constraints:**name__value + device
Attributes
| name | kind | unique | optional | order_weight | description | choices | label |
|---|
| name | Text | False | False | 900 | | `` | |
| disk_type | Dropdown | | True | 950 | Specifies the type of disk | `ssd, nvme, hdd, hybrid` | |
| status | Dropdown | | | | Lifecycle status of the hardware component. | `in_inventory, active, decommissioned, disposed` | |
| size | Number | | False | 1000 | Disk capacity (in GB). | `` | Size (GB) |
| serial_number | Text | True | True | 1100 | Serial number of the disk | `` | |
| description | Text | False | True | 1500 | | `` | |
Relationships
| name | peer | optional | cardinality | kind | order_weight |
|---|
| device | DcimDeviceWithPhysicalDisks | False | one | Parent | 800 |
Compute
With this schema extension in place you will be able to capture all your physical servers. It also gives you the baseline to build virtualization. You might consider HostingCluster extension to go with!
- Dependencies:
base
- Version: 1.0
Generics
GenericUnit
- Description: A generic unit that can compute (e.g. server, vm ...).
- Include in Menu: ❌
HostVirtualMachine
- Description: A generic unit that can host VM
- Include in Menu: ❌
Relationships
| name | cardinality | peer | kind | optional |
|---|
| virtual_machines | many | VirtualizationVirtualMachine | Component | True |
Nodes
PhysicalServer
- Description: A physical server with fixed resources and specific hardware characteristics.
- Label: Physical Server
- Icon: mdi:server
- Include in Menu: ❌
Attributes
| name | kind | optional | order_weight | choices |
|---|
| status | Dropdown | False | 1100 | `active, provisioning, maintenance, drained` |
VirtualMachine
- Description: A virtual machine hosted on a server or a cluster.
- Label: Virtual Machine
- Icon: carbon:virtual-machine
- Include in Menu: ❌
Attributes
| name | kind | optional | description | order_weight | choices |
|---|
| role | Dropdown | True | Role of the virtual machine. | 1400 | `application, storage` |
| vcpu | Number | True | Number of CPU cores assigned to the VM. | 1900 | `` |
| memory | Number | True | Amount of memory (in GB) assigned to the VM. | 1900 | `` |
| disk | Number | True | Disk space (in GB) assigned to the VM. | 1900 | `` |
Relationships
| name | peer | optional | cardinality | kind | order_weight |
|---|
| host | VirtualizationHostVirtualMachine | False | one | Attribute | 1500 |
Routing PIM
This schema extension contains all you need to model the PIM Protocol.
- Dependencies:
base, extensions/routing
- Version: 1.0
Nodes
PIM
- Description: Protocol Independent Multicast (PIM) instance on a Virtual Router.
- Label: PIM
- Icon: mdi:network-outline
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**vrf__name__value, device__name__value
- **Uniqueness Constraints:**device + vrf
Attributes
| name | kind | optional | default_value | description | order_weight |
|---|
| dr_priority | Number | True | 1 | Designated Router priority. | 1250 |
| import_policies | Text | True | | | 1300 |
| export_policies | Text | True | | | 1350 |
Relationships
| name | peer | optional | description | cardinality | kind | label | identifier |
|---|
| rp_address | IpamIPAddress | True | Rendezvous Point (RP) address for PIM. | one | Attribute | | |
| pim_interfaces | RoutingPIMInterface | True | | many | Component | PIM Interfaces | pim__piminterfaces |
PIMInterface
- Description: Interface configuration for PIM.
- Label: PIM Interface
- Icon: mdi:ethernet
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**description__value
- **Uniqueness Constraints:**pim + interface
Attributes
| name | kind | optional | unique | description | order_weight | choices | default_value |
|---|
| description | Text | False | True | Description of the OSPF interface. | 1100 | `` | |
| pim_mode | Dropdown | | | PIM mode used for multicast routing on this interface. | 1150 | `sparse, dense, bidirectional` | |
| hello_interval | Number | True | | Interval for PIM hello messages (in seconds). | 1300 | `` | 30 |
| dr_priority | Number | True | | Designated Router priority on the interface. | 1250 | `` | 1 |
Relationships
| name | label | peer | identifier | optional | cardinality | kind | order_weight |
|---|
| pim | PIM | RoutingPIM | pim__piminterfaces | False | one | Parent | |
| interface | | InterfaceLayer3 | | False | one | Attribute | 1200 |
Cable
This schema extension contains a basic Cable model allowing you to connect two endpoints.
- Dependencies:
base
- Version: 1.0
Nodes
Cable
- Description: Physical cable connecting two endpoints
- Label: Cable
- Icon: mdi:cable-data
- Include in Menu: ❌
Attributes
| name | kind | optional | order_weight | choices | label |
|---|
| status | Dropdown | True | 1000 | `connected, planned` | |
| cable_type | Dropdown | True | 1100 | `cat3, cat5, cat5e, cat6, cat6a, cat7, cat7a, cat8, mmf-om1, mmf-om2, mmf-om3, mmf-om4, mmf-om5, smf-os1, smf-os2, dac-passive, dac-active, aoc, coaxial, mrj21-trunk, power, usb` | |
| color | Dropdown | True | 1300 | `dark-red, red, pink, rose, fuchsia, purple, dark-purple, indigo, blue, light-blue, cyan, teal, aqua, dark-green, green, light-green, lime, yellow, amber, orange, dark-orange, brown, light-grey, grey, dark-grey, black` | |
| label | Text | True | 1200 | `` | |
| length | Number | True | 1350 | `` | Length (in cm) |
Patch Panel
This schema extension allows you to capture patch panel related information like rear/front interfaces and mapping between them. You can insert the patch panel into a rack and leverage the device type model. Finally you can also capture information about potential modules you would insert into your patch panel.
NOTE: This extension is compatible with all sort of connectors, meaning you can plug cable, circuits, cross-connect to front & rear interfaces!
- Dependencies:
base
- Version: 1.0
Generics
GenericPatchPanelInterface
- Label: Patch Panel Interfaces
- Icon: mdi:ethernet
- Menu Placement: DcimPatchPanel
- Include in Menu: ❌
Attributes
| name | kind | order_weight | optional | choices |
|---|
| name | Text | 1000 | | `` |
| description | Text | 2000 | True | `` |
| connector_type | Dropdown | 1100 | | `FC, LC, LC_PC, LC_UPC, LC_APC, LSH, LSH_PC, LSH_UPC, LSH_APC, LX_5, LX_5_PC, LX_5_UPC, LX_5_APC, MPO, MTRJ, SC, SC_PC, SC_UPC, SC_APC, ST, CS, SN, SMA_905, SMA_906, URM_P2` |
Nodes
PatchPanel
- Description: A Patch Panel used for managing network cable connections in a data center or telecom setup.
- Label: Patch Panel
- Icon: ic:round-device-hub
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | unique | order_weight | label | optional | description |
|---|
| name | Text | True | 1000 | | | |
| module_capacity | Number | | | Module Capacity | True | The maximum number of modules that can be housed within this patch panel. |
| description | Text | | 2000 | | True | |
Relationships
| name | peer | identifier | optional | cardinality | kind |
|---|
| front_interfaces | DcimFrontPatchPanelInterface | front_interfaces | True | many | Component |
| rear_interfaces | DcimRearPatchPanelInterface | rear_interfaces | True | many | Component |
| modules | DcimPatchPanelModule | | True | many | Component |
FrontPatchPanelInterface
- Label: Patch Panel Front Interfaces
- Menu Placement: DcimGenericPatchPanelInterface
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**corresponding_front_rear__name__value, name__value
- **Uniqueness Constraints:**patch_panel + name__value
Relationships
| name | label | peer | order_weight | optional | cardinality | kind | identifier |
|---|
| corresponding_front_rear | Corresponding rear interface | DcimRearPatchPanelInterface | 1200 | True | one | Attribute | |
| patch_panel | | DcimPatchPanel | 900 | False | one | Parent | front_interfaces |
RearPatchPanelInterface
- Label: Patch Panel Rear Interfaces
- Menu Placement: DcimGenericPatchPanelInterface
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**patch_panel__name__value, name__value
- **Uniqueness Constraints:**patch_panel + name__value
Relationships
| name | label | peer | order_weight | optional | cardinality | kind | identifier |
|---|
| corresponding_front_rear | Corresponding front interfaces | DcimFrontPatchPanelInterface | 1200 | True | many | Attribute | |
| patch_panel | | DcimPatchPanel | 900 | False | one | Parent | rear_interfaces |
PatchPanelModule
- Label: Patch Panel Module
- Icon: mdi:expansion-card
- Menu Placement: DcimPatchPanel
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**patch_panel__name__value, position__value
- **Uniqueness Constraints:**patch_panel + position__value
Attributes
| name | kind | order_weight | description | label | optional | choices |
|---|
| name | Text | 1000 | | | | `` |
| position | Number | 1100 | Position for the module inside the Patch Panel. | | | `` |
| module_type | Dropdown | 1200 | Type of module inserted into the patch panel. | Module Type | True | `3_mpo_24_fo_lc` |
| serial | Text | 1500 | | | True | `` |
| description | Text | 2000 | | | True | `` |
Relationships
| name | peer | optional | order_weight | cardinality | kind |
|---|
| patch_panel | DcimPatchPanel | False | 900 | one | Parent |
Routing Aggregate
This schema extension contains all you need to model the Aggregate Routing Protocol.
- Dependencies:
base, extensions/routing
- Version: 1.0
Nodes
AggregateRoute
- Description: Aggregate Protocol with action and BGP communities
- Label: Aggregate Routes
- Icon: grommet-icons:aggregate
- Include in Menu: ❌
Attributes
| name | label | kind | optional | default_value | order_weight |
|---|
| discard | Discard | Boolean | True | False | 1275 |
| import_policies | | Text | True | | 1300 |
| export_policies | | Text | True | | 1350 |
Relationships
| name | kind | peer | description | order_weight |
|---|
| destination | Attribute | IpamPrefix | Destination network for the static route. | 1200 |
DWDM
This schema extension contains models for OADM (Optical Add Drop Multiplexer) supporting various WDM (Wavelength Division Multiplexing) technologies such as DWDM (Dense Wavelength Division Multiplexing) or CWDM (Coarse Wavelength Division Multiplexing). With some vendors, the tunable optics are not configured via the channel number but via the wavelength and/or the frequency. This model provides a unique entry in Infrahub for those.
- Dependencies:
base, extensions/sfp
- Version: 1.0
Generics
GenericOadmInterface
- Label: Optical Multiplexer Interfaces
- Icon: mdi:ethernet
- Menu Placement: DcimOpticalMultiplexer
- Include in Menu: ❌
Attributes
| name | kind | order_weight | optional | choices |
|---|
| name | Text | 1000 | | `` |
| description | Text | 2000 | True | `` |
| connector_type | Dropdown | 1100 | | `FC, LC, LC_PC, LC_UPC, LC_APC, LSH, LSH_PC, LSH_UPC, LSH_APC, LX_5, LX_5_PC, LX_5_UPC, LX_5_APC, MPO, MTRJ, SC, SC_PC, SC_UPC, SC_APC, ST, CS, SN, SMA_905, SMA_906, URM_P2` |
Nodes
OpticalMultiplexer
- Description: An OADM (Optical Add Drop Multiplexer) supporting various WDM (Wavelength Division Multiplexing) technologies.
- Label: Optical Multiplexer
- Icon: mdi:transit-connection-variant
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | unique | order_weight | description | optional | choices | default_value |
|---|
| name | Text | True | 1000 | | | `` | |
| wdm_type | Dropdown | | 1110 | Type of WDM (e.g CWDM. DWDM) | False | `cwdm, dwdm` | dwdm |
| description | Text | | 2000 | | True | `` | |
Relationships
| name | peer | identifier | optional | cardinality | kind |
|---|
| front_interfaces | DcimOadmFrontInterface | front_interfaces | True | many | Component |
| rear_interface | DcimOadmRearInterface | rear_interfaces | True | one | Component |
OadmFrontInterface
- Label: Optical Multiplexer Front Interfaces
- Menu Placement: DcimGenericOadmInterface
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**optical_multiplexer__name__value, name__value
- **Uniqueness Constraints:**optical_multiplexer + name__value
Relationships
| name | peer | order_weight | identifier | optional | cardinality | kind |
|---|
| optical_multiplexer | DcimOpticalMultiplexer | 900 | front_interfaces | False | one | Parent |
| channels | DcimWdmChannel | 1200 | | True | many | Attribute |
OadmRearInterface
- Label: Optical Multiplexer Rear Interfaces
- Menu Placement: DcimGenericOadmInterface
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**optical_multiplexer__name__value, name__value
- **Uniqueness Constraints:**optical_multiplexer + name__value
Relationships
| name | peer | order_weight | identifier | optional | cardinality | kind |
|---|
| optical_multiplexer | DcimOpticalMultiplexer | 900 | rear_interface | False | one | Parent |
WdmChannel
- Description: A WDM channel with its wavelength and frequency.
- Label: WDM Channel
- Icon: game-icons:laser-warning
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**wdm_type__value, channel__value
- **Uniqueness Constraints:**wdm_type__value + channel__value + wavelength__value + frequency__value, wdm_type__value + channel__value
Attributes
| name | kind | description | order_weight | optional | choices | default_value | label |
|---|
| channel | Number | WDM channel number. | | | `` | | |
| wdm_type | Dropdown | Type of WDM (e.g CWDM. DWDM) | 1110 | False | `cwdm, dwdm` | dwdm | |
| wavelength | Text | Wavelength of the channel in nm. | | | `` | | Wavelength (nm) |
| frequency | Text | Frequency of the channel in GHz. | | | `` | | Frequency (GHz) |
WdmSFP
- Description: SFP with configuration for Wavelength Division Multiplexing.
- Label: WDM SFP
- Icon: mdi:laser-pointer
- Menu Placement: DcimGenericSFP
- Include in Menu: ❌
Attributes
| name | kind | description | order_weight | optional | choices | default_value |
|---|
| wdm_type | Dropdown | Type of WDM (e.g CWDM. DWDM) | 1110 | False | `cwdm, dwdm` | dwdm |
Relationships
| name | label | peer | kind | cardinality | optional | order_weight |
|---|
| wdm_channel | WDM Channel | DcimWdmChannel | Attribute | one | False | 1150 |
Users
This schema extension contains models for account management.
- Dependencies:
base
- Version: 1.0
Nodes
Group
- Description: User Group
- Label: User Groups
- Icon: iconoir:group
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- **Uniqueness Constraints:**name__value
Attributes
| name | kind | order_weight | optional | label | choices |
|---|
| name | Text | 1000 | | | `` |
| description | Text | 1100 | True | | `` |
| idle_timeout | Number | 1300 | | Idle Timeout (s) | `` |
| permissions | Dropdown | 1200 | False | | `admin, operator, read-only` |
Account
- Description: User login and authentication
- Label: User Account
- Icon: mdi:account-key
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- **Uniqueness Constraints:**name__value
Attributes
| name | label | kind | optional | description | order_weight | default_value |
|---|
| name | Username | Text | False | The login username | 1000 | |
| full_name | | Text | True | Full name of the account | 1100 | |
| ssh_key | | Password | True | SSH key for secure access | 1300 | |
| password | | Password | True | Password for login (alternative to SSH key) | 1400 | |
| mfa_enabled | | Boolean | | Whether multi-factor authentication is enabled | 1500 | False |
Relationships
| name | peer | cardinality | optional | kind | order_weight |
|---|
| user_group | UserGroup | one | False | Attribute | 1200 |
| organization | OrganizationGeneric | one | False | Parent | |
Extensions
OrganizationGeneric
Relationships
| name | kind | peer | description | cardinality |
|---|
| accounts | Component | UserAccount | List of Accounts under this organization | many |
QinQ
This schema extension brings extensions to VLAN model in order to support QinQ.
- Dependencies:
base, extensions/vlan
Firewall Policer
This schema extension contains models for VMs. You might consider Cluster or/and Hypervisor extension to go with!
- Dependencies:
base
- Version: 1.0
Nodes
Policer
- Description: A generic policer configuration.
- Label: Network Policer
- Icon: mdi:car-speed-limiter
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- **Uniqueness Constraints:**name__value
Attributes
| name | kind | label | description | order_weight | unique | optional | choices |
|---|
| name | Text | Name | Unique name of the policer. | 1000 | True | | `` |
| description | Text | | | 1100 | | True | `` |
| policer_type | Dropdown | Policer Type | Type of policer. | 1150 | | True | `bandwidth-policer, interface-policer, shared-policer, hierarchical-policer` |
| bandwidth_limit | Dropdown | Bandwidth Limit | Bandwidth limit for the policer. | 1200 | | True | `500k, 2125k, 5250k, 10m, 20m, 30m, 50m, 75m, 100m, 200m, 300m, 1000m` |
| pps_limit | Dropdown | PPS Limit | Packets per second (PPS) limit for the policer. | 1250 | | True | `500pps, 1000pps, 5000pps` |
| burst_size_limit | Dropdown | Burst Size Limit | Burst size limit for the policer. | 1300 | | True | `50k, 100k, 128k, 256k, 512k, 1m, 1500k, 2m, 3m, 4m, 8m, 12m, 37m, 40m, 1000000k` |
| packet_burst | Dropdown | Packet Burst | Packet burst size for the policer. | 1350 | | True | `1k, 5k, 10k` |
| action | Dropdown | Action | Action to take when limits are exceeded. | 1400 | | | `discard, drop, accept` |
VRF
This schema extension contains models to support VRF in your network.
- Dependencies:
base
- Version: 1.0
Nodes
VRF
- Description: A VRF is isolated layer three domain
- Label: VRF
- Icon: mdi:router
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | optional | unique | label | order_weight |
|---|
| name | Text | False | True | | |
| vrf_rd | Text | True | | Route Distinguisher | |
| description | Text | True | | | 1200 |
Relationships
| name | peer | optional | cardinality | kind | identifier | label |
|---|
| namespace | BuiltinIPNamespace | False | one | Attribute | | |
| import_rt | IpamRouteTarget | True | one | Attribute | vrf__import | Import Targets |
| export_rt | IpamRouteTarget | True | one | Attribute | vrf__export | Export Targets |
RouteTarget
- Description: Route Target (RFC 4360)
- Label: Route Target
- Icon: mdi:target
- Menu Placement: IpamVRF
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | unique | optional |
|---|
| name | Text | True | |
| description | Text | | True |
Relationships
| name | peer | optional | cardinality |
|---|
| vrf | IpamVRF | True | many |
Extensions
IpamPrefix
Relationships
| name | label | peer | optional | cardinality | kind | order_weight |
|---|
| vrf | VRF | IpamVRF | True | one | Attribute | 1150 |
IpamIPAddress
Relationships
| name | label | peer | optional | cardinality | kind | order_weight |
|---|
| vrf | VRF | IpamVRF | True | one | Attribute | 1150 |
Lag
This schema extension includes models for Link Aggregation Groups (LAGs), enabling you to link physical interfaces as building blocs of your LAG interface. It can be used in standard networking environments as well as in compute scenarios, such as capturing bond interfaces.
- Dependencies:
base
- Version: 1.0
Nodes
Lag
- Description: LAG interface
- Label: LAG Interface
- Include in Menu: ❌
Attributes
| name | label | kind | choices | default_value | description | order_weight |
|---|
| lacp_rate | LACP Rate | Dropdown | `slow, fast` | fast | LACP rate for the aggregated interface | 1700 |
| lacp_mode | LACP Mode | Dropdown | `active, passive, disabled` | active | LACP mode for the aggregated interface | 1750 |
Relationships
| name | label | peer | cardinality | kind | description | order_weight |
|---|
| lag_members | Member(s) | InterfacePhysical | many | Attribute | Physical Interfaces that are members of this aggregate | 1800 |
Extensions
InterfacePhysical
Relationships
| name | label | peer | optional | cardinality | kind | description | order_weight |
|---|
| lag_parent | LAG | InterfaceLag | True | one | Attribute | LAG Interface using this Physical Interface | 1800 |
Routing
This schema extension contains generics to create Routing Protocol "Instance". The idea is to create one Routing Protocol instance per IpamVRF + DcimDevice pair.
- Dependencies:
base, extensions/vlan
- Version: 1.0
Generics
Protocol
- Description: Generic protocol model for routing protocols
- Label: Protocol
- Icon: carbon:router
- Include in Menu: ❌
Attributes
| name | kind | optional | unique | description | order_weight | choices |
|---|
| description | Text | False | True | Description of the protocol | 1100 | `` |
| status | Dropdown | | | Status of the Protocol Configuration. | 1150 | `active, disabled, deleted` |
Relationships
| name | peer | optional | cardinality | kind | order_weight | label |
|---|
| device | DcimDevice | False | one | Parent | 1050 | |
| vrf | IpamVRF | False | one | Attribute | 1075 | VRF |
Routing BGP
This schema extension contains all you need to model your BGP platform.
- Dependencies:
base, extensions/routing
- Version: 1.0
Nodes
AutonomousSystem
- Description: An Autonomous System (AS) is a set of Internet routable IP prefixes belonging to a network
- Label: Autonomous System
- Icon: mdi:bank-circle-outline
- Menu Placement: RoutingBGPSession
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**asn__value, name__value
- **Uniqueness Constraints:**asn__value, name__value
Attributes
| name | kind | description | order_weight | optional |
|---|
| name | Text | Name of the Autonomous System | 1000 | |
| asn | Number | Autonomous System Number | 1050 | |
| description | Text | Description of the Autonomous System | 1100 | True |
Relationships
| name | peer | optional | cardinality | kind |
|---|
| organization | OrganizationGeneric | False | one | Attribute |
| location | LocationGeneric | True | one | Attribute |
| devices | DcimDevice | True | many | Attribute |
BGPPeerGroup
- Description: A BGP Peer Group is used to regroup parameters that are shared across multiple peers
- Label: BGP Peer Group
- Icon: mdi:view-grid-plus-outline
- Menu Placement: RoutingBGPSession
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- **Uniqueness Constraints:**name__value
Attributes
| name | kind | optional | description | order_weight | regex | choices | default_value |
|---|
| name | Text | False | Name of the BGP Group | 1000 | | `` | |
| import_policies | Text | True | | 1300 | | `` | |
| export_policies | Text | True | | 1350 | | `` | |
| maximum_routes | Number | True | Maximum routes for the BGP Group. | 1400 | ^[0-9]+$ | `` | |
| local_pref | Number | True | Force Local Pref for this BGP Peer Group. | 1450 | ^[0-9]+$ | `` | |
| send_community | Checkbox | True | Whether to send community attributes. | 1500 | | `` | |
| address_family | Dropdown | | The address family for the routing policy indicating the type of IP address. | 1150 | | `ipv4, ipv6` | ipv4 |
Relationships
| name | identifier | peer | optional | cardinality | kind |
|---|
| local_as | bgppeergroup__local_as | RoutingAutonomousSystem | True | one | Attribute |
| remote_as | bgppeergroup__remote_as | RoutingAutonomousSystem | True | one | Attribute |
BGPSession
- Description: A BGP Session represent a point to point connection between two routers
- Label: BGP Session
- Icon: mdi:router
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**remote_as__asn__value
- Uniqueness Constraints:
Attributes
| name | kind | optional | enum | description | order_weight | choices | regex |
|---|
| import_policies | Text | True | | | | `` | |
| export_policies | Text | True | | | | `` | |
| session_type | Text | | ['EXTERNAL', 'INTERNAL'] | Type of BGP Session | 1200 | `` | |
| role | Dropdown | | | Role of the BGP Session | 1600 | `backbone, upstream, peering` | |
| local_pref | Number | True | | Force Local Pref for this BGP Peer Session. | 1450 | `` | ^[0-9]+$ |
Relationships
| name | identifier | peer | optional | cardinality | kind |
|---|
| local_as | bgpsession__local_as | RoutingAutonomousSystem | True | one | Attribute |
| remote_as | bgpsession__remote_as | RoutingAutonomousSystem | True | one | Attribute |
| local_ip | bgpsession__local_ip | IpamIPAddress | True | one | Attribute |
| remote_ip | bgpsession__remote_ip | IpamIPAddress | True | one | Attribute |
| device | | DcimDevice | True | one | |
| peer_group | | RoutingBGPPeerGroup | True | one | Attribute |
| peer_session | | RoutingBGPSession | True | one | Attribute |
Extensions
DcimGenericDevice
Relationships
| name | peer | optional | cardinality | kind | order_weight |
|---|
| asn | RoutingAutonomousSystem | True | one | Attribute | 1600 |
OrganizationGeneric
Relationships
| name | label | cardinality | optional | peer | order_weight |
|---|
| asn | Autonomous System | many | True | RoutingAutonomousSystem | 2000 |
Modules
This schema extension allows you to capture Device Modules related information like the serial number or the status. You can insert the Module into a Dcim Physical Device.
NOTE: This extension doesn't contain any Nodes, you can use the extension module_linecards or modules_routing_engine to use it
- Dependencies:
base
- Version: 1.0
Generics
GenericModule
- Description: A generic module, such as a Linecard or Routing Engine, installed in a device.
- Label: Module
- Include in Menu: ❌
Attributes
| name | kind | unique | description | order_weight | optional | choices | default_value |
|---|
| serial_number | Text | True | Unique serial number of the module. | 1000 | | `` | |
| description | Text | | | 1100 | True | `` | |
| status | Dropdown | | | 1300 | | `provisioning, active, maintenance, disabled, outage` | active |
Relationships
| name | peer | optional | cardinality | kind | order_weight | label | identifier |
|---|
| module_type | DeviceGenericModuleType | False | one | Attribute | 1150 | | |
| device | DcimPhysicalDevice | True | one | Attribute | 1000 | Device | device__modules |
GenericModuleType
- Description: A generic module type, with common specifications like part number and manufacturer.
- Label: Module Type
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**manufacturer__name__value, name__value
- **Uniqueness Constraints:**part_number__value, name__value + manufacturer
Attributes
| name | kind | unique | description | order_weight | optional | label |
|---|
| name | Text | True | Name of the module type. | 1000 | | |
| description | Text | | Description of the module type. | 1100 | True | |
| part_number | Text | | Part number of the module. | 1200 | True | Part Number |
Relationships
| name | peer | identifier | cardinality | optional | kind | description | order_weight |
|---|
| manufacturer | OrganizationManufacturer | manufacturer__moduletype | one | False | Attribute | Manufacturer of the module type. | 1250 |
| tags | BuiltinTag | | many | True | Attribute | Tags associated with the module type. | 3000 |
Extensions
DcimPhysicalDevice
Relationships
| name | peer | identifier | cardinality | kind |
|---|
| modules | DeviceGenericModule | device__modules | many | Component |
Routing Policies
This schema extension contains a generic to create Routing Policies. This Generic can be extend for each Routing Protocols you may want to use.
- Dependencies:
base
- Version: 1.0
Generics
Policy
- Description: Policy defining the rules for routing traffic in a network.
- Icon: carbon:deployment-policy
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- **Uniqueness Constraints:**name__value
Attributes
| name | kind | description | unique | optional | order_weight | label | choices | default_value |
|---|
| name | Text | The name of the routing policy. | True | False | 1000 | | `` | |
| description | Text | An optional description of the routing policy. | | True | 1100 | | `` | |
| policy_type | Dropdown | The type of routing policy which specifies the direction of route advertisement. | | | 1200 | Type | `import-policy, export-policy, import-export-policy` | |
| weight | Number | Priority of the routing policy. The higher the number, the higher the priority. | | True | 1400 | | `` | 1000 |
| address_family | Dropdown | The address family for the routing policy indicating the type of IP address. | | | 1150 | | `ipv4, ipv6, all` | all |
Hosting Cluster
A rather generic cluster built with compute units (e.g. servers) and able to host VMs.
- Dependencies:
base, extensions/cluster, extensions/compute
- Version: 1.0
Nodes
Hosting
- Description: A cluster hosting virtual machines.
- Label: Hosting Cluster
- Icon: mdi:dots-hexagon
- Menu Placement: ClusterGeneric
- Include in Menu: ❌
Attributes
| name | kind | order_weight | description | choices | optional |
|---|
| cluster_type | Dropdown | 1200 | Type of the cluster. | `aws, kvm, gcp, vmware` | |
| status | Dropdown | 1300 | | `active, provisioning, maintenance, drained` | False |
Routing OSPF
This schema extension contains all you need to model the OSPF Routing Protocol.
- Dependencies:
base, extensions/routing
- Version: 1.0
Nodes
OSPF
- Description: OSPF (Open Shortest Path First) instance on a Virtual Router.
- Label: OSPF
- Icon: mdi:network-outline
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**router_id__address__value, vrf__name__value, device__name__value
- **Uniqueness Constraints:**device + vrf + version__value
Attributes
| name | kind | optional | default_value | description | order_weight | choices |
|---|
| reference_bandwidth | Number | True | 1000 | Reference bandwidth for OSPF instance (in Mbps). | 1150 | `` |
| version | Dropdown | | ospf | Version of the OSPF protocol. | 1100 | `ospf, ospfv3` |
| import_policies | Text | True | | | 1300 | `` |
| export_policies | Text | True | | | 1350 | `` |
Relationships
| name | peer | optional | cardinality | kind | label | identifier |
|---|
| router_id | IpamIPAddress | True | one | Attribute | | |
| ospf_interfaces | RoutingOSPFInterface | True | many | Component | OSPF Interfaces | ospf__ospfinterfaces |
OSPFInterface
- Description: Pivot table linking OSPF configuration to an interface.
- Label: OSPF Interface
- Icon: mdi:ethernet
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**description__value
- **Uniqueness Constraints:**ospf + interface
Attributes
| name | kind | optional | unique | description | order_weight | choices | default_value |
|---|
| description | Text | False | True | Description of the OSPF interface. | 1500 | `` | |
| metric | Number | True | | OSPF metric for the interface. | 1400 | `` | |
| mode | Dropdown | | | Mode of the OSPF interface. | 1300 | `normal, passive, peer_to_peer` | normal |
| authentication_key | Password | True | | Shared secret used to authenticate and secure routing messages between neighboring routers. | 1250 | `` | |
| authentication_mode | Dropdown | True | | | 1225 | `md5, sha1` | |
| area | Text | | | OSPF area associated with the interface. | 1200 | `` | |
Relationships
| name | label | peer | identifier | optional | cardinality | kind | order_weight |
|---|
| ospf | OSPF | RoutingOSPF | ospf__ospfinterfaces | False | one | Parent | 1100 |
| interface | | InterfaceLayer3 | | False | one | Attribute | 1200 |
Infiniband
This schema extension adds support for InfiniBand switches.
- Dependencies:
base, extensions/compute
- Version: 1.0
Nodes
Switch
- Description: InfiniBand Switch
- Label: InfiniBand Switch
- Icon: mdi:server
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | unique | order_weight | optional | label | description | default_value | choices |
|---|
| name | Text | True | 1000 | | | | | `` |
| description | Text | | 2000 | True | | | | `` |
| os_version | Text | | 2200 | True | | | | `` |
| rsu_rail_id | Number | | | True | RSU Rail ID | InfiniBand RSU Rail ID (numeric) assigned to the switch | | `` |
| aaa_authentication_model | Dropdown | | | False | AAA Authentication Model | AAA authentication model to be used by the switch | local | `tacacs, local` |
| aaa_accounting_model | Dropdown | | | False | AAA Accounting Model | AAA accounting model to be used by the switch | local | `tacacs, local` |
| role | Dropdown | | | | Switch Role | Role of the switch in the InfiniBand network | | `spine, leaf` |
| split_ready | Boolean | | | | Split Ready | Enable Split-Ready profile for switch | False | `` |
| ipv6_enable | Boolean | | | | IPv6 Enable | Enable IPv6 on the switch | False | `` |
| cli_prefix_modes | Boolean | | | | CLI Prefix Modes | Enable CLI prefix modes | True | `` |
| xml_gateway | Boolean | | | | XML Gateway | Enable XML Gateway | False | `` |
| ssh_server_security_strict | Boolean | | | | SSH Server Security Strict | Enable SSH Server Security Strict | False | `` |
| banner | Text | | | | Banner | Banner to be displayed on login | NVIDIA MLNX-OS Switch Management | `` |
| password_hardening | Boolean | | | | Password Hardening | Enable Password Hardening | False | `` |
Relationships
| name | kind | cardinality | peer | optional |
|---|
| interfaces | Component | many | InfinibandSwitchInterface | True |
| mgmt_interface | Component | one | InfinibandSwitchMgmtInterface | True |
| rsu | Attribute | one | InfinibandRSU | True |
SwitchInterface
- Description: InfiniBand Switch Interface
- Label: InfiniBand Switch Interface
- Icon: mdi:ethernet
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- **Uniqueness Constraints:**switch + name__value
Attributes
| name | kind | order_weight | optional | default_value | label | description | enum | choices |
|---|
| name | Text | 1000 | | | | | | `` |
| description | Text | 1100 | True | | | | | `` |
| speed | Number | 1400 | | | | | | `` |
| enabled | Boolean | 1200 | | True | | | | `` |
| width | Number | | True | 7 | Width | Width value sets supported lane options for the interface | [1, 3, 5, 7] | `` |
| port_type | Number | | True | | Port Type: Split | Enable interface to be split X times (requires Split-Ready profile to be enabled on the switch) | [2] | `` |
| port_type_force | Boolean | | | False | Port Type Force | Force the configured port type setting; use in conjunction with Port Type | | `` |
| operational_virtual_lanes | Number | | | 8 | Operational Virtual Lanes | Number of operational virtual lanes for an interface | [1, 2, 4, 8] | `` |
| mtu | Number | | | | MTU (bytes) | Maximum Transmission Unit (bytes) | [256, 512, 1024, 2048, 4096] | `` |
| speed_forced | Boolean | | | False | Speed Forced | Force the configured speed setting(s); use in conjunction with Speed options | | `` |
| sfp_type | Text | | True | | SFP Type | Type of SFP module used in the interface | | `` |
| role | Dropdown | | True | | Interface Role | Role of the interface in the InfiniBand network | | `endhost, uplink, reserved` |
Relationships
| name | peer | optional | cardinality | kind | max_count |
|---|
| speed_option | InfinibandSwitchIntfSpeedOptions | True | many | Attribute | 6 |
| switch | InfinibandSwitch | False | one | Parent | |
SwitchMgmtInterface
- Description: InfiniBand Switch Management Interface
- Label: InfiniBand Mgmt Interface
- Icon: mdi:ethernet
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- **Uniqueness Constraints:**switch + name__value
Attributes
| name | kind | order_weight | optional | label | default_value | description |
|---|
| name | Text | 1000 | | | | |
| description | Text | 1100 | True | | | |
| speed | Number | 1400 | | | | |
| mtu | Number | 1500 | | MTU | 1500 | |
| enabled | Boolean | 1200 | | | True | |
| dhcp | Boolean | | | DHCP | True | Enable DHCP for the management interface |
Relationships
| name | peer | optional | cardinality | kind |
|---|
| switch | InfinibandSwitch | False | one | Parent |
| ipv4_address | IpamIPAddress | True | one | |
SwitchIntfSpeedOptions
- Description: InfiniBand Interface Speed Options
- Label: InfiniBand Interface Speed Options
- Icon: mdi:ethernet
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**speed__value
- Uniqueness Constraints:
Attributes
| name | kind | label | description | choices | unique |
|---|
| speed | Dropdown | Speed | Speed of the interface | `SDR, NDR, QDR, FDR, EDR, HDR` | |
| description | Text | Description | Description of the speed option (must be unique) | `` | True |
Relationships
| name | peer | optional | cardinality | kind |
|---|
| switch | InfinibandSwitchInterface | False | one | Parent |
RSU
- Description: InfiniBand Rail-Optimized Scalable Unit
- Label: InfiniBand RSU
- Icon: mdi:network
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**identifier__value
- **Uniqueness Constraints:**identifier__value
Attributes
| name | kind | label | description | regex | optional |
|---|
| identifier | Text | Identifier | InfiniBand RSU Identifier (A-Z: a unique character string) | [A-Z] | |
| size | Number | Size | Number of InfiniBand Leaf Switches (Rails) in the RSU | | True |
Relationships
| name | peer | optional | cardinality | kind |
|---|
| switches | InfinibandSwitch | True | many | Attribute |
| interfaces | InfinibandSwitchInterface | True | many | Attribute |
Fabric
- Description: InfiniBand Network Fabric
- Label: InfiniBand Network Fabric
- Icon: mdi:network
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | label | description | unique |
|---|
| name | Text | Name | InfiniBand Network Fabric Name | True |
Location Extended
This schema extension is the most detailed when it comes to location, you'll find all the layers you can think of.
- Dependencies:
base
- Version: 1.0
Nodes
Continent
- Label: Continent
- Icon: jam:world
- Menu Placement: LocationGeneric
- Include in Menu: ✅
Country
- Label: Country
- Icon: gis:search-country
- Menu Placement: LocationGeneric
- Include in Menu: ✅
Region
- Label: Region
- Icon: carbon:cics-region-target
- Menu Placement: LocationGeneric
- Include in Menu: ✅
Metro
- Label: Metro
- Icon: healthicons:city
- Menu Placement: LocationGeneric
- Include in Menu: ✅
Building
- Label: Building
- Icon: ri:building-line
- Menu Placement: LocationGeneric
- Include in Menu: ✅
Attributes
| name | kind | unique | optional | order_weight |
|---|
| facility_id | Text | False | True | 1100 |
| physical_address | Text | False | True | 1500 |
Relationships
| name | peer | optional | cardinality |
|---|
| owner | OrganizationGeneric | True | one |
Floor
- Label: Floor
- Icon: mdi:home-floor-0
- Menu Placement: LocationGeneric
- Include in Menu: ✅
Suite
- Label: Suite
- Icon: game-icons:cage
- Menu Placement: LocationGeneric
- Include in Menu: ✅
Attributes
| name | kind | unique | optional | order_weight |
|---|
| facility_id | Text | False | True | 1100 |
Relationships
| name | peer | optional | cardinality |
|---|
| owner | OrganizationGeneric | True | one |
Rack
- Label: Rack
- Icon: clarity:rack-server-line
- Menu Placement: LocationGeneric
- Include in Menu: ✅
Attributes
| name | kind | unique | optional | order_weight |
|---|
| facility_id | Text | False | True | 1100 |
Relationships
| name | peer | optional | cardinality |
|---|
| owner | OrganizationGeneric | True | one |
Extensions
OrganizationProvider
Relationships
| name | peer | cardinality | optional |
|---|
| location | LocationBuilding | many | True |
Topology
A schema for defining and managing network topology, strategies, and services.
- Dependencies:
base
- Version: 1.0
Generics
ManagementServer
- Description: Generic model for network management server (dns, ntp, and dhcp).
- Label: Network Management Servers
- Include in Menu: ✅
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | order_weight | optional | choices |
|---|
| name | Text | 1000 | | `` |
| description | Text | 1100 | True | `` |
| status | Dropdown | | | `active, provisioning, maintenance, drained` |
Relationships
| name | peer | optional | cardinality | kind |
|---|
| location | LocationGeneric | True | many | |
| ip_addresses | InfraIPAddress | True | many | Component |
GenericElement
- Description: Base model for elements
- Label: Generic Topology Element
- Icon: carbon:network-3-reference
- Menu Placement: TopologyTopology
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | order_weight | optional |
|---|
| name | Text | 1000 | |
| description | Text | 1100 | True |
| quantity | Number | 1200 | |
Relationships
| name | peer | cardinality | kind | optional |
|---|
| topology | TopologyTopology | one | Parent | False |
NetworkStrategy
- Description: Generic model for network strategies (underlays and overlays).
- Label: Network Strategy
- Icon: iconoir:strategy
- Menu Placement: TopologyTopology
- Include in Menu: ✅
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | order_weight | optional |
|---|
| name | Text | 1000 | |
| description | Text | 1100 | True |
Relationships
| name | peer | optional | cardinality |
|---|
| topology | TopologyTopology | True | many |
Nodes
Topology
- Description: A Topology represents the entire network pod.
- Label: Topology
- Icon: carbon:network-3
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | unique | order_weight | optional |
|---|
| name | Text | True | 1000 | |
| description | Text | | 1100 | True |
Relationships
| name | peer | optional | cardinality | kind |
|---|
| elements | TopologyGenericElement | True | many | Component |
| strategy | TopologyNetworkStrategy | True | one | Component |
| location | LocationGeneric | True | one | Attribute |
| devices | DcimGenericDevice | True | many | Component |
| network_services | TopologyNetworkService | True | many | Component |
MPLSStrategy
- Description: Specific strategy attributes for MPLS.
- Label: MPLS Strategy
- Icon: eos-icons:neural-network
- Menu Placement: TopologyNetworkStrategy
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | choices |
|---|
| underlay | Dropdown | `ospf, isis, bgp` |
| overlay | Dropdown | `ldp, rsvp, segment_routing` |
EVPNStrategy
- Description: Specific strategy attributes for EVPN.
- Label: EVPN Strategy
- Icon: carbon:load-balancer-network
- Menu Placement: TopologyNetworkStrategy
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | choices |
|---|
| underlay | Dropdown | `ebgp, ospf, isis` |
| overlay | Dropdown | `ebgp, ibgp` |
PhysicalElement
- Description: Physical aspect of topology elements.
- Label: Physical Topology Element
- Icon: carbon:network-3-reference
- Menu Placement: TopologyTopology
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | default_value | order_weight | label | choices |
|---|
| mtu | Number | 1500 | 3000 | | `` |
| border | Boolean | False | 2400 | Is a Topology Border | `` |
| mlag_support | Boolean | False | 2500 | MLAG Support | `` |
| device_role | Dropdown | | 1300 | Role | `spine, leaf, pe_router, p_router, route_reflector, cpe, firewall` |
Relationships
| name | label | peer | optional | cardinality | kind | order_weight |
|---|
| device_type | Type | DcimDeviceType | True | one | Attribute | 1400 |
DhcpOption
- Description: Represents a configurable option within a Dhcp server.
- Label: Dhcp Option
- Icon: gis:globe-options
- Menu Placement: NetworkManagementServer
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | order_weight | optional |
|---|
| name | Text | 1000 | |
| description | Text | 1100 | True |
| option_code | Number | 2000 | |
| content | Text | 2100 | |
DhcpServer
- Description: Represents a Dhcp server in the network.
- Label: Dhcp Server
- Icon: eos-icons:ip
- Menu Placement: NetworkManagementServer
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | order_weight |
|---|
| lease_time | Text | 2100 |
Relationships
| name | peer | optional | cardinality | kind |
|---|
| dhcp_options | NetworkDhcpOption | True | many | Component |
NameServer
- Description: Represents a DNS server in the network.
- Label: DNS Server
- Icon: eos-icons:dns
- Menu Placement: NetworkManagementServer
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
NTPServer
- Description: Represents a NTP server in the network.
- Label: NTP Server
- Icon: iconoir:time-zone
- Menu Placement: NetworkManagementServer
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
NetworkServiceIdentifier
- Description: Generic model for different types of identifiers used in network services.
- Label: Network Service Identifier
- Icon: mdi:identifier
- Menu Placement: TopologyNetworkService
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**identifier__value
- Uniqueness Constraints:
Attributes
Relationships
| name | label | peer | cardinality | optional |
|---|
| service | Network Service | TopologyNetworkService | one | True |
NetworkService
- Description: Network services attached to a Topology.
- Label: Network Service
- Icon: carbon:ibm-cloud-internet-services
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | label | kind | order_weight | enum |
|---|
| name | Service Name | Text | 1000 | |
| description | | Text | 1100 | |
| service_type | | Text | 1200 | ['Layer2', 'Layer3'] |
Relationships
| name | peer | cardinality | kind | optional | order_weight |
|---|
| identifier | TopologyNetworkServiceIdentifier | one | Attribute | False | |
| topology | TopologyTopology | one | Parent | False | |
| vlan | InfraVLAN | one | Component | True | 1500 |
| prefix | InfraPrefix | one | Component | True | 1400 |
Extensions
DcimGenericDevice
Relationships
| name | peer | optional | cardinality |
|---|
| topology | TopologyTopology | True | one |
IpamPrefix
Relationships
| name | label | peer | optional | cardinality | order_weight |
|---|
| network_service | Network Service | TopologyNetworkService | True | one | 1400 |
Modules Routing Engine
This schema extension allows you to capture Routing Engine related information like the version. You can insert the Routing Engine into a Dcim Physical Device and leverage the Routing Engine type model.
- Dependencies:
base, extensions/modules
- Version: 1.0
Nodes
RoutingEngineType
- Description: Routing Engine Type information, detailing specifications such as part number and manufacturer.
- Label: Routing Engine Type
- Include in Menu: ❌
Relationships
| name | peer | cardinality | kind | description |
|---|
| routing_engines | DeviceRoutingEngine | many | Generic | Routing engines of this type. |
RoutingEngine
- Description: A Routing Engine (RE) installed in a device, responsible for routing functionalities.
- Label: Routing Engine
- Icon: mdi:cpu-64-bit
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**device__name__value, slot__value
- **Uniqueness Constraints:**serial_number__value
Attributes
| name | kind | description | order_weight | label | optional |
|---|
| slot | Number | The slot number where the Routing Engine is installed within the device | 1100 | | |
| version | Text | Firmware version of the Routing Engine. | 1200 | Version | True |
Relationships
| name | label | peer | optional | cardinality | kind | order_weight |
|---|
| routing_engine_type | RE Type | DeviceRoutingEngineType | False | one | Attribute | 1150 |
Modules Linecards
This schema extension allows you to capture Linecard related information like the version. You can insert the Linecard into a Dcim Physical Device and leverage the Linecard type model. The Linecard can accept PIC to help configure PORT information like breakout-capabilities and configurations.
- Dependencies:
base, extensions/modules
- Version: 1.0
Nodes
LinecardType
- Description: Linecard Type information, detailing specifications such as part number and manufacturer.
- Label: Linecard Type
- Include in Menu: ❌
Relationships
| name | peer | cardinality | kind | description |
|---|
| linecards | DeviceLinecard | many | Generic | Linecards of this type. |
Linecard
- Description: A Linecard installed in a device, specifying slot, power status, and functionalities.
- Label: Linecard
- Icon: bi:pci-card
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**device__name__value, slot__value
- **Uniqueness Constraints:**serial_number__value
Attributes
| name | kind | description | order_weight | label | optional | default_value |
|---|
| slot | Number | The slot number where the Linecard is installed within the device | 1050 | | | |
| bng_enabled | Boolean | BNG activated or deactivated on the Linecard | 1400 | BNG Enabled | True | False |
Relationships
| name | label | peer | optional | cardinality | kind | order_weight |
|---|
| linecard_type | Linecard Type | DeviceLinecardType | False | one | Attribute | 1150 |
| pics | PICs | DevicePic | True | many | Attribute | 1500 |
Pic
- Description: Physical Interface Card (PIC) installed in the Linecard, containing multiple ports.
- Label: PIC
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**linecard__serial_number__value, slot__value
- **Uniqueness Constraints:**linecard + slot__value
Attributes
| name | kind | description | order_weight |
|---|
| slot | Number | Slot number of the PIC within the Linecard | 1200 |
Relationships
| name | label | peer | identifier | optional | cardinality | kind | order_weight |
|---|
| linecard | Linecard | DeviceLinecard | linecard__pics | False | one | Parent | 1000 |
| ports | Ports | InfraPort | | True | many | Component | 1100 |
Port
- Description: A network port on a PIC, specifying speed and port number.
- Label: Port
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**pic__slot__value, port_number__value
- **Uniqueness Constraints:**pic + port_number__value
Attributes
| name | kind | description | order_weight | choices |
|---|
| port_number | Number | Port number on the PIC | 1100 | `` |
| speed | Dropdown | Speed of the port | 1200 | `10g, 100g` |
Relationships
| name | label | peer | optional | cardinality | kind | order_weight |
|---|
| pic | PIC | DevicePic | False | one | Parent | 1000 |
Security
This schema extension contains models for implementing detailed security.
- Dependencies:
base
- Version: 1.0
Generics
PolicyAssignment
- Label: Security Policy
- Include in Menu: ❌
Relationships
| name | label | peer | kind | cardinality | optional |
|---|
| rules | Policy | SecurityRenderedPolicyRule | Component | many | True |
GenericAddressGroup
Attributes
| name | kind | label | optional | unique |
|---|
| name | Text | Name | False | True |
| description | Text | Description | True | |
Relationships
| name | peer | cardinality | kind | optional |
|---|
| addresses | SecurityGenericAddress | many | Component | True |
GenericAddress
Attributes
| name | kind | optional | unique |
|---|
| name | Text | False | True |
Relationships
| name | label | peer | cardinality | optional |
|---|
| address_groups | Address Groups | SecurityGenericAddressGroup | many | True |
GenericServiceGroup
Attributes
| name | label | kind | optional |
|---|
| name | Name | Text | False |
| description | Description | Text | True |
Relationships
| name | peer | label | cardinality | kind | optional |
|---|
| services | SecurityGenericService | Services | many | Component | True |
GenericService
Attributes
| name | label | kind | optional |
|---|
| name | Name | Text | False |
| description | Description | Text | True |
Relationships
| name | label | peer | cardinality | optional |
|---|
| service_groups | Service Groups | SecurityGenericServiceGroup | many | True |
Nodes
Zone
- Description: Security zones
- Label: Security zone
- Icon: game-icons:fire-zone
- Menu Placement: SecurityPolicy
- Include in Menu: ✅
Attributes
| name | kind | unique | optional |
|---|
| name | Text | True | False |
Relationships
| name | label | kind | optional | peer |
|---|
| interfaces | Interfaces | Attribute | True | SecurityFirewallInterface |
IPAMIPAddress
- Description: Infrahub IPv4/6 address
- Label: IPAM IP Address
- Icon: mdi:ip-outline
- Menu Placement: SecurityPolicy
- Include in Menu: ✅
Attributes
| name | kind | optional |
|---|
| description | Text | True |
Relationships
| name | peer | cardinality | kind | optional |
|---|
| ip_address | InfraIPAddress | one | Attribute | False |
IPAMIPPrefix
- Description: Infrahub IPv4/6 prefix
- Label: IPAM IP Prefix
- Icon: mdi:ip-network-outline
- Menu Placement: SecurityPolicy
- Include in Menu: ✅
Attributes
| name | kind | optional |
|---|
| description | Text | True |
Relationships
| name | peer | cardinality | kind | optional |
|---|
| ip_prefix | InfraPrefix | one | Attribute | False |
IPAddress
- Description: IPv4/6 address
- Label: IP Address
- Icon: mdi:ip-outline
- Menu Placement: SecurityPolicy
- Include in Menu: ✅
Ordering and Constraints
- **Order By:**address__value
- Uniqueness Constraints:
Attributes
| name | kind | optional |
|---|
| address | IPHost | |
| description | Text | True |
Prefix
- Description: IPv4/6 prefix
- Label: Prefix
- Icon: mdi:ip-network-outline
- Menu Placement: SecurityPolicy
- Include in Menu: ✅
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | optional | unique |
|---|
| prefix | IPNetwork | False | True |
| description | Text | True | |
IPRange
- Description: IPv4/6 Range
- Label: IP Range
- Icon: mdi:ip-outline
- Menu Placement: SecurityPolicy
- Include in Menu: ✅
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | label | kind | optional |
|---|
| start | Start IP Address | IPHost | False |
| end | End IP Address | IPHost | False |
FQDN
- Description: Full Qualified Domain Name
- Label: FQDN
- Icon: eos-icons:dns
- Menu Placement: SecurityPolicy
- Include in Menu: ✅
Ordering and Constraints
- **Order By:**name__value, fqdn__value
- Uniqueness Constraints:
Attributes
| name | label | kind | optional | regex |
|---|
| fqdn | FQDN | Text | False | (?=^.253$)(^(((?!-)[a-zA-Z0-9-]63(?<!-))|((?!-)[a-zA-Z0-9-]63(?<!-)\.)+[a-zA-Z]63)$) |
AddressGroup
- Description: Group of addresses
- Label: Address Group
- Icon: material-symbols:menu-book-outline-rounded
- Menu Placement: SecurityPolicy
- Include in Menu: ✅
IPProtocol
- Description: IP protocol
- Label: IP Protocols
- Icon: mdi:protocol
- Menu Placement: SecurityPolicy
- Include in Menu: ✅
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | optional |
|---|
| protocol | Number | True |
Service
- Description: Service
- Label: Service
- Icon: eos-icons:application-outlined
- Menu Placement: SecurityPolicy
- Include in Menu: ✅
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
Relationships
| name | peer | optional | cardinality | kind |
|---|
| ip_protocol | SecurityIPProtocol | True | one | Attribute |
ServiceRange
- Description: Service range
- Label: Service range
- Icon: eos-icons:application-outlined
- Menu Placement: SecurityPolicy
- Include in Menu: ✅
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | optional |
|---|
| start | Number | False |
| end | Number | False |
Relationships
| name | peer | optional | cardinality | kind |
|---|
| ip_protocol | SecurityIPProtocol | False | one | Attribute |
ServiceGroup
- Description: Group of services
- Label: Service group
- Icon: material-symbols:menu-book-outline-rounded
- Menu Placement: SecurityPolicy
- Include in Menu: ✅
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Policy
- Label: Security Policy
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | label | kind | optional |
|---|
| name | Name | Text | False |
| description | Description | Text | True |
Relationships
| name | peer | cardinality | kind | optional |
|---|
| rules | SecurityPolicyRule | many | Component | |
| location_target | LocationGeneric | one | Attribute | True |
| device_target | SecurityFirewall | one | Attribute | True |
PolicyRule
- Description: Policy rule
- Label: Policy rule
- Icon: material-symbols:policy
- Menu Placement: SecurityPolicy
- Include in Menu: ✅
Ordering and Constraints
- **Order By:**source_zone__name__value, destination_zone__name__value, index__value
- **Uniqueness Constraints:**index__value + source_zone + destination_zone + policy
Attributes
| name | label | kind | optional | order_weight | enum | default_value |
|---|
| index | Index | Number | False | 99999 | | |
| name | Name | Text | False | | | |
| action | Action | Text | False | | ['permit', 'deny'] | permit |
| log | Log | Boolean | True | 99998 | | False |
Relationships
| name | peer | kind | cardinality | optional | order_weight | identifier |
|---|
| policy | SecurityPolicy | Attribute | one | False | | |
| source_zone | SecurityZone | Attribute | one | False | 1 | policy_rule__source_zone |
| destination_zone | SecurityZone | Attribute | one | False | 2 | policy_rule__destination_zone |
| source_address | SecurityGenericAddress | Attribute | many | True | | policy_rule__source_address |
| source_groups | SecurityGenericAddressGroup | Attribute | many | True | | policy_rule__source_address_group |
| source_services | SecurityGenericService | Attribute | many | True | | policy_rule__source_service |
| source_service_groups | SecurityGenericServiceGroup | Attribute | many | True | | policy_rule__source_service_group |
| destination_address | SecurityGenericAddress | Attribute | many | True | | policy_rule__destination_address |
| destination_groups | SecurityGenericAddressGroup | Attribute | many | True | | policy_rule__destination_address_group |
| destination_services | SecurityGenericService | Attribute | many | True | | policy_rule__destination_service |
| destination_service_groups | SecurityGenericServiceGroup | Attribute | many | True | | policy_rule__destination_service_group |
Firewall
- Icon: mdi:firewall
- Menu Placement: InfraGenericDevice
- Include in Menu: ✅
Attributes
| name | kind | optional | choices |
|---|
| role | Dropdown | True | `edge_firewall` |
Relationships
| name | peer | label | cardinality | kind |
|---|
| policy | SecurityPolicy | Security Policy | one | Attribute |
RenderedPolicyRule
- Description: Policy rule
- Label: Policy rule
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**source_zone__name__value, destination_zone__name__value, index__value
- Uniqueness Constraints:
Attributes
| name | label | kind | optional | order_weight | enum | default_value |
|---|
| index | Index | Number | False | 99999 | | |
| name | Name | Text | False | | | |
| action | Action | Text | False | | ['permit', 'deny'] | permit |
| log | Log | Boolean | True | 99998 | | False |
Relationships
| name | peer | kind | cardinality | optional | identifier | order_weight |
|---|
| source_policy | SecurityPolicy | Attribute | one | False | | |
| source_zone | SecurityZone | Attribute | one | False | rendered_policy_rule__source_zone | 1 |
| destination_zone | SecurityZone | Attribute | one | False | rendered_policy_rule__destination_zone | 2 |
| source_address | SecurityGenericAddress | Attribute | many | True | rendered_policy_rule__source_address | |
| source_groups | SecurityGenericAddressGroup | Attribute | many | True | rendered_policy_rule__source_address_group | |
| source_services | SecurityGenericService | Attribute | many | True | rendered_policy_rule__source_service | |
| source_service_groups | SecurityGenericServiceGroup | Attribute | many | True | rendered_policy_rule__source_service_group | |
| destination_address | SecurityGenericAddress | Attribute | many | True | rendered_policy_rule__destination_address | |
| destination_groups | SecurityGenericAddressGroup | Attribute | many | True | rendered_policy_rule__destination_address_group | |
| destination_services | SecurityGenericService | Attribute | many | True | rendered_policy_rule__destination_service | |
| destination_service_groups | SecurityGenericServiceGroup | Attribute | many | True | rendered_policy_rule__destination_service_group | |
FirewallInterface
- Label: Firewall Interface
- Icon: mdi:ethernet
- Menu Placement: InfraGenericDevice
- Include in Menu: ❌
Relationships
| name | peer | optional | cardinality | kind |
|---|
| ip_addresses | InfraIPAddress | True | many | Component |
| security_zone | SecurityZone | False | one | Attribute |
Extensions
LocationGeneric
Relationships
| name | peer | cardinality | kind |
|---|
| policy | SecurityPolicy | one | Attribute |
Azure
This schema extension introduces cloud support for Microsoft Azure.
Generics
Resource
- Label: Azure
- Include in Menu: ✅
Attributes
Relationships
| name | cardinality | kind | peer | optional |
|---|
| location | one | Attribute | AzureLocation | |
| resourcegroup | one | Parent | AzureResourceGroup | False |
Nodes
Location
- Menu Placement: AzureResource
- Include in Menu: ❌
Attributes
Tenant
- Menu Placement: AzureResource
- Include in Menu: ❌
Attributes
| name | kind |
|---|
| name | Text |
| tenant_id | Text |
Relationships
| name | cardinality | peer | kind |
|---|
| subscriptions | many | AzureSubscription | Component |
Subscription
- Menu Placement: AzureResource
- Include in Menu: ❌
Attributes
| name | kind |
|---|
| name | Text |
| subscription_id | Text |
Relationships
| name | cardinality | peer | kind | optional |
|---|
| tenant | one | AzureTenant | Parent | False |
| resourcegroups | many | AzureResourceGroup | Component | |
ResourceGroup
- Menu Placement: AzureResource
- Include in Menu: ❌
Attributes
Relationships
| name | cardinality | kind | peer | optional |
|---|
| location | one | Attribute | AzureLocation | |
| subscription | one | Parent | AzureSubscription | False |
VirtualNetwork
- Label: Virtual Networks
- Menu Placement: AzureResource
- Include in Menu: ❌
Relationships
| name | cardinality | kind | peer |
|---|
| address_space | many | Attribute | BuiltinIPPrefix |
| subnets | many | Component | AzureVirtualNetworkSubnet |
VirtualNetworkSubnet
- Label: Subnets
- Menu Placement: AzureResource
- Include in Menu: ✅
Attributes
Relationships
| name | cardinality | peer | kind | optional |
|---|
| virtualnetwork | one | AzureVirtualNetwork | Parent | False |
| address_prefixes | many | BuiltinIPPrefix | Attribute | |
Tenancy
This schema extension introduces tenancy for some of the schema nodes (circuits...)
- Dependencies:
base, extensions/circuit
- Version: 1.0
Nodes
Tenant
- Description: A tenant is owning the corresponding entity
- Icon: mdi:domain
- Include in Menu: ✅
Relationships
| name | peer | cardinality | kind | optional | order_weight |
|---|
| tags | BuiltinTag | many | Attribute | True | 3000 |
| location | LocationBuilding | many | | True | |
| circuit | DcimCircuit | many | | True | |
QoS
This schema extension contains models for Quality of Service (QoS)
- Dependencies:
base
- Version: 1.0
Nodes
ForwardingClass
- Description: Represents a forwarding class in QoS with distinct loss priorities.
- Label: Forwarding Class
- Menu Placement: QosClassOfService
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- **Uniqueness Constraints:**name__value
Attributes
| name | kind | description | unique | order_weight | optional |
|---|
| name | Text | Name of the forwarding class. | True | 1000 | |
| high_loss_priority_code | List | List of code points for high loss priority. | | 1200 | True |
| low_loss_priority_code | List | List of code points for low loss priority. | | 1300 | True |
ClassOfService
- Description: Defines a Class of Service configuration.
- Label: Class of Service
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- **Uniqueness Constraints:**name__value
Attributes
| name | kind | description | unique | order_weight |
|---|
| name | Text | Name of the Class of Service. | True | 1000 |
Relationships
| name | peer | description | cardinality | optional | order_weight |
|---|
| traffic_control_profiles | QosTrafficControlProfile | List of traffic control profiles. | many | True | 1200 |
TrafficControlProfile
- Description: Defines a traffic control profile with an active/inactive state.
- Label: Traffic Control Profile
- Menu Placement: QosClassOfService
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- **Uniqueness Constraints:**name__value
Attributes
| name | kind | description | unique | order_weight | choices | default_value |
|---|
| name | Text | Name of the traffic control profile. | True | 1000 | `` | |
| status | Dropdown | Status of the traffic control profile (active/inactive). | | 1200 | `active, inactive` | inactive |
Classifier
- Description: Represents a classifier mapping DSCP or EXP values to forwarding classes.
- Label: Classifier
- Menu Placement: QosClassOfService
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- **Uniqueness Constraints:**name__value
Attributes
| name | kind | description | unique | order_weight | choices |
|---|
| name | Text | Name of the classifier. | True | 1000 | `` |
| classifier_type | Dropdown | Type of classifier (DSCP, EXP, etc.). | | 1200 | `dscp, exp, dscp-ipv6` |
Relationships
| name | peer | description | cardinality | optional | order_weight |
|---|
| forwarding_classes | QosForwardingClass | List of forwarding classes defined in the classifier. | many | True | 1300 |
Scheduler
- Description: Represents a scheduler configuration.
- Label: Scheduler
- Menu Placement: QosClassOfService
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- **Uniqueness Constraints:**name__value
Attributes
| name | kind | description | unique | order_weight | label | choices | optional |
|---|
| name | Text | Name of the scheduler. | True | 1000 | | `` | |
| transmit_rate | Number | Transmit rate in percentage. | | 1200 | Transmit Rate (%) | `` | |
| buffer_size | Number | Buffer size in percentage. | | 1300 | Buffer Size (%) | `` | |
| priority | Dropdown | Priority of the scheduler. | | 1400 | | `low, high, strict-high` | True |
| excess_priority | Dropdown | Excess priority when applicable. | | 1500 | | `low, high` | True |
SchedulerMap
- Description: Defines mappings of schedulers to forwarding classes.
- Label: Scheduler Map
- Menu Placement: QosClassOfService
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- **Uniqueness Constraints:**name__value
Attributes
| name | kind | description | unique | order_weight |
|---|
| name | Text | Name of the scheduler map. | True | 1000 |
Relationships
| name | peer | description | cardinality | optional | order_weight |
|---|
| schedulers | QosScheduler | List of schedulers defined in the map. | many | True | 1200 |
| forwarding_classes | QosForwardingClass | List of forwarding classes associated with schedulers. | many | True | 1300 |
Circuit Service
This schema extension contains model coming on top of circuit to capture a single service shared across multiple circuits.
For example you have a MPLS network supported by a provider connecting multiple locations:
-
One single CircuitService would be needed to store MPLS related information (e.g. service id, provider ...)
-
On each site we would create a circuit connecting on one side our device and the CircuitService on the other side
-
Dependencies: extensions/circuit
-
Version: 1.0
Nodes
Service
- Description: Represent the boundary of a provider network, the details of which are unknown or unimportant
- Label: Circuit Service
- Icon: mdi:cloud
- Menu Placement: DcimCircuit
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
| name | kind | unique | optional |
|---|
| name | Text | True | |
| service_id | Text | | True |
| description | Text | | True |
Relationships
| name | peer | optional | cardinality | kind |
|---|
| provider | OrganizationProvider | False | one | Attribute |
| circuit_endpoints | CircuitEndpoint | True | many | Component |
Extensions
OrganizationProvider
Relationships
| name | peer | cardinality | optional |
|---|
| circuit_services | CircuitService | many | True |
CircuitEndpoint
Relationships
| name | peer | cardinality | optional |
|---|
| circuit_service | CircuitService | one | True |
VLAN Translation
This schema extension is based on Juniper VLAN MAP, and not yet test out for other vendors.
- Dependencies:
base
- Version: 1.0
Nodes
MapInOut
- Description: VLAN Mapping for In/Out operations
- Label: VLAN Map In/Out
- Icon: ph:swap
- Menu Placement: DcimInterface
- Include in Menu: ✅
Ordering and Constraints
- **Order By:**interface__name__value, direction__value, operation__value
- **Uniqueness Constraints:**interface + direction__value
Attributes
| name | kind | description | label | order_weight | choices | optional |
|---|
| direction | Dropdown | Direction of the mapping | Map Direction | 1050 | `input, output` | True |
| operation | Dropdown | Operation type | Map Operation | 1100 | `pop, pop_pop, pop_swap, push, push_push, swap, swap_push, swap_swap` | True |
| vlan_id_swap | Number | VLAN ID to swap to during SWAP operations | VLAN ID Swap | 1200 | `` | True |
| inner_vlan_id | Number | Inner VLAN ID for operations involving double VLAN tags | Inner VLAN ID | 1300 | `` | True |
| inner_tag_protocol_id | Number | Inner tag protocol ID (TPID) | Inner Tag Protocol ID | 1400 | `` | True |
| tag_protocol_id | Number | Tag protocol ID (TPID) for outer VLAN operations | Tag Protocol ID | 1500 | `` | True |
Relationships
| name | kind | peer | description | cardinality | optional | label | order_weight |
|---|
| interface | Parent | DcimInterface | Interface to which the Input/Output VLAN mapping is applied | one | False | Interface | 1000 |
Extensions
DcimInterface
Relationships
| name | kind | peer | description | cardinality | label | order_weight |
|---|
| network_maps | Component | NetworkMapInOut | Interface Input/Output VLAN mapping | many | Input/Output MAP | 1600 |