Skip to main content

Base Schemas

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

  • Version: 1.0

Generics

GenericDevice

  • Description: Generic Device object.
  • Label: Device
  • Icon: mdi:server
  • Include in Menu:

Ordering and Constraints

  • **Order By:**name__value
  • Uniqueness Constraints:

Attributes

namekinduniqueorder_weightoptional
nameTextTrue1000
descriptionText2000True
os_versionText2200True

Relationships

namepeeroptionalcardinalitykindorder_weightlabel
interfacesDcimInterfaceTruemanyComponent
tagsBuiltinTagTruemanyAttribute2000
primary_addressIpamIPAddressTrueoneAttribute1700Primary IP Address
platformDcimPlatformTrueoneAttribute1250

PhysicalDevice

  • Description: Generic holding attributes and relationships relevant for physical device.
  • Include in Menu:

Attributes

namelabeldescriptionkindoptionalorder_weightdefault_valuechoices
positionPosition (U)Lowest unit.NumberTrue1500``
serialTextTrue1500``
rack_faceRack FaceOn which face of the rack the device is mounted.DropdownFalse1515front`front, rear`

Relationships

namepeeroptionalcardinalitykindorder_weightlabel
device_typeDcimDeviceTypeTrueoneAttribute1200
locationLocationHostingFalseoneAttribute1500Location

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

namekindorder_weightoptionallabeldefault_value
nameText1000
descriptionText1100True
speedNumber1400
mtuNumber1500MTU1500
enabledBoolean1200True

Relationships

namepeeroptionalcardinalitykind
deviceDcimGenericDeviceFalseoneParent
tagsBuiltinTagTruemanyAttribute

Endpoint

  • Description: Generic Endpoint to receive a connector.
  • Include in Menu:

Relationships

namepeeroptionalcardinalityorder_weightkind
connectorDcimConnectorTrueone1500Attribute

Connector

  • Description: Generic Connector to link two endpoints together.
  • Include in Menu:

Relationships

namepeeroptionalcardinalityorder_weightkind
connected_endpointsDcimEndpointTruemany1500Generic

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

namekinduniqueorder_weightoptionallabeldefault_value
nameTextTrue1000
descriptionText1100True
part_numberText1200TruePart Number
heightNumber1400FalseHeight (U)1
full_depthBoolean1500Full DepthTrue
weightNumber1600TrueWeight (kg)

Relationships

namepeercardinalitykindorder_weightoptional
platformDcimPlatformoneAttribute1300
manufacturerOrganizationManufactureroneAttribute1250False
tagsBuiltinTagmanyAttribute2000True

Platform

  • 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

namekinduniqueorder_weightoptional
nameTextTrue1000
descriptionText1200True
nornir_platformText1500True
napalm_driverText1600True
netmiko_device_typeText1700True
ansible_network_osText1800True
containerlab_osText1900True

Relationships

namepeeroptionalcardinalityorder_weightkind
devicesDcimGenericDeviceTruemany1350
manufacturerOrganizationManufacturerone1300Attribute

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

