Skip to main content

IPAM

Basic IPAM schema to capture IP addresses, subnets, and related information.

Details

  • Dependencies: No dependencies

Nodes

Prefix

  • Label: Prefix
  • Description: IPv4 or IPv6 network (with mask)
  • Namespace: Ipam
  • Icon: mdi:ip-network
  • Uniqueness Constraints:
    • ip_namespace, prefix__value
  • Human Friendly ID: ip_namespace__name__value, prefix__value
  • Inherit From: BuiltinIPPrefix

Attributes

namedescriptionkindoptionaldefault_valuechoices
statusDropdownFalseactiveactive, reserved, deprecated
descriptionTextTrue
roleDropdownTruemanagement, link, customer, supernet, backbone

Relationships

namepeeroptionalcardinalitykind
scopeIpamPrefixScopeTrueoneAttribute

IPAddress

  • Label: IP Address
  • Description: IP Address
  • Namespace: Ipam
  • Icon: mdi:ip
  • Uniqueness Constraints:
    • ip_namespace, address__value
  • Human Friendly ID: ip_namespace__name__value, address__value
  • Inherit From: BuiltinIPAddress

Attributes

namedescriptionkindoptionaldefault_valuechoices
descriptionTextTrue
statusDropdownFalseactiveactive, reserved, deprecated
roleDropdownTrueloopback, secondary, anycast
fqdnTextTrue

Relationships

namepeeroptionalcardinalitykind
primary_ofDcimGenericDeviceTruemanyAttribute
interfaceInterfaceLayer3TrueoneAttribute

Generics

VLANGroupScope

  • Label: VLAN Group Scope
  • Description: Mixin for objects that can scope a VLAN group (e.g. Region, Site). The reverse relationship is added by extensions/vlan.
  • Namespace: Ipam

PrefixScope

  • Label: Prefix Scope
  • Description: Mixin for objects that can scope IP prefixes (e.g. Region, Site).
  • Namespace: Ipam

Relationships

namepeeroptionalcardinalitykind
prefixesIpamPrefixTruemanyGeneric

Code

version: '1.0'
generics:
- name: VLANGroupScope
namespace: Ipam
label: VLAN Group Scope
description: Mixin for objects that can scope a VLAN group (e.g. Region, Site).
The reverse relationship is added by extensions/vlan.
include_in_menu: false
- name: PrefixScope
namespace: Ipam
label: Prefix Scope
description: Mixin for objects that can scope IP prefixes (e.g. Region, Site).
include_in_menu: false
relationships:
- name: prefixes
peer: IpamPrefix
kind: Generic
cardinality: many
optional: true
identifier: prefix__prefix_scope
order_weight: 1550
nodes:
- name: Prefix
namespace: Ipam
description: IPv4 or IPv6 network (with mask)
label: Prefix
icon: mdi:ip-network
include_in_menu: false
inherit_from:
- BuiltinIPPrefix
human_friendly_id:
- ip_namespace__name__value
- prefix__value
order_by:
- prefix__value
display_label: prefix__value
uniqueness_constraints:
- - ip_namespace
- prefix__value
attributes:
- name: status
kind: Dropdown
default_value: active
choices:
- name: active
label: Active
color: '#00d25b'
- name: reserved
label: Reserved
color: '#4d90fe'
- name: deprecated
label: Deprecated
color: '#e04040'
optional: false
order_weight: 1200
- name: description
kind: Text
optional: true
order_weight: 1100
- name: role
kind: Dropdown
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: '#9678B6'
optional: true
order_weight: 1300
relationships:
- name: scope
peer: IpamPrefixScope
kind: Attribute
cardinality: one
optional: true
identifier: prefix__prefix_scope
order_weight: 1500
- name: IPAddress
namespace: Ipam
description: IP Address
label: IP Address
icon: mdi:ip
include_in_menu: false
inherit_from:
- BuiltinIPAddress
human_friendly_id:
- ip_namespace__name__value
- address__value
order_by:
- address__value
display_label: address__value
uniqueness_constraints:
- - ip_namespace
- address__value
attributes:
- name: description
kind: Text
optional: true
order_weight: 1100
- name: status
kind: Dropdown
default_value: active
choices:
- name: active
label: Active
color: '#00d25b'
- name: reserved
label: Reserved
color: '#4d90fe'
- name: deprecated
label: Deprecated
color: '#e04040'
optional: false
order_weight: 1200
- name: role
kind: Dropdown
choices:
- name: loopback
label: Loopback
color: '#B0A8B9'
- name: secondary
label: Secondary
color: '#AEC6CF'
- name: anycast
label: Anycast
color: '#FDFD96'
optional: true
order_weight: 1300
- name: fqdn
kind: Text
label: FQDN
regex: (?=^.{1,253}$)(^(((?!-)[a-zA-Z0-9-]{1,63}(?<!-))|((?!-)[a-zA-Z0-9-]{1,63}(?<!-)\.)+[a-zA-Z]{2,63})$)
optional: true
order_weight: 1400
relationships:
- name: primary_of
peer: DcimGenericDevice
label: Primary Address Of
kind: Attribute
cardinality: many
optional: true
identifier: device__primary_address
order_weight: 1500
- name: interface
peer: InterfaceLayer3
kind: Attribute
cardinality: one
optional: true
identifier: ip_address__interface
order_weight: 1600