Skip to main content

DCIM

Basic DCIM schema to capture devices, racks, interfaces, and related information.

Details

  • Dependencies: No dependencies

Nodes

DeviceType

  • Label: Device Type
  • Description: A model of device
  • Namespace: Dcim
  • Icon: mdi:poll
  • Human Friendly ID: name__value

Attributes

namedescriptionkindoptionaldefault_valuechoices
nameText
descriptionTextTrue
part_numberTextTrue
heightNumberFalse1
full_depthBooleanTrue
weightNumberTrue

Relationships

namepeeroptionalcardinalitykind
manufacturerOrganizationManufacturerFalseoneAttribute

Platform

  • Label: Platform
  • Description: A Platform represent the type of software running on a device.
  • Namespace: Dcim
  • Icon: mdi:application-cog-outline
  • Human Friendly ID: name__value

Attributes

namedescriptionkindoptionaldefault_valuechoices
nameText
descriptionTextTrue

Relationships

namepeeroptionalcardinalitykind
devicesDcimGenericDeviceTruemanyGeneric
manufacturerOrganizationManufactureroneAttribute

Device

  • Label: Network Device
  • Description: A configurable network device including routers, switches...
  • Namespace: Dcim
  • Icon: clarity:network-switch-solid
  • Inherit From: CoreArtifactTarget, DcimGenericDevice, DcimPhysicalDevice

Attributes

namedescriptionkindoptionaldefault_valuechoices
statusDropdownFalseactiveactive, reserved, provisioning, maintenance, deprecated
roleDropdownTruecore, edge, cpe, spine, leaf, tor

Physical

  • Label: Physical Interface
  • Description: Physical network port on a device
  • Namespace: Interface
  • Inherit From: DcimInterface, InterfaceLayer2, InterfaceLayer3, DcimEndpoint, InterfaceHasSubInterface

Attributes

namedescriptionkindoptionaldefault_valuechoices
mtuNumber1500

Virtual

  • Label: Virtual Interface
  • Description: Virtual interface like VLAN or Loopback
  • Namespace: Interface
  • Inherit From: DcimInterface, InterfaceLayer2, InterfaceLayer3

Relationships

namepeeroptionalcardinalitykind
parent_interfaceInterfaceHasSubInterfaceoneAttribute

Generics

GenericDevice

  • Label: Device
  • Description: Generic Device object.
  • Namespace: Dcim
  • Icon: mdi:server
  • Human Friendly ID: name__value

Attributes

namedescriptionkindoptionaldefault_valuechoices
nameText
descriptionTextTrue

Relationships

namepeeroptionalcardinalitykind
interfacesDcimInterfaceTruemanyComponent
tagsBuiltinTagTruemanyAttribute
primary_addressIpamIPAddressTrueoneAttribute
platformDcimPlatformTrueoneAttribute

PhysicalDevice

  • Description: Generic holding attributes and relationships relevant for physical device.
  • Namespace: Dcim

Attributes

namedescriptionkindoptionaldefault_valuechoices
nameText
positionLowest unit.NumberTrue
serialTextTrue
rack_faceOn which face of the rack the device is mounted.DropdownFalsefrontfront, rear

Relationships

namepeeroptionalcardinalitykind
device_typeDcimDeviceTypeTrueoneAttribute
locationLocationHostingFalseoneAttribute

Endpoint

  • Description: Generic Endpoint to receive a connector.
  • Namespace: Dcim

Relationships

namepeeroptionalcardinalitykind
connectorDcimConnectorTrueoneAttribute

Connector

  • Description: Generic Connector to link two endpoints together.
  • Namespace: Dcim

Relationships

namepeeroptionalcardinalitykind
connected_endpointsDcimEndpointTruemanyAttribute

Interface

  • Label: Interface
  • Description: Generic Network Interface
  • Namespace: Dcim
  • Icon: mdi:ethernet
  • Uniqueness Constraints:
    • device, name__value
  • Human Friendly ID: device__name__value, name__value

Attributes

namedescriptionkindoptionaldefault_valuechoices
nameName of the interfaceText
descriptionA brief description of the interfaceTextTrue
statusThe status of the interfaceDropdownFalseactiveprovisioning, free, active, maintenance, disabled
roleThe role of the interface in the networkDropdownTruecore, customer, access, management, peering, upstream

Relationships

namepeeroptionalcardinalitykind
deviceDcimGenericDeviceFalseoneParent

Layer2

  • Label: Layer 2 Interface
  • Description: Layer 2 specific attributes for network interfaces
  • Namespace: Interface

Attributes

namedescriptionkindoptionaldefault_valuechoices
mac_addressMacAddressTrue
l2_modeLayer 2 mode of the interfaceDropdownTrueaccess, trunk, trunk_all

Layer3

  • Label: Layer 3 Interface
  • Description: Layer 3 specific attributes for network interfaces
  • Namespace: Interface

Relationships

namepeeroptionalcardinalitykind
ip_addressesIpamIPAddressTruemanyAttribute