namekindoptionalorder_weightchoices
statusDropdownFalse1100`active, provisioning, maintenance, drained`
roleDropdownTrue1400`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

namekindoptionalchoicesorder_weight
roleDropdownTrue`backbone, upstream, peering, peer, server, loopback, management, uplink, leaf, spare`1700
statusDropdownTrue`active, provisioning, maintenance, drained`1300

Relationships

namepeeroptionalcardinalitykind
ip_addressesIpamIPAddressTruemanyComponent

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

namekindoptionalchoicesorder_weightlabelenum
roleDropdownTrue`backbone, upstream, peering, peer, server, loopback, management, uplink, leaf, spare`1700
statusDropdownTrue`active, provisioning, maintenance, drained`1300
l2_modeText``1250Layer2 Mode['Access', 'Trunk', 'Tunnel']

organization

  • Version: 1.0

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

namekinduniqueorder_weightoptional
nameTextTrue1000
descriptionText1200True

Relationships

namepeercardinalitykindoptionalorder_weight
tagsBuiltinTagmanyAttributeTrue3000

Nodes

Manufacturer

  • Description: Device Manufacturer
  • Icon: mdi:domain
  • Menu Placement: OrganizationGeneric
  • Include in Menu:

Relationships

namepeercardinalityoptional
device_typeDcimDeviceTypemanyTrue
platformDcimPlatformmanyTrue

Provider

  • Description: Circuit or Location Provider
  • Icon: mdi:domain
  • Menu Placement: OrganizationGeneric
  • Include in Menu:

location

  • Version: 1.0

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

namekindorder_weightuniqueoptional
nameText1000
shortnameText1100True
descriptionText1200True

Relationships

namepeerkindoptionalcardinality
tagsBuiltinTagAttributeTruemany

Hosting

  • Description: Location directly hosting device and services.
  • Include in Menu:

Relationships

namelabelpeercardinalityoptional
prefixesPrefixesIpamPrefixmanyTrue
devicesDevicesDcimPhysicalDevicemanyTrue

ipam

  • Version: 1.0

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

namelabelkindoptionalregex
fqdnFQDNTextTrue(?=^.253$)(^(((?!-)[a-zA-Z0-9-]63(?<!-))|((?!-)[a-zA-Z0-9-]63(?<!-)\.)+[a-zA-Z]63)$)

Relationships

namepeeroptionalcardinality
interfaceDcimInterfaceL3Trueone

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

namekindchoicesoptional
statusDropdown`active, deprecated, reserved`
roleDropdown`loopback, management, public, server, supernet, technical, loopback-vtep`True

Relationships

namepeeroptionalcardinalitykindorder_weightlabelidentifier
organizationOrganizationGenericTrueoneAttribute1200
locationLocationHostingTrueoneAttribute1300
gatewayIpamIPAddressTrueoneAttribute1500L3 Gatewayprefix__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

  • Version: 1.0

Nodes

PolicyPIM

  • Description: A routing policiers for PIM
  • Label: PIM Routing Policies
  • Icon: carbon:deployment-policy
  • Include in Menu:

Extensions

RoutingPIM

Attributes

namekindstate
import_policiesTextabsent
export_policiesTextabsent

Relationships

namelabelpeeridentifierdescriptionkindcardinality
import_routing_policiesImport Routing PoliciesRoutingPolicyPIMpim__import_policiesThe routing-policies used by this instance for import.Genericmany
export_routing_policiesExport Routing PoliciesRoutingPolicyPIMpim__export_policiesThe routing-policies used by this instance for export.Genericmany

Topology

This schema extension introduces abstract network pods and services running in the pods, such as MPLS and EVPN.

Dependencies: base

topology

  • Version: 1.0

Generics

Generic

  • Description: Generic model for topology.
  • Label: Topology
  • Icon: carbon:network-3
  • Include in Menu:

Attributes

namekindorder_weightoptional
descriptionText1300True

Relationships

namepeeroptionalcardinalitykind
locationLocationGenericTrueoneAttribute

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

  • Version: 1.0

Generics

Generic

  • Description: A cluster of machines hosting services or other machines.
  • Label: Clusters
  • Icon: mdi:dots-hexagon
  • Include in Menu:

Ordering and Constraints

  • **Order By:**name__value
  • Uniqueness Constraints:

Attributes

namekinddescriptionuniqueorder_weightoptional
nameTextName of the cluster.True1000
descriptionTextTrue

Relationships

namelabelpeeroptionalcardinalitykindorder_weight
locationLocationLocationGenericFalsemanyAttribute1400
tagsBuiltinTagTruemanyAttribute2000

GenericComputeUnitNodes

  • Description: A generic to apply on clusters that can be built out of generic compute units.
  • Include in Menu:

Relationships

namelabelidentifiercardinalitypeerkind
nodesNodesworker_in_clustermanyComputeGenericUnitComponent

Extensions

ComputeGenericUnit

Relationships

nameidentifierlabelpeercardinalitydescriptionoptional
worker_in_clusterworker_in_clusterWorker in clusterClusterGenericComputeUnitNodesoneThis device is a worker node of the specified cluster.True

LocationGeneric

Relationships

namelabelpeercardinalitykinddescriptionoptional
clustersClustersClusterGenericmanyComponentAll 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

  • Version: 1.0

Nodes

RoutingEngineType

  • Description: Routing Engine Type information, detailing specifications such as part number and manufacturer.
  • Label: Routing Engine Type
  • Include in Menu:

Relationships

namepeercardinalitykinddescription
routing_enginesInfraRoutingEnginemanyGenericRouting 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

namekinddescriptionorder_weightlabeloptional
slotNumberThe slot number where the Routing Engine is installed within the device1100
versionTextFirmware version of the Routing Engine.1200VersionTrue

Relationships

namelabelpeeroptionalcardinalitykindorder_weight
routing_engine_typeRE TypeInfraRoutingEngineTypeFalseoneAttribute1150

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

  • Version: 1.0

Generics

Community

  • 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

namekindorder_weightoptional
nameText1000
descriptionText1100True

Relationships

namepeercardinalitykind
clientsSnmpClientmanyComponent

Nodes

CommunityV2

  • 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

namekindorder_weightenum
community_stringPassword1300
accessText1200['Read-Only', 'Read-Write']

CommunityV3

  • 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

namekindorder_weightlabelenumoptionalchoices
usernameText1300``
auth_protocolText1400Authentication Protocol['None', 'MD5', 'SHA']``
auth_passwordPassword1500Authentication PasswordTrue``
privacy_protocolText1600Privacy Protocol['None', 'DES', 'AES']``
privacy_passwordPassword1700Privacy PasswordTrue``
security_levelDropdown1200Security 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

namekindorder_weightlabeloptional
nameText1000
client_descriptionText1100DescriptionTrue

Relationships

namepeercardinalityorder_weight
communitySnmpCommunitymany1200

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

  • Version: 1.0

Nodes

LinecardType

  • Description: Linecard Type information, detailing specifications such as part number and manufacturer.
  • Label: Linecard Type
  • Include in Menu:

Relationships

namepeercardinalitykinddescription
linecardsInfraLinecardmanyGenericLinecards 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

namekinddescriptionorder_weightlabeloptionaldefault_value
slotNumberThe slot number where the Linecard is installed within the device1050
bng_enabledBooleanBNG activated or deactivated on the Linecard1400BNG EnabledTrueFalse

Relationships

namelabelpeeroptionalcardinalitykindorder_weight
linecard_typeLinecard TypeDeviceLinecardTypeFalseoneAttribute1150
picsPICsDevicePicTruemanyAttribute1500

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

namekinddescriptionorder_weight
slotNumberSlot number of the PIC within the Linecard1200

Relationships

namelabelpeeridentifieroptionalcardinalitykindorder_weight
linecardLinecardDeviceLinecardlinecard__picsFalseoneParent1000
portsPortsInfraPortTruemanyComponent1100

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

namekinddescriptionorder_weightchoices
port_numberNumberPort number on the PIC1100``
speedDropdownSpeed of the port1200`10g, 100g`

Relationships

namelabelpeeroptionalcardinalitykindorder_weight
picPICDevicePicFalseoneParent1000

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

  • Version: 1.0

Nodes

PolicyBGP

  • Description: A routing policiers for BGP
  • Label: BGP Routing Policies
  • Icon: carbon:deployment-policy
  • Include in Menu:

Extensions

RoutingBGPPeerGroup

Attributes

namekindstate
import_policiesTextabsent
export_policiesTextabsent

Relationships

namelabelpeeridentifierdescriptionkindcardinality
import_routing_policiesImport Routing PoliciesRoutingPolicyBGPbgp__import_policiesThe routing-policies used by this instance for import.Genericmany
export_routing_policiesExport Routing PoliciesRoutingPolicyBGPbgp__export_policiesThe routing-policies used by this instance for export.Genericmany

RoutingBGPSession

Attributes

namekindstate
import_policiesTextabsent
export_policiesTextabsent

Relationships

namelabelpeeridentifierdescriptionkindcardinality
import_routing_policiesImport Routing PoliciesRoutingPolicybgp__import_policiesThe routing-policies used by this instance for import.Genericmany
export_routing_policiesExport Routing PoliciesRoutingPolicybgp__export_policiesThe routing-policies used by this instance for export.Genericmany

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

  • Version: 1.0

Nodes

BGPRRCluster

  • Description: A Route Reflector (RR) Cluster used for grouping internal peers
  • Label: Route Reflector Cluster
  • Icon: mdi:router-network
  • Include in Menu:

Ordering and Constraints

  • Order By:
  • **Uniqueness Constraints:**name__value

Attributes

namekinddescriptionorder_weightoptional
nameTextName of the Route Reflector Cluster1000
descriptionTextOptional description of the Route Reflector Cluster1100True

Relationships

namelabelpeerdescriptioncardinalitykindoptionalorder_weight
cluster_idCluster IDIpamIPAddressCluster ID represented as a reference to an IP AddressoneAttributeFalse1200
peer_groupsBGP Peer GroupsRoutingBGPPeerGroupmanyGenericTrue

Extensions

RoutingBGPPeerGroup

Relationships

namelabelpeercardinalitykindorder_weight
rr_clusterRR ClusterRoutingBGPRRClusteroneAttribute1600

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

  • Version: 1.0

Generics

GenericSFP

  • Description: Generic base for all Small Form-factor Pluggable (SFP) transceivers.
  • Label: SFP
  • Icon: mdi:gpu
  • Include in Menu:

Attributes

namekindoptionalorder_weightdescriptionchoicesdefault_value
serialTextTrue1400``
sfp_typeDropdownFalse1100Type of SFP, such as LR, SR, T.`lr, sr, lrm, t, sr4, lr4, zr, er, dac, aoc`
statusDropdownFalse1300`plugged, spare, decommissioned`plugged
form_factorDropdownFalse1000The physical form factor of the SFP module.`sfp, sfp_plus, qsfp, qsfp_plus, qsfp28, qsfp_dd, cfp, cfp2, cfp4, xfp, sfp56, qsfp56, osfp`

Relationships

namepeerkindoptionalcardinalityorder_weight
interfaceDcimInterfaceAttributeTrueone1200
spare_locationLocationHostingAttributeTrueone1500
manufacturerOrganizationManufacturerAttributeTrueone1350

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

namelabelkindoptionaldescriptionorder_weight
wavelength_txTransmit Wavelength (nm)NumberFalseTransmit wavelength in nm.1175
wavelength_rxReceive Wavelength (nm)NumberFalseReceive wavelength in nm.1150

Extensions

DcimInterface

Relationships

namepeercardinalityoptional
plugged_sfpDcimGenericSFPoneTrue

LocationHosting

Relationships

namepeercardinalityoptional
spare_sfpsDcimGenericSFPmanyTrue

OrganizationManufacturer

Relationships

namelabelpeercardinalityoptional
sfpsSFPsDcimGenericSFPmanyTrue

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

  • Version: 1.0

Nodes

Circuit

  • Description: A Circuit represent service operated by a provider.
  • Label: Circuit
  • Icon: mdi:cable-data
  • Include in Menu:

Ordering and Constraints

  • **Order By:**circuit_id__value
  • Uniqueness Constraints:

Attributes

namekinduniqueoptionaldescriptionchoices
circuit_idTextTrue``
descriptionTextTrue``
circuit_typeDropdownSpecifies the type of circuit.`upstream, peering, dark_fiber, mpls`
statusDropdown`active, provisioning, maintenance, drained`

Relationships

namepeeroptionalcardinalitykindlabelorder_weight
providerOrganizationProviderFalseoneAttribute
locationLocationHostingTrueoneAttributeLocation1500
enpointsDcimCircuitEndpointTruemanyComponent

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

namekinddescriptionorder_weightoptionalchoices
nameTextName of the circuit endoint, could be a MMR position for instance.1000``
statusDropdownTrue`active, provisioning, maintenance, drained`
descriptionTextTrue``

Relationships

namepeerorder_weightoptionalcardinalitykindlabel
circuitDcimCircuit900FalseoneParent
locationLocationHosting1500FalseoneAttributeLocation

Extensions

OrganizationProvider

Relationships

namepeercardinalityoptional
circuitsDcimCircuitmanyTrue

LocationHosting

Relationships

namepeercardinalityoptional
circuitsDcimCircuitmanyTrue

BGP Communities

This schema extension adds the BGP Communities models.

Dependencies: base, extensions.routing

bgp_community

  • Version: 1.0

Nodes

BGPCommunity

  • 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

namekinddescriptionorder_weightoptional
nameTextThe name of the BGP community.1000
descriptionTextAn optional description of the BGP community.1100True
communityTextThe value of the BGP community (RFC1997, RFC4360, RFC8092).1200

Relationships

namelabelpeerdescriptionkindcardinalityoptionalorder_weight
routing_policyRouting PoliciesRoutingPolicyThe BGP Policies using this BGP Community.Genericmany
tagsBuiltinTagAttributemanyTrue3000

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

  • Version: 1.0

Nodes

CrossConnect

  • Description: Cross-connect between different endpoints within a datacenter.
  • Label: Cross-Connect
  • Icon: streamline:arrow-crossover-right-solid
  • Include in Menu:

Ordering and Constraints

  • **Order By:**provider__name__value
  • **Uniqueness Constraints:**provider + identifier__value

Attributes

namekindorder_weightoptionalchoices
identifierText900``
descriptionText1300True``
statusDropdown1200True`connected, planned, reserved`

Relationships

namelabelpeeroptionalcardinalitykindorder_weight
locationLocationLocationHostingFalseoneAttribute1100
providerOrganizationProviderFalseoneAttribute1000

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

  • Version: 1.0

Nodes

PolicyAggregate

  • Description: A routing policiers for Aggregate
  • Label: Aggregate Routing Policies
  • Icon: carbon:deployment-policy
  • Include in Menu:

Extensions

RoutingAggregate

Attributes

namekindstate
import_policiesTextabsent
export_policiesTextabsent

Relationships

namelabelpeeridentifierdescriptionkindcardinality
import_routing_policiesImport Routing PoliciesRoutingPolicyAggregateaggregate__import_policiesThe routing-policies used by this instance for import.Genericmany
export_routing_policiesExport Routing PoliciesRoutingPolicyAggregateaggregate__export_policiesThe routing-policies used by this instance for export.Genericmany

Location Minimal

This schema extension is minimal but will provide you with basic items to store location related data.

Dependencies: base

location_minimal

  • Version: 1.0

Nodes

Country

  • Label: Country
  • Icon: gis:search-country
  • Menu Placement: LocationGeneric
  • Include in Menu:

Attributes

namekindoptionalorder_weight
timezoneTextTrue1300

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

namekinduniqueoptionalorder_weight
facility_idTextFalseTrue1100
physical_addressTextFalseTrue1500

Relationships

namepeeroptionalcardinality
ownerOrganizationGenericTrueone

Rack

  • Label: Rack
  • Icon: clarity:rack-server-line
  • Menu Placement: LocationGeneric
  • Include in Menu:

Attributes

namekinduniqueoptionalorder_weightlabeldefault_value
facility_idTextFalseTrue1100
heightNumberFalse1300Height (U)42

Relationships

namepeeroptionalcardinality
ownerOrganizationGenericTrueone

Extensions

OrganizationProvider

Relationships

namepeercardinalityoptional
sitesLocationSitemanyTrue

VRRP

This schema extension contains models for VRRP.

Dependencies: base, base.dcim, base.ipam

vrrp

  • Version: 1.0

Nodes

VRRPGroup

  • Description: VRRP Group configuration
  • Label: VRRP Group
  • Icon: fluent:virtual-network-20-filled
  • Include in Menu:

Ordering and Constraints

  • **Order By:**name__value
  • **Uniqueness Constraints:**name__value

Attributes

namekindlabeluniquedescriptionorder_weightoptional
nameTextNameTrueUnique name of the entry1000
groupTextGroupVRRP Group1100
passwordHashedPasswordPasswordVRRP Password/Key1400True

Relationships

nameon_deletedescriptionlabelpeeroptionalcardinalitykindorder_weight
ip_addresscascadeVRRP IP (v4 or v6)IP AddressIpamIPAddressTruemanyAttribute1200
vrrp_interfacescascadeVRRP InterfacesNetworkVRRPInterfacemanyComponent1300

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

namekindlabeldescriptionregexdefault_valueorder_weight
priorityNumberVRRP PriorityVRRP Priority (Should be between 0 to 255)^(25[0-5]|2[0-4][0-9]|1?[0-9]?[0-9])$1001100

Relationships

namedescriptionlabelpeeroptionalcardinalitykindorder_weight
vrrp_groupVRRP GroupVRRP GroupNetworkVRRPGroupFalseoneAttribute1200
interfaceInterface L3InterfaceDcimInterfaceL3FalseoneAttribute1300

Extensions

DcimInterfaceL3

Relationships

namekindpeerdescriptioncardinalitylabelorder_weight
vrrpComponentNetworkVRRPInterfaceVRRP Interface ConfigurationoneVRRP1500

IpamIPAddress

Relationships

namekindpeerdescriptioncardinalitylabelorder_weight
vrrpComponentNetworkVRRPGroupPart of VRRP GrouponeVRRP Group1600

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

  • Version: 1.0

Nodes

IXP

  • Description: An Internet Exchange Point (IXP) for peering
  • Label: Internet Exchange
  • Icon: mdi:network
  • Include in Menu:

Ordering and Constraints

  • **Order By:**name__value
  • **Uniqueness Constraints:**name__value

Attributes

namekinduniquedescriptionorder_weightoptionalchoicesdefault_value
nameTextTrueName of the Internet Exchange1000``
descriptionTextAn optional description of the Internet Exchange1100True``
statusDropdown1200`enabled, disabled`enabled

Relationships

namepeeroptionalcardinalitykinddescriptionorder_weightlabelidentifier
connectionsPeeringIXPConnectionTruemanyComponentIXP connections associated with this Internet Exchange
local_asRoutingAutonomousSystemTrueoneAttribute1300
import_policiesRoutingPolicyBGPTruemanyGenericImport routing policies applied to the sessionImport Routing Policiesixp__import_bgppolicies
export_policiesRoutingPolicyBGPTruemanyGenericExport routing policies applied to the sessionExport Routing Policiesixp__export_bgppolicies
bgp_communitiesRoutingBGPCommunityTruemanyGenericBGP communities associated with the sessionBGP Communities
tagsBuiltinTagTruemanyAttribute3000

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

namekinduniquedescriptionorder_weightoptionallabelchoicesdefault_value
nameTextTrueName of the IXP Connection1000``
descriptionTextDescription of the IXP Connection1100True``
peeringdb_netixlanNumberPeeringDB ID for the IXP connection1150TruePeeringDB Netixlan``
statusDropdown1200True`enabled, pre-maintenance, maintenance, post-maintenance, disabled`enabled
vlanNumberVLAN ID for the connection1300True``
mac_addressMacAddressMAC address associated with the connection1350TrueMAC Address``

Relationships

namelabeldescriptionpeeridentifiercardinalitykindorder_weightoptional
ipv6_addressIPv6 AddressIPv6 address assigned to the connectionIpamIPAddressixpconn__ipv6_addressoneAttribute1400
ipv4_addressIPv4 AddressIPv4 address assigned to the connectionIpamIPAddressixpconn__ipv4_addressoneAttribute1375
internet_exchange_pointIXPThe Internet Exchange Point this connection is part ofPeeringIXPoneParentFalse
routerThe router this IXP connection is connected toDcimDeviceoneAttribute1400
tagsBuiltinTagmanyAttribute3000

VLAN

This schema extension contains models to support VLANs in you network.

Dependencies: base

vlan

  • Version: 1.0

Nodes

VLAN

  • Description: A VLAN is isolated layer two domain
  • Label: VLAN
  • Icon: mdi:lan-pending
  • Menu Placement: IpamL2Domain
  • Include in Menu:

Ordering and Constraints

  • **Order By:**name__value
  • **Uniqueness Constraints:**l2domain + vlan_id__value

Attributes

namekindoptionalchoices
nameText``
descriptionTextTrue``
vlan_idNumber``
statusDropdown`active, provisioning, maintenance, drained`
roleDropdownTrue`server, management, user`

Relationships

namepeeroptionalcardinalitykindorder_weight
locationLocationHostingTruemany
prefixesIpamPrefixTruemany
l2domainIpamL2DomainFalseoneAttribute1200

L2Domain

  • Description: Represents layer 2 domain.
  • Label: Layer 2 Domain
  • Icon: mdi:domain-switch
  • Include in Menu:

Attributes

namekindorder_weight
nameText1000

Relationships

namepeeroptionalcardinalitykind
vlansIpamVLANTruemanyComponent

Extensions

IpamPrefix

Relationships

namepeeroptionalcardinalitykindorder_weight
vlanIpamVLANTrueoneAttribute1400

DcimInterfaceL2

Relationships

namelabelpeeroptionalcardinalitykindidentifier
untagged_vlanUntagged VLANIpamVLANTrueoneComponentinterface_l2__untagged_vlan
tagged_vlanTagged VLANsIpamVLANTruemanyComponentinterface_l2__tagged_vlan

LocationHosting

Relationships

namelabelpeercardinalityoptional
vlansVLANsIpamVLANmanyTrue

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

  • Version: 1.0

Nodes

PolicyOSPF

  • Description: A routing policiers for OSPF
  • Label: OSPF Routing Policies
  • Icon: carbon:deployment-policy
  • Include in Menu:

Extensions

RoutingOSPF

Attributes

namekindstate
import_policiesTextabsent
export_policiesTextabsent

Relationships

namelabelpeeridentifierdescriptionkindcardinality
import_routing_policiesImport Routing PoliciesRoutingPolicyOSPFospf__import_policiesThe routing-policies used by this instance for import.Genericmany
export_routing_policiesExport Routing PoliciesRoutingPolicyOSPFospf__export_policiesThe routing-policies used by this instance for export.Genericmany

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

  • Version: 1.0

Generics

DeviceWithPhysicalDisks

  • Description: Generic that hold relationship toward physical disks. To apply on device that can have physical disks.
  • Include in Menu:

Relationships

namecardinalitypeeroptionalkind
physical_disksmanyDcimPhysicalDiskTrueComponent

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

namekinduniqueoptionalorder_weightdescriptionchoiceslabel
nameTextFalseFalse900``
disk_typeDropdownTrue950Specifies the type of disk`ssd, nvme, hdd, hybrid`
statusDropdownLifecycle status of the hardware component.`in_inventory, active, decommissioned, disposed`
sizeNumberFalse1000Disk capacity (in GB).``Size (GB)
serial_numberTextTrueTrue1100Serial number of the disk``
descriptionTextFalseTrue1500``

Relationships

namepeeroptionalcardinalitykindorder_weight
deviceDcimDeviceWithPhysicalDisksFalseoneParent800

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

  • Version: 1.0

Generics

GenericUnit

  • Description: A generic unit that can compute (e.g. server, vm ...).
  • Include in Menu:

HostVirtualMachine

  • Description: A generic unit that can host VM
  • Include in Menu:

Relationships

namecardinalitypeerkindoptional
virtual_machinesmanyVirtualizationVirtualMachineComponentTrue

Nodes

PhysicalServer

  • Description: A physical server with fixed resources and specific hardware characteristics.
  • Label: Physical Server
  • Icon: mdi:server
  • Include in Menu:

Attributes

namekindoptionalorder_weightchoices
statusDropdownFalse1100`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

