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
nameTextFalse
descriptionTextTrue
part_numberTextTrue
heightNumberFalse1
full_depthBooleanFalseTrue
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
nameTextFalse
descriptionTextTrue

Relationships

namepeeroptionalcardinalitykind
devicesDcimGenericDeviceTruemanyGeneric
manufacturerOrganizationManufacturerTrueoneAttribute

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

Virtual

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

Relationships

namepeeroptionalcardinalitykind
parent_interfaceInterfaceHasSubInterfaceTrueoneAttribute

Generics

GenericDevice

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

Attributes

namedescriptionkindoptionaldefault_valuechoices
nameTextFalse
descriptionTextTrue

Relationships

namepeeroptionalcardinalitykind
interfacesDcimInterfaceTruemanyComponent
tagsBuiltinTagTruemanyAttribute
primary_addressIpamIPAddressTrueoneAttribute
platformDcimPlatformTrueoneAttribute

PhysicalDevice

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

Attributes

namedescriptionkindoptionaldefault_valuechoices
nameTextFalse
positionLowest unit.NumberTrue
serial_numberTextTrue
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 interfaceTextFalse
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
mtuMaximum transmission unit, in bytes (IP payload, not frame size).NumberTrue1500

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
optional: false
order_weight: 1000
- name: description
kind: Text
optional: true
order_weight: 1100
relationships:
- name: interfaces
peer: DcimInterface
kind: Component
cardinality: many
optional: true
identifier: device__interface
order_weight: 1650
- name: tags
peer: BuiltinTag
kind: Attribute
cardinality: many
optional: true
order_weight: 2000
- name: primary_address
peer: IpamIPAddress
label: Primary IP Address
kind: Attribute
cardinality: one
optional: true
identifier: device__primary_address
order_weight: 1700
- name: platform
peer: DcimPlatform
kind: Attribute
cardinality: one
optional: true
identifier: device__platform
order_weight: 1250
- 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
optional: false
order_weight: 1000
- name: position
kind: Number
label: Position (U)
optional: true
description: Lowest unit.
order_weight: 1550
- name: serial_number
kind: Text
optional: true
order_weight: 1400
- name: rack_face
kind: Dropdown
label: Rack Face
default_value: front
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.
optional: false
description: On which face of the rack the device is mounted.
order_weight: 1600
relationships:
- name: device_type
peer: DcimDeviceType
kind: Attribute
cardinality: one
optional: true
order_weight: 1150
- name: location
peer: LocationHosting
label: Location
kind: Attribute
cardinality: one
optional: false
identifier: physical_device__location
order_weight: 1500
- name: Endpoint
namespace: Dcim
description: Generic Endpoint to receive a connector.
include_in_menu: false
relationships:
- name: connector
peer: DcimConnector
kind: Attribute
cardinality: one
optional: true
identifier: connector__endpoint
order_weight: 1600
- name: Connector
namespace: Dcim
description: Generic Connector to link two endpoints together.
include_in_menu: false
relationships:
- name: connected_endpoints
peer: DcimEndpoint
kind: Attribute
cardinality: many
optional: true
identifier: connector__endpoint
order_weight: 1500
- name: Interface
namespace: Dcim
description: Generic Network Interface
label: Interface
icon: mdi:ethernet
include_in_menu: true
menu_placement: DcimDevice
human_friendly_id:
- device__name__value
- name__value
order_by:
- device__name__value
- name__value
display_label: name__value
uniqueness_constraints:
- - device
- name__value
attributes:
- name: name
kind: Text
optional: false
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
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'
optional: false
description: The status of the interface
order_weight: 1200
- name: role
kind: Dropdown
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'
optional: true
description: The role of the interface in the network
order_weight: 1300
- name: mtu
kind: Number
label: MTU
default_value: 1500
optional: true
description: Maximum transmission unit, in bytes (IP payload, not frame size).
order_weight: 1350
relationships:
- name: device
peer: DcimGenericDevice
kind: Parent
cardinality: one
optional: false
identifier: device__interface
order_weight: 900
- name: Layer2
namespace: Interface
description: Layer 2 specific attributes for network interfaces
label: Layer 2 Interface
include_in_menu: false
attributes:
- name: mac_address
kind: MacAddress
label: MAC Address
optional: true
order_weight: 1400
- name: l2_mode
kind: Dropdown
label: Layer2 Mode
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
optional: true
description: Layer 2 mode of the interface
order_weight: 1450
- name: Layer3
namespace: Interface
description: Layer 3 specific attributes for network interfaces
label: Layer 3 Interface
include_in_menu: false
relationships:
- name: ip_addresses
peer: IpamIPAddress
label: IP Addresses
kind: Attribute
cardinality: many
optional: true
identifier: ip_address__interface
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
peer: InterfaceVirtual
label: Sub-interface(s)
kind: Attribute
cardinality: many
optional: true
identifier: sub__interface
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
include_in_menu: true
menu_placement: DcimDevice
human_friendly_id:
- name__value
order_by:
- manufacturer__name__value
- name__value
display_label: name__value
attributes:
- name: name
kind: Text
unique: true
optional: false
order_weight: 1000
- name: description
kind: Text
optional: true
order_weight: 1100
- name: part_number
kind: Text
label: Part Number
optional: true
order_weight: 1200
- name: height
kind: Number
label: Height (U)
default_value: 1
optional: false
order_weight: 1400
- name: full_depth
kind: Boolean
label: Full Depth
default_value: true
optional: false
order_weight: 1500
- name: weight
kind: Number
label: Weight (kg)
optional: true
order_weight: 1600
relationships:
- name: manufacturer
peer: OrganizationManufacturer
kind: Attribute
cardinality: one
optional: false
identifier: manufacturer__device_type
order_weight: 1250
- name: Platform
namespace: Dcim
description: A Platform represent the type of software running on a device.
label: Platform
icon: mdi:application-cog-outline
include_in_menu: true
menu_placement: DcimDevice
human_friendly_id:
- name__value
order_by:
- manufacturer__name__value
- name__value
display_label: name__value
attributes:
- name: name
kind: Text
unique: true
optional: false
order_weight: 1000
- name: description
kind: Text
optional: true
order_weight: 1100
relationships:
- name: devices
peer: DcimGenericDevice
kind: Generic
cardinality: many
optional: true
identifier: device__platform
order_weight: 1350
- name: manufacturer
peer: OrganizationManufacturer
kind: Attribute
cardinality: one
identifier: manufacturer__platform
optional: true
order_weight: 1300
- name: Device
namespace: Dcim
description: A configurable network device including routers, switches...
label: Network Device
icon: clarity:network-switch-solid
include_in_menu: true
inherit_from:
- CoreArtifactTarget
- DcimGenericDevice
- DcimPhysicalDevice
generate_template: true
attributes:
- name: status
kind: Dropdown
default_value: active
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'
optional: false
order_weight: 1200
- name: role
kind: Dropdown
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'
optional: true
order_weight: 1300
- name: Physical
namespace: Interface
description: Physical network port on a device
label: Physical Interface
include_in_menu: false
inherit_from:
- DcimInterface
- InterfaceLayer2
- InterfaceLayer3
- DcimEndpoint
- InterfaceHasSubInterface
- name: Virtual
namespace: Interface
description: Virtual interface like VLAN or Loopback
label: Virtual Interface
include_in_menu: false
inherit_from:
- DcimInterface
- InterfaceLayer2
- InterfaceLayer3
relationships:
- name: parent_interface
peer: InterfaceHasSubInterface
kind: Attribute
cardinality: one
identifier: sub__interface
optional: true
description: Parent interface to which this sub-interface belongs
order_weight: 1600