HasSubInterface

  • Description: A generic interface that can have sub-interfaces
  • Namespace: Interface

Relationships

namepeeroptionalcardinalitykind
sub_interfacesInterfaceVirtualTruemanyAttribute

Code

version: '1.0'
generics:
- name: GenericDevice
namespace: Dcim
description: Generic Device object.
label: Device
icon: mdi:server
include_in_menu: false
human_friendly_id:
- name__value
order_by:
- name__value
display_label: name__value
attributes:
- name: name
kind: Text
unique: true
order_weight: 1000
- name: description
kind: Text
optional: true
order_weight: 2000
relationships:
- name: interfaces
peer: DcimInterface
optional: true
cardinality: many
identifier: device__interface
kind: Component
- name: tags
peer: BuiltinTag
optional: true
cardinality: many
kind: Attribute
order_weight: 2000
- name: primary_address
peer: IpamIPAddress
label: Primary IP Address
identifier: device__primary_address
optional: true
cardinality: one
kind: Attribute
order_weight: 1700
- name: platform
peer: DcimPlatform
optional: true
cardinality: one
kind: Attribute
order_weight: 1250
identifier: device__platform
- name: PhysicalDevice
namespace: Dcim
description: Generic holding attributes and relationships relevant for physical
device.
include_in_menu: false
attributes:
- name: name
kind: Text
unique: true
allow_override: any
- name: position
label: Position (U)
description: Lowest unit.
kind: Number
optional: true
order_weight: 1500
- name: serial
kind: Text
optional: true
order_weight: 1500
- name: rack_face
label: Rack Face
description: On which face of the rack the device is mounted.
kind: Dropdown
optional: false
default_value: front
order_weight: 1515
choices:
- name: front
label: Front
description: Device mounted on the front face of the rack.
- name: rear
label: Rear
description: Device mounted on the rear face of the rack.
relationships:
- name: device_type
peer: DcimDeviceType
optional: true
cardinality: one
kind: Attribute
order_weight: 1200
- name: location
label: Location
peer: LocationHosting
optional: false
cardinality: one
kind: Attribute
order_weight: 1500
identifier: physical_device__location
- name: Endpoint
namespace: Dcim
description: Generic Endpoint to receive a connector.
include_in_menu: false
relationships:
- name: connector
peer: DcimConnector
optional: true
cardinality: one
order_weight: 1500
kind: Attribute
identifier: connector__endpoint
- name: Connector
namespace: Dcim
description: Generic Connector to link two endpoints together.
include_in_menu: false
relationships:
- name: connected_endpoints
peer: DcimEndpoint
optional: true
cardinality: many
order_weight: 1500
kind: Attribute
identifier: connector__endpoint
- name: Interface
namespace: Dcim
description: Generic Network Interface
label: Interface
icon: mdi:ethernet
include_in_menu: true
menu_placement: DcimDevice
display_label: name__value
order_by:
- device__name__value
- name__value
uniqueness_constraints:
- - device
- name__value
human_friendly_id:
- device__name__value
- name__value
attributes:
- name: name
kind: Text
description: Name of the interface
order_weight: 1000
- name: description
kind: Text
optional: true
description: A brief description of the interface
order_weight: 1100
- name: status
kind: Dropdown
description: The status of the interface
optional: false
default_value: active
choices:
- name: provisioning
label: Provisioning
description: Interface is being provisioned.
color: '#f0ad4e'
- name: free
label: Free
description: Interface is unused.
color: '#c8e6c9'
- name: active
label: Active
description: Interface is active and operational.
color: '#00d25b'
- name: maintenance
label: Maintenance
description: Interface is under maintenance.
color: '#ff9800'
- name: disabled
label: Disabled
description: Interface has been disabled.
color: '#6c757d'
order_weight: 1200
- name: role
kind: Dropdown
optional: true
description: The role of the interface in the network
choices:
- name: core
label: Core Interface
description: Central part of the network.
color: '#A9CCE3'
- name: customer
label: Customer Interface
description: Interface dedicated to customer connections.
color: '#D2B4DE'
- name: access
label: Access Interfaces
description: Interface connecting endpoint devices.
color: '#B4E0DC'
- name: management
label: Management Interface
description: Interface dedicated to device management.
color: '#E3DAC9'
- name: peering
label: Peering Interface
description: Interface dedicated to peering with other networks.
color: '#C4B7E6'
- name: upstream
label: Upstream Interface
description: Interface dedicated to upstream traffic between networks.
color: '#B2D4E6'
order_weight: 1250
relationships:
- name: device
peer: DcimGenericDevice
identifier: device__interface
optional: false
cardinality: one
kind: Parent
order_weight: 1025
- name: Layer2
namespace: Interface
include_in_menu: false
description: Layer 2 specific attributes for network interfaces
label: Layer 2 Interface
attributes:
- name: mac_address
label: MAC Address
kind: MacAddress
optional: true
order_weight: 1400
- name: l2_mode
label: Layer2 Mode
kind: Dropdown
optional: true
choices:
- name: access
label: Access
description: Access mode
- name: trunk
label: Trunk
description: Trunk mode
- name: trunk_all
label: Trunk (All)
description: Trunk all mode
description: Layer 2 mode of the interface
order_weight: 1500
- name: Layer3
namespace: Interface
include_in_menu: false
description: Layer 3 specific attributes for network interfaces
label: Layer 3 Interface
relationships:
- name: ip_addresses
label: IP Addresses
peer: IpamIPAddress
identifier: ip_address__interface
cardinality: many
kind: Attribute
optional: true
description: List of IP addresses associated with the interface
order_weight: 1150
- name: HasSubInterface
namespace: Interface
description: A generic interface that can have sub-interfaces
include_in_menu: false
relationships:
- name: sub_interfaces
label: Sub-interface(s)
peer: InterfaceVirtual
identifier: sub__interface
optional: true
cardinality: many
kind: Attribute
description: Sub-interfaces of this interface
order_weight: 1750
nodes:
- name: DeviceType
namespace: Dcim
description: A model of device
label: Device Type
icon: mdi:poll
menu_placement: DcimDevice
human_friendly_id:
- name__value
display_label: name__value
order_by:
- manufacturer__name__value
- name__value
attributes:
- name: name
kind: Text
unique: true
order_weight: 1000
- name: description
kind: Text
optional: true
order_weight: 1100
- name: part_number
label: Part Number
optional: true
kind: Text
order_weight: 1200
- name: height
label: Height (U)
optional: false
default_value: 1
kind: Number
order_weight: 1400
- name: full_depth
label: Full Depth
default_value: true
kind: Boolean
order_weight: 1500
- name: weight
label: Weight (kg)
optional: true
kind: Number
order_weight: 1600
relationships:
- name: manufacturer
peer: OrganizationManufacturer
cardinality: one
kind: Attribute
order_weight: 1250
optional: false
identifier: manufacturer__device_type
- name: Platform
namespace: Dcim
description: A Platform represent the type of software running on a device.
label: Platform
icon: mdi:application-cog-outline
menu_placement: DcimDevice
human_friendly_id:
- name__value
display_label: name__value
order_by:
- manufacturer__name__value
- name__value
attributes:
- name: name
kind: Text
unique: true
order_weight: 1000
- name: description
kind: Text
optional: true
order_weight: 1200
relationships:
- name: devices
peer: DcimGenericDevice
optional: true
cardinality: many
kind: Generic
order_weight: 1350
identifier: device__platform
- name: manufacturer
peer: OrganizationManufacturer
cardinality: one
kind: Attribute
order_weight: 1300
identifier: manufacturer__platform
- name: Device
label: Network Device
description: A configurable network device including routers, switches...
icon: clarity:network-switch-solid
generate_template: true
namespace: Dcim
inherit_from:
- CoreArtifactTarget
- DcimGenericDevice
- DcimPhysicalDevice
attributes:
- name: status
kind: Dropdown
optional: false
default_value: active
order_weight: 1100
choices:
- name: active
label: Active
description: Fully operational and currently in service.
color: '#00d25b'
- name: reserved
label: Reserved
description: Reserved for future use, not yet active.
color: '#4d90fe'
- name: provisioning
label: Provisioning
description: In the process of being set up and configured.
color: '#f0ad4e'
- name: maintenance
label: Maintenance
description: Undergoing routine maintenance or repairs.
color: '#ff9800'
- name: deprecated
label: Deprecated
description: No longer in use and scheduled for removal.
color: '#e04040'
- name: role
kind: Dropdown
optional: true
order_weight: 1400
choices:
- name: core
label: Core Router
description: Central part of the network.
color: '#7f7fff'
- name: edge
label: Edge Router
description: Network boundary with external networks.
color: '#bf7fbf'
- name: cpe
label: Customer Premise Equipment
description: Devices located at the customer's premises.
color: '#bf7f7f'
- name: spine
label: Spine Router
description: Aggregation router part of a Fabric.
color: '#aeeeee'
- name: leaf
label: Leaf Switch
description: Top of Rack part of a Fabric.
color: '#e6e6fa'
- name: tor
label: Tor Switch
description: Tor switch part of a Fabric.
color: '#e8e7fd'
- name: Physical
namespace: Interface
label: Physical Interface
description: Physical network port on a device
inherit_from:
- DcimInterface
- InterfaceLayer2
- InterfaceLayer3
- DcimEndpoint
- InterfaceHasSubInterface
include_in_menu: false
attributes:
- name: mtu
label: MTU
kind: Number
default_value: 1500
order_weight: 1300
- name: Virtual
namespace: Interface
label: Virtual Interface
description: Virtual interface like VLAN or Loopback
inherit_from:
- DcimInterface
- InterfaceLayer2
- InterfaceLayer3
include_in_menu: false
relationships:
- name: parent_interface
peer: InterfaceHasSubInterface
cardinality: one
kind: Attribute
identifier: sub__interface
description: Parent interface to which this sub-interface belongs