namekindoptionaldescriptionorder_weightchoices
roleDropdownTrueRole of the virtual machine.1400`application, storage`
vcpuNumberTrueNumber of CPU cores assigned to the VM.1900``
memoryNumberTrueAmount of memory (in GB) assigned to the VM.1900``
diskNumberTrueDisk space (in GB) assigned to the VM.1900``

Relationships

namepeeroptionalcardinalitykindorder_weight
hostVirtualizationHostVirtualMachineFalseoneAttribute1500

PIM

This schema extension contains all you need to model the PIM Protocol.

Dependencies: base, extensions.routing

pim

  • Version: 1.0

Nodes

PIM

  • Description: Protocol Independent Multicast (PIM) instance on a Virtual Router.
  • Label: PIM
  • Icon: mdi:network-outline
  • Include in Menu:

Ordering and Constraints

  • **Order By:**vrf__name__value, device__name__value
  • **Uniqueness Constraints:**device + vrf

Attributes

namekindoptionaldefault_valuedescriptionorder_weight
dr_priorityNumberTrue1Designated Router priority.1250
import_policiesTextTrue1300
export_policiesTextTrue1350

Relationships

namepeeroptionaldescriptioncardinalitykindlabelidentifier
rp_addressIpamIPAddressTrueRendezvous Point (RP) address for PIM.oneAttribute
pim_interfacesRoutingPIMInterfaceTruemanyComponentPIM Interfacespim__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

