Skip to main content

Topology

A schema for defining and managing network topology, strategies, and services.

Details

  • Dependencies:

Nodes

Topology

  • Label: Topology
  • Description: A Topology represents the entire network pod.
  • Namespace: Topology
  • Icon: carbon:network-3
  • Human Friendly ID: name__value
  • Inherit From: CoreArtifactTarget

Attributes

namedescriptionkindoptionaldefault_valuechoices
nameText
descriptionTextTrue

Relationships

namepeeroptionalcardinalitykind
elementsTopologyGenericElementTruemanyComponent
strategyTopologyNetworkStrategyTrueoneComponent
locationLocationGenericTrueoneAttribute
devicesDcimGenericDeviceTruemanyComponent
network_servicesTopologyNetworkServiceTruemanyComponent

MPLSStrategy

  • Label: MPLS Strategy
  • Description: Specific strategy attributes for MPLS.
  • Namespace: Topology
  • Icon: eos-icons:neural-network
  • Human Friendly ID: name__value
  • Inherit From: TopologyNetworkStrategy

Attributes

namedescriptionkindoptionaldefault_valuechoices
underlayDropdownospf, isis, bgp
overlayDropdownldp, rsvp, segment_routing

EVPNStrategy

  • Label: EVPN Strategy
  • Description: Specific strategy attributes for EVPN.
  • Namespace: Topology
  • Icon: carbon:load-balancer-network
  • Human Friendly ID: name__value
  • Inherit From: TopologyNetworkStrategy

Attributes

namedescriptionkindoptionaldefault_valuechoices
underlayDropdownebgp, ospf, isis
overlayDropdownebgp, ibgp

PhysicalElement

  • Label: Physical Topology Element
  • Description: Physical aspect of topology elements.
  • Namespace: Topology
  • Icon: carbon:network-3-reference
  • Human Friendly ID: name__value
  • Inherit From: TopologyGenericElement

Attributes

namedescriptionkindoptionaldefault_valuechoices
mtuNumber1500
borderBooleanFalse
mlag_supportBooleanFalse
device_roleDropdownspine, leaf, pe_router, p_router, route_reflector, cpe, firewall

Relationships

namepeeroptionalcardinalitykind
device_typeDcimDeviceTypeTrueoneAttribute

DhcpOption

  • Label: Dhcp Option
  • Description: Represents a configurable option within a Dhcp server.
  • Namespace: Network
  • Icon: gis:globe-options
  • Human Friendly ID: name__value

Attributes

namedescriptionkindoptionaldefault_valuechoices
nameText
descriptionTextTrue
option_codeNumber
contentText

DhcpServer

  • Label: Dhcp Server
  • Description: Represents a Dhcp server in the network.
  • Namespace: Network
  • Icon: eos-icons:ip
  • Human Friendly ID: name__value
  • Inherit From: NetworkManagementServer

Attributes

namedescriptionkindoptionaldefault_valuechoices
lease_timeText

Relationships

namepeeroptionalcardinalitykind
dhcp_optionsNetworkDhcpOptionTruemanyComponent

NameServer

  • Label: DNS Server
  • Description: Represents a DNS server in the network.
  • Namespace: Network
  • Icon: eos-icons:dns
  • Human Friendly ID: name__value
  • Inherit From: NetworkManagementServer

NTPServer

  • Label: NTP Server
  • Description: Represents a NTP server in the network.
  • Namespace: Network
  • Icon: iconoir:time-zone
  • Human Friendly ID: name__value
  • Inherit From: NetworkManagementServer

NetworkServiceIdentifier

  • Label: Network Service Identifier
  • Description: Generic model for different types of identifiers used in network services.
  • Namespace: Topology
  • Icon: mdi:identifier
  • Human Friendly ID: identifier__value

Attributes

namedescriptionkindoptionaldefault_valuechoices
identifierNumber

Relationships

namepeeroptionalcardinalitykind
serviceTopologyNetworkServiceTrueone

NetworkService

  • Label: Network Service
  • Description: Network services attached to a Topology.
  • Namespace: Topology
  • Icon: carbon:ibm-cloud-internet-services
  • Human Friendly ID: name__value

Attributes

namedescriptionkindoptionaldefault_valuechoices
nameText
descriptionText
service_typeText

Relationships

namepeeroptionalcardinalitykind
identifierTopologyNetworkServiceIdentifierFalseoneAttribute
topologyTopologyTopologyFalseoneParent
vlanInfraVLANTrueoneComponent
prefixInfraPrefixTrueoneComponent

Generics

ManagementServer

  • Label: Network Management Servers
  • Description: Generic model for network management server (dns, ntp, and dhcp).
  • Namespace: Network
  • Human Friendly ID: name__value

Attributes

namedescriptionkindoptionaldefault_valuechoices
nameText
descriptionTextTrue
statusDropdownactive, provisioning, maintenance, drained

Relationships

namepeeroptionalcardinalitykind
locationLocationGenericTruemany
ip_addressesInfraIPAddressTruemanyComponent

