Docs

Search documentation

Shared docs and current release

Loading search…

日本語

@shumoku/core · runtime schema

YAML reference

Runtime schema source

Fields accepted by the Shumoku YAML parser.

Document

Field Type Description Required
version string Document format version no
name string Topology name no
description string Topology description no
nodes object[] Network devices no
links object[] Connections between nodes no
subgraphs object[] Logical or hierarchical regions no
settings object Layout and rendering settings no
pins object[] Top-level hierarchical boundary pins no

Node

Field Type Description Required
id string Stable node identifier; a fallback is generated if omitted no
label string | string[] Displayed node label no
shape string Node shape such as rounded, rect, circle, or diamond no
type string Device type used by the default icon resolver no
parent string Parent subgraph identifier no
style object — no
metadata object — no
vendor string Hardware or cloud vendor no
service string Cloud service name no
model string Hardware model name no
resource string — no
icon string Custom icon URL no
identity any — no
ports any[] — no

Link

Field Type Description Required
id string Stable link identifier; a fallback is generated if omitted no
from string | object Source node or endpoint yes
to string | object Destination node or endpoint yes
label string | string[] Displayed link label no
type string Line style such as solid, dashed, thick, or double no
arrow string — no
standard string Ethernet standard applied to both endpoints no
cable object — no
redundancy string — no
vlan number | number[] VLAN ID or trunk VLAN IDs no
style object — no

Settings

Field Type Description Required
direction string Layout direction such as TB or LR no
theme string Render theme: light or dark no
nodeSpacing number Spacing between nodes in the same rank no
rankSpacing number Spacing between layout ranks no
subgraphPadding number — no
canvas object — no
legend boolean | object — no

Executable example

name: Branch network
nodes:
  - id: router
    label: Router
    type: router
  - id: switch
    label: Access switch
    type: l2-switch
links:
  - from: router
    to: switch

examples/getting-started.yaml