namekindoptionaldescriptionorder_weightchoicesdefault_value
descriptionTextFalseDescription of the OSPF interface.1100``
pim_modeDropdownPIM mode used for multicast routing on this interface.1150`sparse, dense, bidirectional`
hello_intervalNumberTrueInterval for PIM hello messages (in seconds).1300``30
dr_priorityNumberTrueDesignated Router priority on the interface.1250``1

Relationships

namelabelpeeridentifieroptionalcardinalitykindorder_weight
pimPIMRoutingPIMpim__piminterfacesFalseoneParent
interfaceDcimInterfaceL3FalseoneAttribute1200

Cable

This schema extension contains a basic Cable model allowing you to connect two endpoints.

Dependencies: base

cable

  • Version: 1.0

Nodes

Cable

  • Description: Physical cable connecting two endpoints
  • Label: Cable
  • Icon: mdi:cable-data
  • Include in Menu:

Attributes

namekindoptionalorder_weightchoiceslabel
statusDropdownTrue1000`connected, planned`
cable_typeDropdownTrue1100`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`
colorDropdownTrue1300`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`
labelTextTrue1200``
lengthNumberTrue1350``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

  • Version: 1.0

Generics

GenericPatchPanelInterface

  • Label: Patch Panel Interfaces
  • Icon: mdi:ethernet
  • Menu Placement: DcimPatchPanel
  • Include in Menu:

Attributes

namekindorder_weightoptionalchoices
nameText1000``
descriptionText2000True``
connector_typeDropdown1100`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

namekinduniqueorder_weightlabeloptionaldescription
nameTextTrue1000
module_capacityNumberModule CapacityTrueThe maximum number of modules that can be housed within this patch panel.
descriptionText2000True

Relationships

namepeeridentifieroptionalcardinalitykind
front_interfacesDcimFrontPatchPanelInterfacefront_interfacesTruemanyComponent
rear_interfacesDcimRearPatchPanelInterfacerear_interfacesTruemanyComponent
modulesDcimPatchPanelModuleTruemanyComponent

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

namelabelpeerorder_weightoptionalcardinalitykindidentifier
corresponding_front_rearCorresponding rear interfaceDcimRearPatchPanelInterface1200TrueoneAttribute
patch_panelDcimPatchPanel900FalseoneParentfront_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

namelabelpeerorder_weightoptionalcardinalitykindidentifier
corresponding_front_rearCorresponding front interfacesDcimFrontPatchPanelInterface1200TruemanyAttribute
patch_panelDcimPatchPanel900FalseoneParentrear_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

namekindorder_weightdescriptionlabeloptionalchoices
nameText1000``
positionNumber1100Position for the module inside the Patch Panel.``
module_typeDropdown1200Type of module inserted into the patch panel.Module TypeTrue`3_mpo_24_fo_lc`
serialText1500True``
descriptionText2000True``

Relationships

namepeeroptionalorder_weightcardinalitykind
patch_panelDcimPatchPanelFalse900oneParent

Aggregate

This schema extension contains all you need to model the Aggregate Routing Protocol.

Dependencies: base, extensions.routing

aggregate

  • Version: 1.0

Nodes

AggregateRoute

  • Description: Aggregate Protocol with action and BGP communities
  • Label: Aggregate Routes
  • Icon: grommet-icons:aggregate
  • Include in Menu:

Attributes

namelabelkindoptionaldefault_valueorder_weight
discardDiscardBooleanTrueFalse1275
import_policiesTextTrue1300
export_policiesTextTrue1350

Relationships

namekindpeerdescriptionorder_weight
destinationAttributeIpamPrefixDestination 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

  • Version: 1.0

Generics

GenericOadmInterface

  • Label: Optical Multiplexer Interfaces
  • Icon: mdi:ethernet
  • Menu Placement: DcimOpticalMultiplexer
  • Include in Menu:

Attributes

namekindorder_weightoptionalchoices
nameText1000``
descriptionText2000True``
connector_typeDropdown1100`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

namekindorder_weightdescriptionoptionalchoicesdefault_value
nameText1000``
wdm_typeDropdown1110Type of WDM (e.g CWDM. DWDM)False`cwdm, dwdm`dwdm
descriptionText2000True``

Relationships

namepeeridentifieroptionalcardinalitykind
front_interfacesDcimOadmFrontInterfacefront_interfacesTruemanyComponent
rear_interfaceDcimOadmRearInterfacerear_interfacesTrueoneComponent

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

namepeerorder_weightidentifieroptionalcardinalitykind
optical_multiplexerDcimOpticalMultiplexer900front_interfacesFalseoneParent
channelsDcimWdmChannel1200TruemanyAttribute

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

namepeerorder_weightidentifieroptionalcardinalitykind
optical_multiplexerDcimOpticalMultiplexer900rear_interfaceFalseoneParent

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

namekinddescriptionorder_weightoptionalchoicesdefault_valuelabel
channelNumberWDM channel number.``
wdm_typeDropdownType of WDM (e.g CWDM. DWDM)1110False`cwdm, dwdm`dwdm
wavelengthTextWavelength of the channel in nm.``Wavelength (nm)
frequencyTextFrequency 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

namekinddescriptionorder_weightoptionalchoicesdefault_value
wdm_typeDropdownType of WDM (e.g CWDM. DWDM)1110False`cwdm, dwdm`dwdm

Relationships

namelabelpeerkindcardinalityoptionalorder_weight
wdm_channelWDM ChannelDcimWdmChannelAttributeoneFalse1150

Accounts Management