GenericElement

  • Label: Generic Topology Element
  • Description: Base model for elements
  • Namespace: Topology
  • Icon: carbon:network-3-reference
  • Human Friendly ID: name__value

Attributes

namedescriptionkindoptionaldefault_valuechoices
nameText
descriptionTextTrue
quantityNumber

Relationships

namepeeroptionalcardinalitykind
topologyTopologyTopologyFalseoneParent

NetworkStrategy

  • Label: Network Strategy
  • Description: Generic model for network strategies (underlays and overlays).
  • Namespace: Topology
  • Icon: iconoir:strategy
  • Human Friendly ID: name__value

Attributes

namedescriptionkindoptionaldefault_valuechoices
nameText
descriptionTextTrue

Relationships

namepeeroptionalcardinalitykind
topologyTopologyTopologyTruemany

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.

DcimGenericDevice

Relationships

namepeeroptionalcardinalitykind
topologyTopologyTopologyTrueone

IpamPrefix

Relationships

namepeeroptionalcardinalitykind
network_serviceTopologyNetworkServiceTrueone

Code

version: '1.0'
generics:
- name: ManagementServer
namespace: Network
description: Generic model for network management server (dns, ntp, and dhcp).
label: Network Management Servers
human_friendly_id:
- name__value
display_label: name__value
order_by:
- name__value
include_in_menu: true
attributes:
- name: name
kind: Text
order_weight: 1000
- name: description
kind: Text
order_weight: 1100
optional: true
- name: status
kind: Dropdown
choices:
- name: active
label: Active
description: Fully operational and currently in service.
color: '#7fbf7f'
- name: provisioning
label: Provisioning
description: In the process of being set up and configured.
color: '#ffff7f'
- name: maintenance
label: Maintenance
description: Undergoing routine maintenance or repairs.
color: '#ffd27f'
- name: drained
label: Drained
description: Temporarily taken out of service.
color: '#bfbfbf'
relationships:
- name: location
peer: LocationGeneric
optional: true
cardinality: many
- name: ip_addresses
peer: InfraIPAddress
optional: true
cardinality: many
kind: Component
- name: GenericElement
namespace: Topology
description: Base model for elements
label: Generic Topology Element
icon: carbon:network-3-reference
human_friendly_id:
- name__value
display_label: name__value
order_by:
- name__value
include_in_menu: false
menu_placement: TopologyTopology
attributes:
- name: name
kind: Text
order_weight: 1000
- name: description
kind: Text
order_weight: 1100
optional: true
- name: quantity
kind: Number
order_weight: 1200
relationships:
- name: topology
peer: TopologyTopology
cardinality: one
kind: Parent
optional: false
- name: NetworkStrategy
namespace: Topology
description: Generic model for network strategies (underlays and overlays).
label: Network Strategy
icon: iconoir:strategy
human_friendly_id:
- name__value
display_label: name__value
order_by:
- name__value
include_in_menu: true
menu_placement: TopologyTopology
attributes:
- name: name
kind: Text
order_weight: 1000
- name: description
kind: Text
order_weight: 1100
optional: true
relationships:
- name: topology
peer: TopologyTopology
optional: true
cardinality: many
nodes:
- name: Topology
namespace: Topology
description: A Topology represents the entire network pod.
label: Topology
icon: carbon:network-3
human_friendly_id:
- name__value
display_label: name__value
order_by:
- name__value
inherit_from:
- CoreArtifactTarget
attributes:
- name: name
kind: Text
unique: true
order_weight: 1000
- name: description
kind: Text
optional: true
order_weight: 1100
relationships:
- name: elements
peer: TopologyGenericElement
optional: true
cardinality: many
kind: Component
- name: strategy
peer: TopologyNetworkStrategy
optional: true
cardinality: one
kind: Component
- name: location
peer: LocationGeneric
optional: true
cardinality: one
kind: Attribute
- name: devices
peer: DcimGenericDevice
optional: true
cardinality: many
kind: Component
- name: network_services
peer: TopologyNetworkService
optional: true
cardinality: many
kind: Component
- name: MPLSStrategy
namespace: Topology
description: Specific strategy attributes for MPLS.
label: MPLS Strategy
icon: eos-icons:neural-network
inherit_from:
- TopologyNetworkStrategy
menu_placement: TopologyNetworkStrategy
include_in_menu: false
human_friendly_id:
- name__value
order_by:
- name__value
display_label: name__value
attributes:
- name: underlay
kind: Dropdown
choices:
- name: ospf
label: OSPF
- name: isis
label: ISIS
- name: bgp
label: BGP
- name: overlay
kind: Dropdown
choices:
- name: ldp
label: LDP
- name: rsvp
label: RSVP
- name: segment_routing
label: Segment Routing
- name: EVPNStrategy
namespace: Topology
description: Specific strategy attributes for EVPN.
label: EVPN Strategy
icon: carbon:load-balancer-network
inherit_from:
- TopologyNetworkStrategy
menu_placement: TopologyNetworkStrategy
include_in_menu: false
human_friendly_id:
- name__value
order_by:
- name__value
display_label: name__value
attributes:
- name: underlay
kind: Dropdown
choices:
- name: ebgp
label: EBGP
- name: ospf
label: OSPF
- name: isis
label: ISIS
- name: overlay
kind: Dropdown
choices:
- name: ebgp
label: EBGP
- name: ibgp
label: IBGP
- name: PhysicalElement
namespace: Topology
description: Physical aspect of topology elements.
label: Physical Topology Element
icon: carbon:network-3-reference
menu_placement: TopologyTopology
human_friendly_id:
- name__value
order_by:
- name__value
display_label: name__value
inherit_from:
- TopologyGenericElement
attributes:
- name: mtu
kind: Number
default_value: 1500
order_weight: 3000
- name: border
kind: Boolean
label: Is a Topology Border
default_value: false
order_weight: 2400
- name: mlag_support
kind: Boolean
label: MLAG Support
default_value: false
order_weight: 2500
- name: device_role
label: Role
kind: Dropdown
choices:
- name: spine
color: '#ffb3ba'
- name: leaf
color: '#ffdfba'
- name: pe_router
color: '#baffc9'
- name: p_router
color: '#bae1ff'
- name: route_reflector
color: '#ffbaba'
- name: cpe
color: '#f2bae1'
- name: firewall
color: '#c5a3ff'
order_weight: 1300
relationships:
- name: device_type
label: Type
peer: DcimDeviceType
optional: true
cardinality: one
kind: Attribute
order_weight: 1400
- name: DhcpOption
namespace: Network
description: Represents a configurable option within a Dhcp server.
label: Dhcp Option
icon: gis:globe-options
menu_placement: NetworkManagementServer
include_in_menu: false
human_friendly_id:
- name__value
display_label: name__value
order_by:
- name__value
attributes:
- name: name
kind: Text
order_weight: 1000
- name: description
kind: Text
optional: true
order_weight: 1100
- name: option_code
kind: Number
order_weight: 2000
- name: content
kind: Text
order_weight: 2100
- name: DhcpServer
namespace: Network
description: Represents a Dhcp server in the network.
label: Dhcp Server
icon: eos-icons:ip
menu_placement: NetworkManagementServer
include_in_menu: false
human_friendly_id:
- name__value
display_label: name__value
order_by:
- name__value
inherit_from:
- NetworkManagementServer
attributes:
- name: lease_time
kind: Text
order_weight: 2100
relationships:
- name: dhcp_options
peer: NetworkDhcpOption
optional: true
cardinality: many
kind: Component
- name: NameServer
namespace: Network
description: Represents a DNS server in the network.
label: DNS Server
icon: eos-icons:dns
menu_placement: NetworkManagementServer
human_friendly_id:
- name__value
display_label: name__value
order_by:
- name__value
inherit_from:
- NetworkManagementServer
- name: NTPServer
namespace: Network
description: Represents a NTP server in the network.
label: NTP Server
icon: iconoir:time-zone
menu_placement: NetworkManagementServer
human_friendly_id:
- name__value
display_label: name__value
order_by:
- name__value
inherit_from:
- NetworkManagementServer
- name: NetworkServiceIdentifier
namespace: Topology
description: Generic model for different types of identifiers used in network services.
label: Network Service Identifier
icon: mdi:identifier
menu_placement: TopologyNetworkService
human_friendly_id:
- identifier__value
order_by:
- identifier__value
display_label: identifier__value
attributes:
- name: identifier
kind: Number
relationships:
- name: service
label: Network Service
peer: TopologyNetworkService
cardinality: one
optional: true
- name: NetworkService
namespace: Topology
description: Network services attached to a Topology.
label: Network Service
icon: carbon:ibm-cloud-internet-services
human_friendly_id:
- name__value
order_by:
- name__value
display_label: name__value
attributes:
- name: name
label: Service Name
kind: Text
order_weight: 1000
- name: description
kind: Text
order_weight: 1100
- name: service_type
kind: Text
enum:
- Layer2
- Layer3
order_weight: 1200
relationships:
- name: identifier
peer: TopologyNetworkServiceIdentifier
cardinality: one
kind: Attribute
optional: false
- name: topology
peer: TopologyTopology
cardinality: one
kind: Parent
optional: false
- name: vlan
peer: InfraVLAN
optional: true
cardinality: one
kind: Component
order_weight: 1500
- name: prefix
peer: InfraPrefix
optional: true
cardinality: one
kind: Component
order_weight: 1400
extensions:
nodes:
- kind: DcimGenericDevice
relationships:
- name: topology
peer: TopologyTopology
optional: true
cardinality: one
- kind: IpamPrefix
relationships:
- name: network_service
label: Network Service
peer: TopologyNetworkService
optional: true
cardinality: one
order_weight: 1400