Skip to main content

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.

Details

Nodes

Circuit

  • Label: Circuit
  • Description: A Circuit represent service operated by a provider.
  • Namespace: Dcim
  • Icon: mdi:cable-data
  • Human Friendly ID: circuit_id__value

Attributes

namedescriptionkindoptionaldefault_valuechoices
circuit_idText
descriptionTextTrue
commit_rateNumberTrue
circuit_typeSpecifies the type of circuit.DropdownTrueinternet_access, point_to_point, peering, dark_fiber, mpls
statusDropdownFalseactiveactive, provisioning, maintenance, drained

Relationships

namepeeroptionalcardinalitykind
providerOrganizationProviderFalseoneAttribute
endpointsDcimCircuitEndpointTruemanyComponent

CircuitEndpoint

  • Label: Circuit Endpoint
  • Description: A circuit endpoint, could be a position in a MMR...
  • Namespace: Dcim
  • Icon: mdi:ethernet
  • Uniqueness Constraints:
    • circuit, side__value
  • Human Friendly ID: circuit__circuit_id__value, name__value
  • Inherit From: DcimEndpoint

Attributes

namedescriptionkindoptionaldefault_valuechoices
sideDropdownFalsea, z
nameTextFalse
statusDropdownFalseactiveactive, provisioning, maintenance, drained
descriptionTextTrue

Relationships

namepeeroptionalcardinalitykind
circuitDcimCircuitFalseoneParent
locationLocationHostingFalseoneAttribute

Extensions

note

In this context "extensions" refer to modifications or additions to the existing schema, such as adding new attributes, relationships, or other schema elements.

OrganizationProvider

Relationships

namepeeroptionalcardinalitykind
circuitsDcimCircuitTruemany

LocationHosting

Relationships

namepeeroptionalcardinalitykind
circuit_endpointsDcimCircuitEndpointTruemany

Code

version: '1.0'
nodes:
- name: Circuit
namespace: Dcim
description: A Circuit represent service operated by a provider.
label: Circuit
icon: mdi:cable-data
human_friendly_id:
- circuit_id__value
order_by:
- circuit_id__value
display_label: circuit_id__value
attributes:
- name: circuit_id
kind: Text
unique: true
- name: description
kind: Text
optional: true
- name: commit_rate
label: Commit Rate (Kbps)
kind: Number
optional: true
order_weight: 1100
- name: circuit_type
kind: Dropdown
optional: true
description: Specifies the type of circuit.
choices:
- name: internet_access
label: Internet Access
description: Broadband or dedicated internet access circuit.
color: '#1e90ff'
- name: point_to_point
label: Point to Point
description: Dedicated layer 2 or layer 3 link between two sites.
color: '#a0c878'
- name: peering
label: Peering
description: Connection to another network for exchange of traffic.
color: '#20b2aa'
- name: dark_fiber
label: Dark Fiber
description: Leased, unlit fiber managed and operated by the customer.
color: '#555555'
- name: mpls
label: MPLS
description: Multi-Protocol Label Switching circuit for QoS-based routing.
color: '#7f00ff'
- name: status
kind: Dropdown
optional: false
default_value: active
choices:
- name: active
label: Active
description: Fully operational and currently in service.
color: '#00d25b'
- 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: drained
label: Drained
description: Temporarily taken out of service.
color: '#9e9e9e'
relationships:
- name: provider
peer: OrganizationProvider
optional: false
cardinality: one
kind: Attribute
identifier: circuit__provider
- name: endpoints
peer: DcimCircuitEndpoint
optional: true
cardinality: many
kind: Component
identifier: circuit__endpoint
- name: CircuitEndpoint
namespace: Dcim
description: A circuit endpoint, could be a position in a MMR...
label: Circuit Endpoint
inherit_from:
- DcimEndpoint
icon: mdi:ethernet
menu_placement: DcimCircuit
human_friendly_id:
- circuit__circuit_id__value
- name__value
uniqueness_constraints:
- - circuit
- side__value
order_by:
- name__value
display_label: name__value
attributes:
- name: side
label: Side
kind: Dropdown
optional: false
order_weight: 950
choices:
- name: a
label: A
description: A-side of the circuit.
- name: z
label: Z
description: Z-side of the circuit.
- name: name
kind: Text
computed_attribute:
kind: Jinja2
jinja2_template: '{{ circuit__circuit_id__value }}_{{ side__value | upper }}'
read_only: true
optional: false
order_weight: 1000
- name: status
kind: Dropdown
optional: false
default_value: active
choices:
- name: active
label: Active
description: Fully operational and currently in service.
color: '#00d25b'
- 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: drained
label: Drained
description: Temporarily taken out of service.
color: '#9e9e9e'
- name: description
kind: Text
optional: true
relationships:
- name: circuit
peer: DcimCircuit
order_weight: 900
optional: false
cardinality: one
kind: Parent
identifier: circuit__endpoint
- name: location
label: Location
peer: LocationHosting
optional: false
cardinality: one
kind: Attribute
order_weight: 1500
identifier: circuit_endpoint__location
extensions:
nodes:
- kind: OrganizationProvider
relationships:
- name: circuits
peer: DcimCircuit
cardinality: many
optional: true
identifier: circuit__provider
- kind: LocationHosting
relationships:
- name: circuit_endpoints
peer: DcimCircuitEndpoint
cardinality: many
optional: true
identifier: circuit_endpoint__location