106 lines
41 KiB
XML
106 lines
41 KiB
XML
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" data-d2-version="0.7.1" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1811 2008"><svg class="d2-1106624178 d2-svg" width="1811" height="2008" viewBox="-101 -101 1811 2008"><rect x="-101.000000" y="-101.000000" width="1811.000000" height="2008.000000" rx="0.000000" fill="#FFFFFF" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
|
|
.d2-1106624178 .text-italic {
|
|
font-family: "d2-1106624178-font-italic";
|
|
}
|
|
@font-face {
|
|
font-family: d2-1106624178-font-italic;
|
|
src: url("data:application/font-woff;base64,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");
|
|
}
|
|
.d2-1106624178 .text-mono {
|
|
font-family: "d2-1106624178-font-mono";
|
|
}
|
|
@font-face {
|
|
font-family: d2-1106624178-font-mono;
|
|
src: url("data:application/font-woff;base64,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");
|
|
}]]></style><style type="text/css"><![CDATA[.shape {
|
|
shape-rendering: geometricPrecision;
|
|
stroke-linejoin: round;
|
|
}
|
|
.connection {
|
|
stroke-linecap: round;
|
|
stroke-linejoin: round;
|
|
}
|
|
.blend {
|
|
mix-blend-mode: multiply;
|
|
opacity: 0.5;
|
|
}
|
|
|
|
.d2-1106624178 .fill-N1{fill:#0A0F25;}
|
|
.d2-1106624178 .fill-N2{fill:#676C7E;}
|
|
.d2-1106624178 .fill-N3{fill:#9499AB;}
|
|
.d2-1106624178 .fill-N4{fill:#CFD2DD;}
|
|
.d2-1106624178 .fill-N5{fill:#DEE1EB;}
|
|
.d2-1106624178 .fill-N6{fill:#EEF1F8;}
|
|
.d2-1106624178 .fill-N7{fill:#FFFFFF;}
|
|
.d2-1106624178 .fill-B1{fill:#0D32B2;}
|
|
.d2-1106624178 .fill-B2{fill:#0D32B2;}
|
|
.d2-1106624178 .fill-B3{fill:#E3E9FD;}
|
|
.d2-1106624178 .fill-B4{fill:#E3E9FD;}
|
|
.d2-1106624178 .fill-B5{fill:#EDF0FD;}
|
|
.d2-1106624178 .fill-B6{fill:#F7F8FE;}
|
|
.d2-1106624178 .fill-AA2{fill:#4A6FF3;}
|
|
.d2-1106624178 .fill-AA4{fill:#EDF0FD;}
|
|
.d2-1106624178 .fill-AA5{fill:#F7F8FE;}
|
|
.d2-1106624178 .fill-AB4{fill:#EDF0FD;}
|
|
.d2-1106624178 .fill-AB5{fill:#F7F8FE;}
|
|
.d2-1106624178 .stroke-N1{stroke:#0A0F25;}
|
|
.d2-1106624178 .stroke-N2{stroke:#676C7E;}
|
|
.d2-1106624178 .stroke-N3{stroke:#9499AB;}
|
|
.d2-1106624178 .stroke-N4{stroke:#CFD2DD;}
|
|
.d2-1106624178 .stroke-N5{stroke:#DEE1EB;}
|
|
.d2-1106624178 .stroke-N6{stroke:#EEF1F8;}
|
|
.d2-1106624178 .stroke-N7{stroke:#FFFFFF;}
|
|
.d2-1106624178 .stroke-B1{stroke:#0D32B2;}
|
|
.d2-1106624178 .stroke-B2{stroke:#0D32B2;}
|
|
.d2-1106624178 .stroke-B3{stroke:#E3E9FD;}
|
|
.d2-1106624178 .stroke-B4{stroke:#E3E9FD;}
|
|
.d2-1106624178 .stroke-B5{stroke:#EDF0FD;}
|
|
.d2-1106624178 .stroke-B6{stroke:#F7F8FE;}
|
|
.d2-1106624178 .stroke-AA2{stroke:#4A6FF3;}
|
|
.d2-1106624178 .stroke-AA4{stroke:#EDF0FD;}
|
|
.d2-1106624178 .stroke-AA5{stroke:#F7F8FE;}
|
|
.d2-1106624178 .stroke-AB4{stroke:#EDF0FD;}
|
|
.d2-1106624178 .stroke-AB5{stroke:#F7F8FE;}
|
|
.d2-1106624178 .background-color-N1{background-color:#0A0F25;}
|
|
.d2-1106624178 .background-color-N2{background-color:#676C7E;}
|
|
.d2-1106624178 .background-color-N3{background-color:#9499AB;}
|
|
.d2-1106624178 .background-color-N4{background-color:#CFD2DD;}
|
|
.d2-1106624178 .background-color-N5{background-color:#DEE1EB;}
|
|
.d2-1106624178 .background-color-N6{background-color:#EEF1F8;}
|
|
.d2-1106624178 .background-color-N7{background-color:#FFFFFF;}
|
|
.d2-1106624178 .background-color-B1{background-color:#0D32B2;}
|
|
.d2-1106624178 .background-color-B2{background-color:#0D32B2;}
|
|
.d2-1106624178 .background-color-B3{background-color:#E3E9FD;}
|
|
.d2-1106624178 .background-color-B4{background-color:#E3E9FD;}
|
|
.d2-1106624178 .background-color-B5{background-color:#EDF0FD;}
|
|
.d2-1106624178 .background-color-B6{background-color:#F7F8FE;}
|
|
.d2-1106624178 .background-color-AA2{background-color:#4A6FF3;}
|
|
.d2-1106624178 .background-color-AA4{background-color:#EDF0FD;}
|
|
.d2-1106624178 .background-color-AA5{background-color:#F7F8FE;}
|
|
.d2-1106624178 .background-color-AB4{background-color:#EDF0FD;}
|
|
.d2-1106624178 .background-color-AB5{background-color:#F7F8FE;}
|
|
.d2-1106624178 .color-N1{color:#0A0F25;}
|
|
.d2-1106624178 .color-N2{color:#676C7E;}
|
|
.d2-1106624178 .color-N3{color:#9499AB;}
|
|
.d2-1106624178 .color-N4{color:#CFD2DD;}
|
|
.d2-1106624178 .color-N5{color:#DEE1EB;}
|
|
.d2-1106624178 .color-N6{color:#EEF1F8;}
|
|
.d2-1106624178 .color-N7{color:#FFFFFF;}
|
|
.d2-1106624178 .color-B1{color:#0D32B2;}
|
|
.d2-1106624178 .color-B2{color:#0D32B2;}
|
|
.d2-1106624178 .color-B3{color:#E3E9FD;}
|
|
.d2-1106624178 .color-B4{color:#E3E9FD;}
|
|
.d2-1106624178 .color-B5{color:#EDF0FD;}
|
|
.d2-1106624178 .color-B6{color:#F7F8FE;}
|
|
.d2-1106624178 .color-AA2{color:#4A6FF3;}
|
|
.d2-1106624178 .color-AA4{color:#EDF0FD;}
|
|
.d2-1106624178 .color-AA5{color:#F7F8FE;}
|
|
.d2-1106624178 .color-AB4{color:#EDF0FD;}
|
|
.d2-1106624178 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-1106624178);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-1106624178);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-1106624178);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-1106624178);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-1106624178);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-1106624178);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-1106624178);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-1106624178);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-1106624178);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-1106624178);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-1106624178);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-1106624178);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-1106624178);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-1106624178);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-1106624178);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-1106624178);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-1106624178);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-1106624178);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g class="SW50ZXJmYWNl"><g class="shape" ><rect x="624.000000" y="1116.000000" width="419.000000" height="690.000000" stroke="#0A0F25" fill="#FFFFFF" class=" stroke-N1 fill-N7" style="stroke-width:2;" /><rect x="624.000000" y="1116.000000" width="419.000000" height="92.000000" fill="#0A0F25" class="class_header fill-N1" /><text x="833.500000" y="1166.500000" fill="#FFFFFF" class="text-mono fill-N7" style="text-anchor:middle;font-size:24px;">Interface</text><text x="634.000000" y="1236.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="654.000000" y="1236.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">name</text><text x="1023.000000" y="1236.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">str</text><text x="634.000000" y="1282.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="654.000000" y="1282.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">itype</text><text x="1023.000000" y="1282.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[str]</text><text x="634.000000" y="1328.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="654.000000" y="1328.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">adapter</text><text x="1023.000000" y="1328.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[str]</text><text x="634.000000" y="1374.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="654.000000" y="1374.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">slave_interfaces</text><text x="1023.000000" y="1374.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[List[str]]</text><text x="634.000000" y="1420.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="654.000000" y="1420.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">parent_interface</text><text x="1023.000000" y="1420.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[str]</text><text x="634.000000" y="1466.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="654.000000" y="1466.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">ip_address</text><text x="1023.000000" y="1466.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[str]</text><text x="634.000000" y="1512.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="654.000000" y="1512.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">network</text><text x="1023.000000" y="1512.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[str]</text><text x="634.000000" y="1558.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="654.000000" y="1558.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">subnet_mask</text><text x="1023.000000" y="1558.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[str]</text><text x="634.000000" y="1604.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="654.000000" y="1604.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">default_gateway</text><text x="1023.000000" y="1604.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[str]</text><text x="634.000000" y="1650.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="654.000000" y="1650.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">vlan</text><text x="1023.000000" y="1650.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[str]</text><text x="634.000000" y="1696.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="654.000000" y="1696.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">device</text><text x="1023.000000" y="1696.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">Device</text><line x1="624.000000" x2="1043.000000" y1="1714.000000" y2="1714.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:1" /><text x="634.000000" y="1742.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="654.000000" y="1742.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">__init__(name, ...)</text><text x="1023.000000" y="1742.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">void</text><text x="634.000000" y="1788.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="654.000000" y="1788.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">__repr__(): str</text><text x="1023.000000" y="1788.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">void</text></g></g><g class="RGV2aWNl"><g class="shape" ><rect x="177.000000" y="581.000000" width="566.000000" height="414.000000" stroke="#0A0F25" fill="#FFFFFF" class=" stroke-N1 fill-N7" style="stroke-width:2;" /><rect x="177.000000" y="581.000000" width="566.000000" height="92.000000" fill="#0A0F25" class="class_header fill-N1" /><text x="460.000000" y="631.500000" fill="#FFFFFF" class="text-mono fill-N7" style="text-anchor:middle;font-size:24px;">Device</text><text x="187.000000" y="701.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="207.000000" y="701.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">name</text><text x="723.000000" y="701.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">str</text><text x="187.000000" y="747.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="207.000000" y="747.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">role</text><text x="723.000000" y="747.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">str</text><text x="187.000000" y="793.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="207.000000" y="793.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">interfaces</text><text x="723.000000" y="793.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">Dict[str, Interface]</text><line x1="177.000000" x2="743.000000" y1="811.000000" y2="811.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:1" /><text x="187.000000" y="839.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="207.000000" y="839.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">__init__(name: str)</text><text x="723.000000" y="839.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">void</text><text x="187.000000" y="885.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="207.000000" y="885.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">add_interface(interface: Interface)</text><text x="723.000000" y="885.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">void</text><text x="187.000000" y="931.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="207.000000" y="931.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">rm_interface(interface: Interface)</text><text x="723.000000" y="931.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">void</text><text x="187.000000" y="977.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="207.000000" y="977.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">__repr__(): str</text><text x="723.000000" y="977.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">void</text></g></g><g class="SG9zdA=="><g class="shape" ><rect x="0.000000" y="161.000000" width="181.000000" height="138.000000" stroke="#0A0F25" fill="#FFFFFF" class=" stroke-N1 fill-N7" style="stroke-width:2;" /><rect x="0.000000" y="161.000000" width="181.000000" height="92.000000" fill="#0A0F25" class="class_header fill-N1" /><text x="90.500000" y="211.500000" fill="#FFFFFF" class="text-mono fill-N7" style="text-anchor:middle;font-size:24px;">Host</text><text x="10.000000" y="281.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="30.000000" y="281.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">role</text><text x="161.000000" y="281.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">str</text><line x1="0.000000" x2="181.000000" y1="299.000000" y2="299.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:1" /></g></g><g class="Um91dGVy"><g class="shape" ><rect x="241.000000" y="161.000000" width="189.000000" height="138.000000" stroke="#0A0F25" fill="#FFFFFF" class=" stroke-N1 fill-N7" style="stroke-width:2;" /><rect x="241.000000" y="161.000000" width="189.000000" height="92.000000" fill="#0A0F25" class="class_header fill-N1" /><text x="335.500000" y="211.500000" fill="#FFFFFF" class="text-mono fill-N7" style="text-anchor:middle;font-size:24px;">Router</text><text x="251.000000" y="281.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="271.000000" y="281.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">role</text><text x="410.000000" y="281.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">str</text><line x1="241.000000" x2="430.000000" y1="299.000000" y2="299.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:1" /></g></g><g class="U3dpdGNo"><g class="shape" ><rect x="490.000000" y="161.000000" width="190.000000" height="138.000000" stroke="#0A0F25" fill="#FFFFFF" class=" stroke-N1 fill-N7" style="stroke-width:2;" /><rect x="490.000000" y="161.000000" width="190.000000" height="92.000000" fill="#0A0F25" class="class_header fill-N1" /><text x="585.000000" y="211.500000" fill="#FFFFFF" class="text-mono fill-N7" style="text-anchor:middle;font-size:24px;">Switch</text><text x="500.000000" y="281.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="520.000000" y="281.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">role</text><text x="660.000000" y="281.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">str</text><line x1="490.000000" x2="680.000000" y1="299.000000" y2="299.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:1" /></g></g><g class="TmV0d29yaw=="><g class="shape" ><rect x="803.000000" y="581.000000" width="806.000000" height="414.000000" stroke="#0A0F25" fill="#FFFFFF" class=" stroke-N1 fill-N7" style="stroke-width:2;" /><rect x="803.000000" y="581.000000" width="806.000000" height="92.000000" fill="#0A0F25" class="class_header fill-N1" /><text x="1206.000000" y="631.500000" fill="#FFFFFF" class="text-mono fill-N7" style="text-anchor:middle;font-size:24px;">Network</text><text x="813.000000" y="701.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="833.000000" y="701.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">name</text><text x="1589.000000" y="701.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">str</text><text x="813.000000" y="747.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="833.000000" y="747.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">interfaces</text><text x="1589.000000" y="747.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">List[Interface]</text><text x="813.000000" y="793.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="833.000000" y="793.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">network_ip</text><text x="1589.000000" y="793.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">[str]</text><line x1="803.000000" x2="1609.000000" y1="811.000000" y2="811.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:1" /><text x="813.000000" y="839.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="833.000000" y="839.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">__init__(name: str, [vlan: [str]], [network_ip: [str]])</text><text x="1589.000000" y="839.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">void</text><text x="813.000000" y="885.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="833.000000" y="885.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">add_interface(interface: Interface)</text><text x="1589.000000" y="885.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">void</text><text x="813.000000" y="931.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="833.000000" y="931.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">rm_interface(interface: Interface)</text><text x="1589.000000" y="931.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">void</text><text x="813.000000" y="977.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="833.000000" y="977.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">__repr__(): str</text><text x="1589.000000" y="977.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">void</text></g></g><g class="VG9wb2xvZ3k="><g class="shape" ><rect x="922.000000" y="0.000000" width="494.000000" height="460.000000" stroke="#0A0F25" fill="#FFFFFF" class=" stroke-N1 fill-N7" style="stroke-width:2;" /><rect x="922.000000" y="0.000000" width="494.000000" height="92.000000" fill="#0A0F25" class="class_header fill-N1" /><text x="1169.000000" y="50.500000" fill="#FFFFFF" class="text-mono fill-N7" style="text-anchor:middle;font-size:24px;">Topology</text><text x="932.000000" y="120.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="952.000000" y="120.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">devices</text><text x="1396.000000" y="120.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">Dict[str, Device]</text><text x="932.000000" y="166.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="952.000000" y="166.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">networks</text><text x="1396.000000" y="166.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">Dict[str, Network]</text><line x1="922.000000" x2="1416.000000" y1="184.000000" y2="184.000000" stroke="#0A0F25" class=" stroke-N1" style="stroke-width:1" /><text x="932.000000" y="212.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="952.000000" y="212.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">__init__()</text><text x="1396.000000" y="212.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">void</text><text x="932.000000" y="258.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="952.000000" y="258.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">add_device(device: Device)</text><text x="1396.000000" y="258.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">void</text><text x="932.000000" y="304.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="952.000000" y="304.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">rm_device(device: Device)</text><text x="1396.000000" y="304.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">void</text><text x="932.000000" y="350.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="952.000000" y="350.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">add_network(network: Network)</text><text x="1396.000000" y="350.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">void</text><text x="932.000000" y="396.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="952.000000" y="396.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">rm_network(network: Network)</text><text x="1396.000000" y="396.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">void</text><text x="932.000000" y="442.000000" fill="#0D32B2" class="text-mono fill-B2" style="text-anchor:start;font-size:20px">+</text><text x="952.000000" y="442.000000" fill="#0A0F25" class="text-mono fill-N1" style="text-anchor:start;font-size:20px">__repr__(): str</text><text x="1396.000000" y="442.000000" fill="#4A6FF3" class="text-mono fill-AA2" style="text-anchor:end;font-size:20px">void</text></g></g><g class="KEhvc3QgLSZndDsgRGV2aWNlKVswXQ=="><marker id="mk-d2-1106624178-3777340426" markerWidth="13.000000" markerHeight="15.000000" refX="10.000000" refY="7.500000" viewBox="0.000000 0.000000 13.000000 15.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="1.000000,1.000000 12.000000,7.500000 1.000000,14.000000" stroke="#0D32B2" fill="#FFFFFF" class="connection stroke-B1 fill-N7" stroke-width="2" /> </marker><path d="M 90.500000 300.500000 C 90.500000 476.100006 107.900002 533.099976 174.260232 581.153960" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1106624178-3777340426)" mask="url(#d2-1106624178)" /></g><g class="KFJvdXRlciAtJmd0OyBEZXZpY2UpWzBd"><path d="M 335.500000 300.500000 C 335.500000 476.100006 341.100006 532.700012 361.831329 577.864682" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1106624178-3777340426)" mask="url(#d2-1106624178)" /></g><g class="KFN3aXRjaCAtJmd0OyBEZXZpY2UpWzBd"><path d="M 585.000000 300.500000 C 585.000000 476.100006 579.400024 532.700012 558.668672 577.864683" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1106624178-3777340426)" mask="url(#d2-1106624178)" /></g><g class="KERldmljZSAtLSBJbnRlcmZhY2UpWzBd"><path d="M 460.250000 996.500000 C 460.250000 1043.300049 492.950012 1091.048950 622.396001 1231.773028" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" mask="url(#d2-1106624178)" /><text x="522.000000" y="1128.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">interfaces</text><text x="477.500000" y="1016.000000" fill="#0A0F25" class="text-italic fill-N1" style="text-anchor:middle;font-size:16px">1..*</text><text x="619.500000" y="1215.000000" fill="#0A0F25" class="text-italic fill-N1" style="text-anchor:middle;font-size:16px">1</text></g><g class="KE5ldHdvcmsgLS0gSW50ZXJmYWNlKVswXQ=="><path d="M 1206.250000 996.500000 C 1206.250000 1043.300049 1173.650024 1090.900024 1044.604833 1231.028801" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" mask="url(#d2-1106624178)" /><text x="1145.000000" y="1128.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">interfaces</text><text x="1223.500000" y="1016.000000" fill="#0A0F25" class="text-italic fill-N1" style="text-anchor:middle;font-size:16px">1..*</text><text x="1061.500000" y="1237.000000" fill="#0A0F25" class="text-italic fill-N1" style="text-anchor:middle;font-size:16px">1</text></g><g class="KFRvcG9sb2d5IC0tIERldmljZSlbMF0="><path d="M 920.192698 430.292909 C 830.950012 502.207001 792.650024 532.700012 731.825437 580.267929" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" mask="url(#d2-1106624178)" /><text x="826.500000" y="511.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">devices</text><text x="915.500000" y="462.000000" fill="#0A0F25" class="text-italic fill-N1" style="text-anchor:middle;font-size:16px">1..*</text><text x="748.500000" y="590.000000" fill="#0A0F25" class="text-italic fill-N1" style="text-anchor:middle;font-size:16px">1</text></g><g class="KFRvcG9sb2d5IC0tIE5ldHdvcmspWzBd"><path d="M 1198.510069 461.483019 C 1204.650024 508.299988 1206.250000 532.700012 1206.250000 579.500000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" mask="url(#d2-1106624178)" /><text x="1205.500000" y="526.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">networks</text><text x="1217.500000" y="480.000000" fill="#0A0F25" class="text-italic fill-N1" style="text-anchor:middle;font-size:16px">1..*</text><text x="1215.500000" y="572.000000" fill="#0A0F25" class="text-italic fill-N1" style="text-anchor:middle;font-size:16px">1</text></g><mask id="d2-1106624178" maskUnits="userSpaceOnUse" x="-101" y="-101" width="1811" height="2008">
|
|
<rect x="-101" y="-101" width="1811" height="2008" fill="white"></rect>
|
|
<rect x="487.000000" y="1112.000000" width="70" height="21" fill="black"></rect>
|
|
<rect x="1110.000000" y="1112.000000" width="70" height="21" fill="black"></rect>
|
|
<rect x="800.000000" y="495.000000" width="53" height="21" fill="black"></rect>
|
|
<rect x="1173.000000" y="510.000000" width="65" height="21" fill="black"></rect>
|
|
</mask></svg></svg>
|