This schema extension contains models for Accounts management.

Dependencies: base

users

  • Version: 1.0

Nodes

Group

  • Description: User Group
  • Label: User Groups
  • Icon: iconoir:group
  • Include in Menu:

Ordering and Constraints

  • **Order By:**name__value
  • **Uniqueness Constraints:**name__value

Attributes

namekindorder_weightoptionallabelchoices
nameText1000``
descriptionText1100True``
idle_timeoutNumber1300Idle Timeout (s)``
permissionsDropdown1200False`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

namelabelkindoptionaldescriptionorder_weightdefault_value
nameUsernameTextFalseThe login username1000
full_nameTextTrueFull name of the account1100
ssh_keyPasswordTrueSSH key for secure access1300
passwordPasswordTruePassword for login (alternative to SSH key)1400
mfa_enabledBooleanWhether multi-factor authentication is enabled1500False

Relationships

namepeercardinalityoptionalkindorder_weight
user_groupUserGrouponeFalseAttribute1200
organizationOrganizationGenericoneFalseParent

Extensions

OrganizationGeneric

Relationships

namekindpeerdescriptioncardinality
accountsComponentUserAccountList of Accounts under this organizationmany

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

  • Version: 1.0

Nodes

Policer

  • Description: A generic policer configuration.
  • Label: Network Policer
  • Icon: mdi:car-speed-limiter
  • Include in Menu:

Ordering and Constraints

  • **Order By:**name__value
  • **Uniqueness Constraints:**name__value

Attributes

namekindlabeldescriptionorder_weightuniqueoptionalchoices
nameTextNameUnique name of the policer.1000True``
descriptionText1100True``
policer_typeDropdownPolicer TypeType of policer.1150True`bandwidth-policer, interface-policer, shared-policer, hierarchical-policer`
bandwidth_limitDropdownBandwidth LimitBandwidth limit for the policer.1200True`500k, 2125k, 5250k, 10m, 20m, 30m, 50m, 75m, 100m, 200m, 300m, 1000m`
pps_limitDropdownPPS LimitPackets per second (PPS) limit for the policer.1250True`500pps, 1000pps, 5000pps`
burst_size_limitDropdownBurst Size LimitBurst size limit for the policer.1300True`50k, 100k, 128k, 256k, 512k, 1m, 1500k, 2m, 3m, 4m, 8m, 12m, 37m, 40m, 1000000k`
packet_burstDropdownPacket BurstPacket burst size for the policer.1350True`1k, 5k, 10k`
actionDropdownActionAction 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

  • Version: 1.0

Nodes

VRF

  • Description: A VRF is isolated layer three domain
  • Label: VRF
  • Icon: mdi:router
  • Include in Menu:

Ordering and Constraints

  • **Order By:**name__value
  • Uniqueness Constraints:

Attributes

namekindoptionaluniquelabelorder_weight
nameTextFalseTrue
vrf_rdTextTrueRoute Distinguisher
descriptionTextTrue1200

Relationships

namepeeroptionalcardinalitykindidentifierlabel
namespaceBuiltinIPNamespaceFalseoneAttribute
import_rtIpamRouteTargetTrueoneAttributevrf__importImport Targets
export_rtIpamRouteTargetTrueoneAttributevrf__exportExport 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

namekinduniqueoptional
nameTextTrue
descriptionTextTrue

Relationships

namepeeroptionalcardinality
vrfIpamVRFTruemany

Extensions

IpamPrefix

Relationships

namelabelpeeroptionalcardinalitykindorder_weight
vrfVRFIpamVRFTrueoneAttribute1150

IpamIPAddress

Relationships

namelabelpeeroptionalcardinalitykindorder_weight
vrfVRFIpamVRFTrueoneAttribute1150

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

  • Version: 1.0

Generics

Protocol

  • Description: Generic protocol model for routing protocols
  • Label: Protocol
  • Icon: carbon:router
  • Include in Menu:

Attributes

namekindoptionaldescriptionorder_weightchoices
descriptionTextFalseDescription of the protocol1100``
statusDropdownStatus of the Protocol Configuration.1150`active, disabled, deleted`

Relationships

namepeeroptionalcardinalitykindorder_weightlabel
deviceDcimDeviceFalseoneParent1050
vrfIpamVRFFalseoneAttribute1075VRF

BGP

This schema extension contains all you need to model your BGP platform.

Dependencies: base, extensions.routing

bgp

  • Version: 1.0

Nodes

AutonomousSystem

  • Description: An Autonomous System (AS) is a set of Internet routable IP prefixes belonging to a network
  • Label: Autonomous System
  • Icon: mdi:bank-circle-outline
  • Menu Placement: RoutingBGPSession
  • Include in Menu:

Ordering and Constraints

  • **Order By:**asn__value, name__value
  • **Uniqueness Constraints:**asn__value, name__value

Attributes

namekinddescriptionorder_weightoptional
nameTextName of the Autonomous System1000
asnNumberAutonomous System Number1050
descriptionTextDescription of the Autonomous System1100True

Relationships

namepeeroptionalcardinalitykind
organizationOrganizationGenericFalseoneAttribute
locationLocationGenericTrueoneAttribute
devicesDcimDeviceTruemanyAttribute

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

namekindoptionaldescriptionorder_weightregexchoicesdefault_value
nameTextFalseName of the BGP Group1000``
import_policiesTextTrue1300``
export_policiesTextTrue1350``
maximum_routesNumberTrueMaximum routes for the BGP Group.1400^[0-9]+$``
local_prefNumberTrueForce Local Pref for this BGP Peer Group.1450^[0-9]+$``
send_communityCheckboxTrueWhether to send community attributes.1500``
address_familyDropdownThe address family for the routing policy indicating the type of IP address.1150`ipv4, ipv6`ipv4

Relationships

nameidentifierpeeroptionalcardinalitykind
local_asbgppeergroup__local_asRoutingAutonomousSystemTrueoneAttribute
remote_asbgppeergroup__remote_asRoutingAutonomousSystemTrueoneAttribute

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

namekindoptionalenumdescriptionorder_weightchoicesregex
import_policiesTextTrue``
export_policiesTextTrue``
session_typeText['EXTERNAL', 'INTERNAL']Type of BGP Session1200``
roleDropdownRole of the BGP Session1600`backbone, upstream, peering`
local_prefNumberTrueForce Local Pref for this BGP Peer Session.1450``^[0-9]+$

Relationships

nameidentifierpeeroptionalcardinalitykind
local_asbgpsession__local_asRoutingAutonomousSystemTrueoneAttribute
remote_asbgpsession__remote_asRoutingAutonomousSystemTrueoneAttribute
local_ipbgpsession__local_ipIpamIPAddressTrueoneAttribute
remote_ipbgpsession__remote_ipIpamIPAddressTrueoneAttribute
deviceDcimDeviceTrueone
peer_groupRoutingBGPPeerGroupTrueoneAttribute
peer_sessionRoutingBGPSessionTrueoneAttribute

Extensions

DcimGenericDevice

Relationships

namepeeroptionalcardinalitykindorder_weight
asnRoutingAutonomousSystemTrueoneAttribute1600

OrganizationGeneric

Relationships

namelabelcardinalityoptionalpeerorder_weight
asnAutonomous SystemmanyTrueRoutingAutonomousSystem2000

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

  • Version: 1.0

Generics

GenericModule

  • Description: A generic module, such as a Linecard or Routing Engine, installed in a device.
  • Label: Module
  • Include in Menu:

Attributes

namekinduniquedescriptionorder_weightoptionalchoicesdefault_value
serial_numberTextTrueUnique serial number of the module.1000``
descriptionText1100True``
statusDropdown1300`provisioning, active, maintenance, disabled, outage`active

Relationships

namepeeroptionalcardinalitykindorder_weightlabelidentifier
module_typeDeviceGenericModuleTypeFalseoneAttribute1150
deviceDcimPhysicalDeviceTrueoneAttribute1000Devicedevice__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

namekinduniquedescriptionorder_weightoptionallabel
nameTextTrueName of the module type.1000
descriptionTextDescription of the module type.1100True
part_numberTextPart number of the module.1200TruePart Number

Relationships

namepeeridentifiercardinalityoptionalkinddescriptionorder_weight
manufacturerOrganizationManufacturermanufacturer__moduletypeoneFalseAttributeManufacturer of the module type.1250
tagsBuiltinTagmanyTrueAttributeTags associated with the module type.3000

Extensions

DcimPhysicalDevice

Relationships

namepeeridentifiercardinalitykind
modulesDeviceGenericModuledevice__modulesmanyComponent

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

  • Version: 1.0

Generics

Policy

  • Description: Policy defining the rules for routing traffic in a network.
  • Icon: carbon:deployment-policy
  • Include in Menu:

Ordering and Constraints

  • **Order By:**name__value
  • **Uniqueness Constraints:**name__value

Attributes

namekinddescriptionuniqueoptionalorder_weightlabelchoicesdefault_value
nameTextThe name of the routing policy.TrueFalse1000``
descriptionTextAn optional description of the routing policy.True1100``
policy_typeDropdownThe type of routing policy which specifies the direction of route advertisement.1200Type`import-policy, export-policy, import-export-policy`
weightNumberPriority of the routing policy. The higher the number, the higher the priority.True1400``1000
address_familyDropdownThe 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

  • Version: 1.0

Nodes

Hosting

  • Description: A cluster hosting virtual machines.
  • Label: Hosting Cluster
  • Icon: mdi:dots-hexagon
  • Menu Placement: ClusterGeneric
  • Include in Menu:

Attributes

namekindorder_weightdescriptionchoicesoptional
cluster_typeDropdown1200Type of the cluster.`aws, kvm, gcp, vmware`
statusDropdown1300`active, provisioning, maintenance, drained`False

OSPF

This schema extension contains all you need to model the OSPF Routing Protocol.

Dependencies: base, extensions.routing

ospf

  • Version: 1.0

Nodes

OSPF

  • Description: OSPF (Open Shortest Path First) instance on a Virtual Router.
  • Label: OSPF
  • Icon: mdi:network-outline
  • Include in Menu:

Ordering and Constraints

  • **Order By:**router_id__address__value, vrf__name__value, device__name__value
  • **Uniqueness Constraints:**device + vrf + version__value

Attributes

namekindoptionaldefault_valuedescriptionorder_weightchoices
reference_bandwidthNumberTrue1000Reference bandwidth for OSPF instance (in Mbps).1150``
versionDropdownospfVersion of the OSPF protocol.1100`ospf, ospfv3`
import_policiesTextTrue1300``
export_policiesTextTrue1350``

Relationships

namepeeroptionalcardinalitykindlabelidentifier
router_idIpamIPAddressTrueoneAttribute
ospf_interfacesRoutingOSPFInterfaceTruemanyComponentOSPF Interfacesospf__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

namekindoptionaldescriptionorder_weightchoicesdefault_value
descriptionTextFalseDescription of the OSPF interface.1500``
metricNumberTrueOSPF metric for the interface.1400``
modeDropdownMode of the OSPF interface.1300`normal, passive, peer_to_peer`normal
authentication_keyPasswordTrueShared secret used to authenticate and secure routing messages between neighboring routers.1250``
authentication_modeDropdownTrue1225`md5, sha1`
areaTextOSPF area associated with the interface.1200``

Relationships

namelabelpeeridentifieroptionalcardinalitykindorder_weight
ospfOSPFRoutingOSPFospf__ospfinterfacesFalseoneParent1100
interfaceDcimInterfaceL3FalseoneAttribute1200

Infiniband

This schema extension adds support for InfiniBand switches.

Dependencies: base, extensions.compute

infiniband

  • Version: 1.0

Nodes

Switch

  • Description: InfiniBand Switch
  • Label: InfiniBand Switch
  • Icon: mdi:server
  • Include in Menu:

Ordering and Constraints

  • **Order By:**name__value
  • Uniqueness Constraints:

Attributes

namekinduniqueorder_weightoptionallabeldescriptiondefault_valuechoices
nameTextTrue1000``
descriptionText2000True``
os_versionText2200True``
rsu_rail_idNumberTrueRSU Rail IDInfiniBand RSU Rail ID (numeric) assigned to the switch``
aaa_authentication_modelDropdownFalseAAA Authentication ModelAAA authentication model to be used by the switchlocal`tacacs, local`
aaa_accounting_modelDropdownFalseAAA Accounting ModelAAA accounting model to be used by the switchlocal`tacacs, local`
roleDropdownSwitch RoleRole of the switch in the InfiniBand network`spine, leaf`
split_readyBooleanSplit ReadyEnable Split-Ready profile for switchFalse``
ipv6_enableBooleanIPv6 EnableEnable IPv6 on the switchFalse``
cli_prefix_modesBooleanCLI Prefix ModesEnable CLI prefix modesTrue``
xml_gatewayBooleanXML GatewayEnable XML GatewayFalse``
ssh_server_security_strictBooleanSSH Server Security StrictEnable SSH Server Security StrictFalse``
bannerTextBannerBanner to be displayed on loginNVIDIA MLNX-OS Switch Management``
password_hardeningBooleanPassword HardeningEnable Password HardeningFalse``

Relationships

namekindcardinalitypeeroptional
interfacesComponentmanyInfinibandSwitchInterfaceTrue
mgmt_interfaceComponentoneInfinibandSwitchMgmtInterfaceTrue
rsuAttributeoneInfinibandRSUTrue

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

namekindorder_weightoptionaldefault_valuelabeldescriptionenumchoices
nameText1000``
descriptionText1100True``
speedNumber1400``
enabledBoolean1200True``
widthNumberTrue7WidthWidth value sets supported lane options for the interface[1, 3, 5, 7]``
port_typeNumberTruePort Type: SplitEnable interface to be split X times (requires Split-Ready profile to be enabled on the switch)[2]``
port_type_forceBooleanFalsePort Type ForceForce the configured port type setting; use in conjunction with Port Type``
operational_virtual_lanesNumber8Operational Virtual LanesNumber of operational virtual lanes for an interface[1, 2, 4, 8]``
mtuNumberMTU (bytes)Maximum Transmission Unit (bytes)[256, 512, 1024, 2048, 4096]``
speed_forcedBooleanFalseSpeed ForcedForce the configured speed setting(s); use in conjunction with Speed options``
sfp_typeTextTrueSFP TypeType of SFP module used in the interface``
roleDropdownTrueInterface RoleRole of the interface in the InfiniBand network`endhost, uplink, reserved`

Relationships

namepeeroptionalcardinalitykindmax_count
speed_optionInfinibandSwitchIntfSpeedOptionsTruemanyAttribute6
switchInfinibandSwitchFalseoneParent

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

namekindorder_weightoptionallabeldefault_valuedescription
nameText1000
descriptionText1100True
speedNumber1400
mtuNumber1500MTU1500
enabledBoolean1200True
dhcpBooleanDHCPTrueEnable DHCP for the management interface

Relationships

namepeeroptionalcardinalitykind
switchInfinibandSwitchFalseoneParent
ipv4_addressIpamIPAddressTrueone

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

namekindlabeldescriptionchoicesunique
speedDropdownSpeedSpeed of the interface`SDR, NDR, QDR, FDR, EDR, HDR`
descriptionTextDescriptionDescription of the speed option (must be unique)``True

Relationships

namepeeroptionalcardinalitykind
switchInfinibandSwitchInterfaceFalseoneParent

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

namekindlabeldescriptionregexoptional
identifierTextIdentifierInfiniBand RSU Identifier (A-Z: a unique character string)[A-Z]
sizeNumberSizeNumber of InfiniBand Leaf Switches (Rails) in the RSUTrue

Relationships

namepeeroptionalcardinalitykind
switchesInfinibandSwitchTruemanyAttribute
interfacesInfinibandSwitchInterfaceTruemanyAttribute

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

namekindlabeldescriptionunique
nameTextNameInfiniBand Network Fabric NameTrue

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

  • Version: 1.0

Nodes

Continent

  • Label: Continent
  • Icon: jam:world
  • Menu Placement: LocationGeneric
  • Include in Menu:

Country

  • Label: Country
  • Icon: gis:search-country
  • Menu Placement: LocationGeneric
  • Include in Menu:

Region

  • Label: Region
  • Icon: carbon:cics-region-target
  • Menu Placement: LocationGeneric
  • Include in Menu:

Metro

  • Label: Metro
  • Icon: healthicons:city
  • Menu Placement: LocationGeneric
  • Include in Menu:

Building

  • Label: Building
  • Icon: ri:building-line
  • Menu Placement: LocationGeneric
  • Include in Menu:

Attributes

namekinduniqueoptionalorder_weight
facility_idTextFalseTrue1100
physical_addressTextFalseTrue1500

Relationships

namepeeroptionalcardinality
ownerOrganizationGenericTrueone

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

namekinduniqueoptionalorder_weight
facility_idTextFalseTrue1100

Relationships

namepeeroptionalcardinality
ownerOrganizationGenericTrueone

Rack

  • Label: Rack
  • Icon: clarity:rack-server-line
  • Menu Placement: LocationGeneric
  • Include in Menu:

Attributes

namekinduniqueoptionalorder_weight
facility_idTextFalseTrue1100

Relationships

namepeeroptionalcardinality
ownerOrganizationGenericTrueone

Extensions

OrganizationProvider

Relationships

namepeercardinalityoptional
locationLocationBuildingmanyTrue

Topology

A schema for defining and managing network topology, strategies, and services.

Dependencies: base

topology

  • Version: 1.0

Generics

ManagementServer

  • Description: Generic model for network management server (dns, ntp, and dhcp).
  • Label: Network Management Servers
  • Include in Menu:

Ordering and Constraints

  • **Order By:**name__value
  • Uniqueness Constraints:

Attributes

namekindorder_weightoptionalchoices
nameText1000``
descriptionText1100True``
statusDropdown`active, provisioning, maintenance, drained`

Relationships

namepeeroptionalcardinalitykind
locationLocationGenericTruemany
ip_addressesInfraIPAddressTruemanyComponent

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

namekindorder_weightoptional
nameText1000
descriptionText1100True
quantityNumber1200

Relationships

namepeercardinalitykindoptional
topologyTopologyTopologyoneParentFalse

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

namekindorder_weightoptional
nameText1000
descriptionText1100True

Relationships

namepeeroptionalcardinality
topologyTopologyTopologyTruemany

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

namekinduniqueorder_weightoptional
nameTextTrue1000
descriptionText1100True

Relationships

namepeeroptionalcardinalitykind
elementsTopologyGenericElementTruemanyComponent
strategyTopologyNetworkStrategyTrueoneComponent
locationLocationGenericTrueoneAttribute
devicesDcimGenericDeviceTruemanyComponent
network_servicesTopologyNetworkServiceTruemanyComponent

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

namekindchoices
underlayDropdown`ospf, isis, bgp`
overlayDropdown`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

