version: '1.0'
generics:
- name: VLANGroupScope
namespace: Ipam
include_in_menu: false
- name: PrefixScope
namespace: Ipam
description: Mixin for objects that can scope IP prefixes (e.g. Region, Site, VRF).
include_in_menu: false
relationships:
- name: prefixes
peer: IpamPrefix
identifier: prefix__prefix_scope
cardinality: many
optional: true
kind: Generic
nodes:
- name: Prefix
namespace: Ipam
description: IPv4 or IPv6 network (with mask)
include_in_menu: false
icon: mdi:ip-network
label: Prefix
order_by:
- prefix__value
display_label: prefix__value
inherit_from:
- BuiltinIPPrefix
uniqueness_constraints:
- - prefix__value
- ip_namespace
human_friendly_id:
- ip_namespace__name__value
- prefix__value
attributes:
- name: status
kind: Dropdown
optional: false
default_value: active
order_weight: 1100
choices:
- name: active
label: Active
color: '#00d25b'
- name: deprecated
label: Deprecated
color: '#e04040'
- name: reserved
label: Reserved
color: '#4d90fe'
- name: description
kind: Text
optional: true
order_weight: 1150
- name: role
kind: Dropdown
optional: true
order_weight: 1200
choices:
- name: management
label: Management
description: Out-of-band management network.
color: '#AEC6CF'
- name: link
label: Link
description: Point-to-point links between devices.
color: '#FDFD96'
- name: customer
label: Customer
description: Prefixes assigned to customers.
color: '#77DD77'
- name: supernet
label: Supernet
description: Aggregate covering multiple sub-prefixes.
color: '#CDB4DB'
- name: backbone
label: Backbone
description: Core network infrastructure prefixes.
color: '#AEC6CF'
relationships:
- name: scope
peer: IpamPrefixScope
optional: true
identifier: prefix__prefix_scope
cardinality: one
kind: Attribute
order_weight: 1300
- name: IPAddress
namespace: Ipam
description: IP Address
include_in_menu: false
label: IP Address
icon: mdi:ip
order_by:
- address__value
display_label: address__value
inherit_from:
- BuiltinIPAddress
uniqueness_constraints:
- - address__value
- ip_namespace
human_friendly_id:
- ip_namespace__name__value
- address__value
attributes:
- name: description
kind: Text
optional: true
order_weight: 1050
- name: status
kind: Dropdown
optional: false
default_value: active
order_weight: 1100
choices:
- name: active
label: Active
color: '#00d25b'
- name: reserved
label: Reserved
color: '#4d90fe'
- name: deprecated
label: Deprecated
color: '#e04040'
- name: role
kind: Dropdown
optional: true
order_weight: 1150
choices:
- name: loopback
label: Loopback
color: '#B0A8B9'
- name: secondary
label: Secondary
color: '#AEC6CF'
- name: anycast
label: Anycast
color: '#FDFD96'
- name: fqdn
label: FQDN
kind: Text
optional: true
order_weight: 1200
regex: (?=^.{1,253}$)(^(((?!-)[a-zA-Z0-9-]{1,63}(?<!-))|((?!-)[a-zA-Z0-9-]{1,63}(?<!-)\.)+[a-zA-Z]{2,63})$)
relationships:
- name: primary_of
label: Primary Address Of
peer: DcimGenericDevice
identifier: device__primary_address
optional: true
cardinality: many
kind: Attribute
order_weight: 1250
- name: interface
peer: InterfaceLayer3
optional: true
cardinality: one
identifier: ip_address__interface