add new example, rework yaml
This commit is contained in:
@@ -0,0 +1,3 @@
|
|||||||
|
- в данный момент маска никуда не прходит
|
||||||
|
- обработка виртуальных интерфейсов в yaml
|
||||||
|
- добавление bridge и vlan сущностей
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
Name,Role,Adapter,Interface,Network,Network IP,Mask,Device IP,Default Gateway
|
||||||
|
PC1,Host,Adapter1,uplink,main,10.0.12.0,/24,10.0.12.1,0.0.0.0
|
||||||
|
PC1,Host,,lo,,127.0.0.0,/8,127.1.1.1,
|
||||||
|
PC2,Host,Adapter1,uplink,main,10.0.12.0,/24,10.0.12.2,0.0.0.0
|
||||||
|
PC3,Host,Adapter1,uplink,main,10.0.12.0,/24,10.0.12.3,0.0.0.0
|
||||||
|
|
||||||
|
@@ -35,33 +35,18 @@ def make_yaml(topology: Topology, output_path: Path) -> None:
|
|||||||
data["nodes"] = []
|
data["nodes"] = []
|
||||||
|
|
||||||
for _, device in topology.devices.items():
|
for _, device in topology.devices.items():
|
||||||
data["nodes"].append(
|
interfaces = dict()
|
||||||
{
|
for interface_name, interface in device.interfaces.items():
|
||||||
"role": device.role,
|
interfaces[interface_name] = {
|
||||||
"name": device.name,
|
"ip": interface.ip_address if interface.ip_address else None,
|
||||||
"interfaces": [
|
"network": interface.network if interface.network else None,
|
||||||
{
|
|
||||||
interface_name: [
|
|
||||||
{
|
|
||||||
"ip": (
|
|
||||||
interface.ip_address
|
|
||||||
if interface.ip_address
|
|
||||||
else None
|
|
||||||
),
|
|
||||||
"network": (
|
|
||||||
interface.network if interface.network else None
|
|
||||||
),
|
|
||||||
"gateway": (
|
"gateway": (
|
||||||
interface.default_gateway
|
interface.default_gateway if interface.default_gateway else None
|
||||||
if interface.default_gateway
|
|
||||||
else None
|
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
]
|
|
||||||
}
|
data["nodes"].append(
|
||||||
for interface_name, interface in device.interfaces.items()
|
{"role": device.role, "name": device.name, "interfaces": interfaces}
|
||||||
],
|
|
||||||
}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
with open(str(output_path), "w", encoding="utf-8") as f:
|
with open(str(output_path), "w", encoding="utf-8") as f:
|
||||||
|
|||||||
Reference in New Issue
Block a user