The base schemas serve as the foundation for every single schema extension you might want to use afterward. This one is mandatory and will unlock access to the extensions section.
dcim
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 | kind | order_weight | label |
---|
interfaces | DcimInterface | True | many | 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 |
Interface
- Description: Generic Network Interface.
- Label: Interface
- Icon: mdi:ethernet
- Menu Placement: DcimGenericDevice
- Include in Menu: ✅
Ordering and Constraints
- **Order By:**device__name__value, name__value
- **Uniqueness Constraints:**device + name__value
Attributes
name | kind | order_weight | optional | label | default_value |
---|
name | Text | 1000 | | | |
description | Text | 1100 | True | | |
speed | Number | 1400 | | | |
mtu | Number | 1500 | | MTU | 1500 |
enabled | Boolean | 1200 | | | True |
Relationships
name | peer | optional | cardinality | kind |
---|
device | DcimGenericDevice | False | one | Parent |
tags | BuiltinTag | True | many | Attribute |
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 |
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` |
InterfaceL3
- Description: Network Layer 3 Interface
- Label: Interface L3
- Icon: mdi:ethernet
- Menu Placement: DcimInterface
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
name | kind | optional | choices | order_weight |
---|
role | Dropdown | True | `backbone, upstream, peering, peer, server, loopback, management, uplink, leaf, spare` | 1700 |
status | Dropdown | True | `active, provisioning, maintenance, drained` | 1300 |
Relationships
name | peer | optional | cardinality | kind |
---|
ip_addresses | IpamIPAddress | True | many | Component |
InterfaceL2
- Description: Network Layer 2 Interface
- Label: Interface L2
- Icon: mdi:ethernet
- Menu Placement: DcimInterface
- Include in Menu: ❌
Ordering and Constraints
- **Order By:**name__value
- Uniqueness Constraints:
Attributes
name | kind | optional | choices | order_weight | label | enum |
---|
role | Dropdown | True | `backbone, upstream, peering, peer, server, loopback, management, uplink, leaf, spare` | 1700 | | |
status | Dropdown | True | `active, provisioning, maintenance, drained` | 1300 | | |
l2_mode | Text | | `` | 1250 | Layer2 Mode | ['Access', 'Trunk', 'Tunnel'] |
organization
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
- Description: Circuit or Location Provider
- Icon: mdi:domain
- Menu Placement: OrganizationGeneric
- Include in Menu: ✅
location
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 |
ipam
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 | DcimInterfaceL3 | 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
routing_policies_pim
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
topology
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
cluster
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 |
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
routing_engine
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 | InfraRoutingEngine | 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 | InfraRoutingEngineType | False | one | Attribute | 1150 |
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.
snmp
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 |
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
linecard
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 | InfraLinecard | 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 |
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
routing_policies_bgp
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 |
BGP Route Reflector
This schema extension extend the BGP extension to add BGP Route Reflector Clustering.
Dependencies: base, extensions.routing, extensions.routing_bgp
bgp_rr
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
sfp
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
circuit
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 |
BGP Communities
This schema extension adds the BGP Communities models.
Dependencies: base, extensions.routing
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
cross_connect
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
routing_policies_aggregate
Nodes
PolicyAggregate
- Description: A routing policiers for Aggregate
- Label: Aggregate Routing Policies
- Icon: carbon:deployment-policy
- Include in Menu: ❌
Extensions
RoutingAggregate
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 | RoutingPolicyAggregate | aggregate__import_policies | The routing-policies used by this instance for import. | Generic | many |
export_routing_policies | Export Routing Policies | RoutingPolicyAggregate | aggregate__export_policies | The routing-policies used by this instance for export. | Generic | many |
Location Minimal
This schema extension is minimal but will provide you with basic items to store location related data.
Dependencies: base
location_minimal
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, base.dcim, base.ipam
vrrp
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 | DcimInterfaceL3 | False | one | Attribute | 1300 |
Extensions
DcimInterfaceL3
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 |
Exchange Points (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
peering_ixp
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
vlan
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 |
DcimInterfaceL2
Relationships
name | label | peer | optional | cardinality | kind | identifier |
---|
untagged_vlan | Untagged VLAN | IpamVLAN | True | one | Component | interface_l2__untagged_vlan |
tagged_vlan | Tagged VLANs | IpamVLAN | True | many | Component | 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
routing_policies_ospf
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 Disks
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
physical_disk
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
compute
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 |
PIM
This schema extension contains all you need to model the PIM Protocol.
Dependencies: base, extensions.routing
pim
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 | description | order_weight | choices | default_value |
---|
description | Text | False | 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 | | DcimInterfaceL3 | | False | one | Attribute | 1200 |
Cable
This schema extension contains a basic Cable model allowing you to connect two endpoints.
Dependencies: base
cable
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!
patch_panel
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 |
Aggregate
This schema extension contains all you need to model the Aggregate Routing Protocol.
Dependencies: base, extensions.routing
aggregate
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
dwdm
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 | order_weight | description | optional | choices | default_value |
---|
name | Text | 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 |
Accounts Management
This schema extension contains models for Accounts management.
Dependencies: base
users
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!
firewall_policer
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
vrf
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 |
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
routing
Generics
Protocol
- Description: Generic protocol model for routing protocols
- Label: Protocol
- Icon: carbon:router
- Include in Menu: ❌
Attributes
name | kind | optional | description | order_weight | choices |
---|
description | Text | False | 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 |
BGP
This schema extension contains all you need to model your BGP platform.
Dependencies: base, extensions.routing
bgp
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 Node, you can use the extension module_linecards or modules_routing_engine to use it
Dependencies: base
modules
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
routing_policies
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
hosting_cluster
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 |
OSPF
This schema extension contains all you need to model the OSPF Routing Protocol.
Dependencies: base, extensions.routing
ospf
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 | description | order_weight | choices | default_value |
---|
description | Text | False | 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 | | DcimInterfaceL3 | | False | one | Attribute | 1200 |
Infiniband
This schema extension adds support for InfiniBand switches.
Dependencies: base, extensions.compute
infiniband
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
location_extended
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
topology
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 |
Security
This schema extension contains models for implementing detailed security.
Dependencies: base
security
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.
Dependencies: base
Attribution: Rowan Coleman
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, experimental.location_extended
tenancy
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 | |
Quality of Service (QoS)
This schema extension contains models for Quality of Service (QoS)
qos
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
circuit_service
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.dcim
vlan-translation
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 |