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