namekindchoices
underlayDropdown`ebgp, ospf, isis`
overlayDropdown`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

namekinddefault_valueorder_weightlabelchoices
mtuNumber15003000``
borderBooleanFalse2400Is a Topology Border``
mlag_supportBooleanFalse2500MLAG Support``
device_roleDropdown1300Role`spine, leaf, pe_router, p_router, route_reflector, cpe, firewall`

Relationships

namelabelpeeroptionalcardinalitykindorder_weight
device_typeTypeDcimDeviceTypeTrueoneAttribute1400

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

namekindorder_weightoptional
nameText1000
descriptionText1100True
option_codeNumber2000
contentText2100

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

namekindorder_weight
lease_timeText2100

Relationships

namepeeroptionalcardinalitykind
dhcp_optionsNetworkDhcpOptionTruemanyComponent

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

namekind
identifierNumber

Relationships

namelabelpeercardinalityoptional
serviceNetwork ServiceTopologyNetworkServiceoneTrue

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

namelabelkindorder_weightenum
nameService NameText1000
descriptionText1100
service_typeText1200['Layer2', 'Layer3']

Relationships

namepeercardinalitykindoptionalorder_weight
identifierTopologyNetworkServiceIdentifieroneAttributeFalse
topologyTopologyTopologyoneParentFalse
vlanInfraVLANoneComponentTrue1500
prefixInfraPrefixoneComponentTrue1400

Extensions

DcimGenericDevice

Relationships

namepeeroptionalcardinality
topologyTopologyTopologyTrueone

IpamPrefix

Relationships

namelabelpeeroptionalcardinalityorder_weight
network_serviceNetwork ServiceTopologyNetworkServiceTrueone1400

Security

This schema extension contains models for implementing detailed security.

Dependencies: base

security

  • Version: 1.0

Generics

PolicyAssignment

  • Label: Security Policy
  • Include in Menu:

Relationships

namelabelpeerkindcardinalityoptional
rulesPolicySecurityRenderedPolicyRuleComponentmanyTrue

GenericAddressGroup

  • Include in Menu:

Attributes

namekindlabeloptionalunique
nameTextNameFalseTrue
descriptionTextDescriptionTrue

Relationships

namepeercardinalitykindoptional
addressesSecurityGenericAddressmanyComponentTrue

GenericAddress

  • Include in Menu:

Attributes

namekindoptionalunique
nameTextFalseTrue

Relationships

namelabelpeercardinalityoptional
address_groupsAddress GroupsSecurityGenericAddressGroupmanyTrue

GenericServiceGroup

  • Include in Menu:

Attributes

namelabelkindoptional
nameNameTextFalse
descriptionDescriptionTextTrue

Relationships

namepeerlabelcardinalitykindoptional
servicesSecurityGenericServiceServicesmanyComponentTrue

GenericService

  • Include in Menu:

Attributes

namelabelkindoptional
nameNameTextFalse
descriptionDescriptionTextTrue

Relationships

namelabelpeercardinalityoptional
service_groupsService GroupsSecurityGenericServiceGroupmanyTrue

Nodes

Zone

  • Description: Security zones
  • Label: Security zone
  • Icon: game-icons:fire-zone
  • Menu Placement: SecurityPolicy
  • Include in Menu:

Attributes

namekinduniqueoptional
nameTextTrueFalse

Relationships

namelabelkindoptionalpeer
interfacesInterfacesAttributeTrueSecurityFirewallInterface

IPAMIPAddress

  • Description: Infrahub IPv4/6 address
  • Label: IPAM IP Address
  • Icon: mdi:ip-outline
  • Menu Placement: SecurityPolicy
  • Include in Menu:

Attributes

namekindoptional
descriptionTextTrue

Relationships

namepeercardinalitykindoptional
ip_addressInfraIPAddressoneAttributeFalse

IPAMIPPrefix

  • Description: Infrahub IPv4/6 prefix
  • Label: IPAM IP Prefix
  • Icon: mdi:ip-network-outline
  • Menu Placement: SecurityPolicy
  • Include in Menu:

Attributes

namekindoptional
descriptionTextTrue

Relationships

namepeercardinalitykindoptional
ip_prefixInfraPrefixoneAttributeFalse

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

namekindoptional
addressIPHost
descriptionTextTrue

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

namekindoptionalunique
prefixIPNetworkFalseTrue
descriptionTextTrue

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

namelabelkindoptional
startStart IP AddressIPHostFalse
endEnd IP AddressIPHostFalse

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

namelabelkindoptionalregex
fqdnFQDNTextFalse(?=^.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

namekindoptional
protocolNumberTrue

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

namekind
portNumber

Relationships

namepeeroptionalcardinalitykind
ip_protocolSecurityIPProtocolTrueoneAttribute

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

namekindoptional
startNumberFalse
endNumberFalse

Relationships

namepeeroptionalcardinalitykind
ip_protocolSecurityIPProtocolFalseoneAttribute

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

namelabelkindoptional
nameNameTextFalse
descriptionDescriptionTextTrue

Relationships

namepeercardinalitykindoptional
rulesSecurityPolicyRulemanyComponent
location_targetLocationGenericoneAttributeTrue
device_targetSecurityFirewalloneAttributeTrue

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

namelabelkindoptionalorder_weightenumdefault_value
indexIndexNumberFalse99999
nameNameTextFalse
actionActionTextFalse['permit', 'deny']permit
logLogBooleanTrue99998False

Relationships

namepeerkindcardinalityoptionalorder_weightidentifier
policySecurityPolicyAttributeoneFalse
source_zoneSecurityZoneAttributeoneFalse1policy_rule__source_zone
destination_zoneSecurityZoneAttributeoneFalse2policy_rule__destination_zone
source_addressSecurityGenericAddressAttributemanyTruepolicy_rule__source_address
source_groupsSecurityGenericAddressGroupAttributemanyTruepolicy_rule__source_address_group
source_servicesSecurityGenericServiceAttributemanyTruepolicy_rule__source_service
source_service_groupsSecurityGenericServiceGroupAttributemanyTruepolicy_rule__source_service_group
destination_addressSecurityGenericAddressAttributemanyTruepolicy_rule__destination_address
destination_groupsSecurityGenericAddressGroupAttributemanyTruepolicy_rule__destination_address_group
destination_servicesSecurityGenericServiceAttributemanyTruepolicy_rule__destination_service
destination_service_groupsSecurityGenericServiceGroupAttributemanyTruepolicy_rule__destination_service_group

Firewall

  • Icon: mdi:firewall
  • Menu Placement: InfraGenericDevice
  • Include in Menu:

Attributes

namekindoptionalchoices
roleDropdownTrue`edge_firewall`

Relationships

namepeerlabelcardinalitykind
policySecurityPolicySecurity PolicyoneAttribute

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

namelabelkindoptionalorder_weightenumdefault_value
indexIndexNumberFalse99999
nameNameTextFalse
actionActionTextFalse['permit', 'deny']permit
logLogBooleanTrue99998False

Relationships

namepeerkindcardinalityoptionalidentifierorder_weight
source_policySecurityPolicyAttributeoneFalse
source_zoneSecurityZoneAttributeoneFalserendered_policy_rule__source_zone1
destination_zoneSecurityZoneAttributeoneFalserendered_policy_rule__destination_zone2
source_addressSecurityGenericAddressAttributemanyTruerendered_policy_rule__source_address
source_groupsSecurityGenericAddressGroupAttributemanyTruerendered_policy_rule__source_address_group
source_servicesSecurityGenericServiceAttributemanyTruerendered_policy_rule__source_service
source_service_groupsSecurityGenericServiceGroupAttributemanyTruerendered_policy_rule__source_service_group
destination_addressSecurityGenericAddressAttributemanyTruerendered_policy_rule__destination_address
destination_groupsSecurityGenericAddressGroupAttributemanyTruerendered_policy_rule__destination_address_group
destination_servicesSecurityGenericServiceAttributemanyTruerendered_policy_rule__destination_service
destination_service_groupsSecurityGenericServiceGroupAttributemanyTruerendered_policy_rule__destination_service_group

FirewallInterface

  • Label: Firewall Interface
  • Icon: mdi:ethernet
  • Menu Placement: InfraGenericDevice
  • Include in Menu:

Relationships

namepeeroptionalcardinalitykind
ip_addressesInfraIPAddressTruemanyComponent
security_zoneSecurityZoneFalseoneAttribute

Extensions

LocationGeneric

Relationships

namepeercardinalitykind
policySecurityPolicyoneAttribute

Azure

This schema extension introduces cloud support for Microsoft Azure.

Dependencies: base

Attribution: Rowan Coleman

azure

  • Version: 1.0

Generics

Resource

  • Label: Azure
  • Include in Menu:

Attributes

namekind
nameText

Relationships

namecardinalitykindpeeroptional
locationoneAttributeAzureLocation
resourcegrouponeParentAzureResourceGroupFalse

Nodes

Location

  • Menu Placement: AzureResource
  • Include in Menu:

Attributes

namekind
nameText

Tenant

  • Menu Placement: AzureResource
  • Include in Menu:

Attributes

namekind
nameText
tenant_idText

Relationships

namecardinalitypeerkind
subscriptionsmanyAzureSubscriptionComponent

Subscription

  • Menu Placement: AzureResource
  • Include in Menu:

Attributes

namekind
nameText
subscription_idText

Relationships

namecardinalitypeerkindoptional
tenantoneAzureTenantParentFalse
resourcegroupsmanyAzureResourceGroupComponent

ResourceGroup

  • Menu Placement: AzureResource
  • Include in Menu:

Attributes

namekind
nameText

Relationships

namecardinalitykindpeeroptional
locationoneAttributeAzureLocation
subscriptiononeParentAzureSubscriptionFalse

VirtualNetwork

  • Label: Virtual Networks
  • Menu Placement: AzureResource
  • Include in Menu:

Relationships

namecardinalitykindpeer
address_spacemanyAttributeBuiltinIPPrefix
subnetsmanyComponentAzureVirtualNetworkSubnet

VirtualNetworkSubnet

  • Label: Subnets
  • Menu Placement: AzureResource
  • Include in Menu:

Attributes

namekind
nameText

Relationships

namecardinalitypeerkindoptional
virtualnetworkoneAzureVirtualNetworkParentFalse
address_prefixesmanyBuiltinIPPrefixAttribute

Tenancy

This schema extension introduces tenancy for some of the schema nodes (circuits...)

Dependencies: base, extensions.circuit, experimental.location_extended

tenancy

  • Version: 1.0

Nodes

Tenant

  • Description: A tenant is owning the corresponding entity
  • Icon: mdi:domain
  • Include in Menu:

Relationships

namepeercardinalitykindoptionalorder_weight
tagsBuiltinTagmanyAttributeTrue3000
locationLocationBuildingmanyTrue
circuitDcimCircuitmanyTrue

Quality of Service (QoS)

This schema extension contains models for Quality of Service (QoS)

qos

  • Version: 1.0

Nodes

ForwardingClass

  • Description: Represents a forwarding class in QoS with distinct loss priorities.
  • Label: Forwarding Class
  • Menu Placement: QosClassOfService
  • Include in Menu:

Ordering and Constraints

  • **Order By:**name__value
  • **Uniqueness Constraints:**name__value

Attributes

namekinddescriptionuniqueorder_weightoptional
nameTextName of the forwarding class.True1000
high_loss_priority_codeListList of code points for high loss priority.1200True
low_loss_priority_codeListList of code points for low loss priority.1300True

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

namekinddescriptionuniqueorder_weight
nameTextName of the Class of Service.True1000

Relationships

namepeerdescriptioncardinalityoptionalorder_weight
traffic_control_profilesQosTrafficControlProfileList of traffic control profiles.manyTrue1200

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

namekinddescriptionuniqueorder_weightchoicesdefault_value
nameTextName of the traffic control profile.True1000``
statusDropdownStatus 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

namekinddescriptionuniqueorder_weightchoices
nameTextName of the classifier.True1000``
classifier_typeDropdownType of classifier (DSCP, EXP, etc.).1200`dscp, exp, dscp-ipv6`

Relationships

namepeerdescriptioncardinalityoptionalorder_weight
forwarding_classesQosForwardingClassList of forwarding classes defined in the classifier.manyTrue1300

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

namekinddescriptionuniqueorder_weightlabelchoicesoptional
nameTextName of the scheduler.True1000``
transmit_rateNumberTransmit rate in percentage.1200Transmit Rate (%)``
buffer_sizeNumberBuffer size in percentage.1300Buffer Size (%)``
priorityDropdownPriority of the scheduler.1400`low, high, strict-high`True
excess_priorityDropdownExcess 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

namekinddescriptionuniqueorder_weight
nameTextName of the scheduler map.True1000

Relationships

namepeerdescriptioncardinalityoptionalorder_weight
schedulersQosSchedulerList of schedulers defined in the map.manyTrue1200
forwarding_classesQosForwardingClassList of forwarding classes associated with schedulers.manyTrue1300

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

  • Version: 1.0

Nodes

Service

  • Description: Represent the boundary of a provider network, the details of which are unknown or unimportant
  • Label: Circuit Service
  • Icon: mdi:cloud
  • Menu Placement: DcimCircuit
  • Include in Menu:

Ordering and Constraints

  • **Order By:**name__value
  • Uniqueness Constraints:

Attributes

namekinduniqueoptional
nameTextTrue
service_idTextTrue
descriptionTextTrue

Relationships

namepeeroptionalcardinalitykind
providerOrganizationProviderFalseoneAttribute
circuit_endpointsCircuitEndpointTruemanyComponent

Extensions

OrganizationProvider

Relationships

namepeercardinalityoptional
circuit_servicesCircuitServicemanyTrue

CircuitEndpoint

Relationships

namepeercardinalityoptional
circuit_serviceCircuitServiceoneTrue

VLAN Translation

This schema extension is based on Juniper VLAN MAP, and not yet test out for other vendors.

Dependencies: base.dcim

vlan-translation

  • Version: 1.0

Nodes

MapInOut

  • Description: VLAN Mapping for In/Out operations
  • Label: VLAN Map In/Out
  • Icon: ph:swap
  • Menu Placement: DcimInterface
  • Include in Menu:

Ordering and Constraints

  • **Order By:**interface__name__value, direction__value, operation__value
  • **Uniqueness Constraints:**interface + direction__value

Attributes

namekinddescriptionlabelorder_weightchoicesoptional
directionDropdownDirection of the mappingMap Direction1050`input, output`True
operationDropdownOperation typeMap Operation1100`pop, pop_pop, pop_swap, push, push_push, swap, swap_push, swap_swap`True
vlan_id_swapNumberVLAN ID to swap to during SWAP operationsVLAN ID Swap1200``True
inner_vlan_idNumberInner VLAN ID for operations involving double VLAN tagsInner VLAN ID1300``True
inner_tag_protocol_idNumberInner tag protocol ID (TPID)Inner Tag Protocol ID1400``True
tag_protocol_idNumberTag protocol ID (TPID) for outer VLAN operationsTag Protocol ID1500``True

Relationships

namekindpeerdescriptioncardinalityoptionallabelorder_weight
interfaceParentDcimInterfaceInterface to which the Input/Output VLAN mapping is appliedoneFalseInterface1000

Extensions

DcimInterface

Relationships

namekindpeerdescriptioncardinalitylabelorder_weight
network_mapsComponentNetworkMapInOutInterface Input/Output VLAN mappingmanyInput/Output MAP1600