Add docker-ip-addr-manager initial app
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass
|
||||
|
||||
|
||||
@dataclass
|
||||
class IpEntry:
|
||||
id: str
|
||||
name: str
|
||||
ip: str
|
||||
cidr: int
|
||||
device: str
|
||||
enabled: bool
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, data: dict) -> "IpEntry":
|
||||
return cls(
|
||||
id=str(data["id"]),
|
||||
name=str(data["name"]),
|
||||
ip=str(data["ip"]),
|
||||
cidr=int(data["cidr"]),
|
||||
device=str(data["device"]),
|
||||
enabled=bool(data.get("enabled", False)),
|
||||
)
|
||||
|
||||
def to_dict(self) -> dict:
|
||||
return {
|
||||
"id": self.id,
|
||||
"name": self.name,
|
||||
"ip": self.ip,
|
||||
"cidr": self.cidr,
|
||||
"device": self.device,
|
||||
"enabled": self.enabled,
|
||||
}
|
||||
|
||||
|
||||
@dataclass
|
||||
class EntryView:
|
||||
id: str
|
||||
name: str
|
||||
ip: str
|
||||
cidr: int
|
||||
device: str
|
||||
enabled: bool
|
||||
effective_enabled: bool
|
||||
used: bool
|
||||
containers: list[str]
|
||||
usage_known: bool
|
||||
|
||||
def to_dict(self) -> dict:
|
||||
return {
|
||||
"id": self.id,
|
||||
"name": self.name,
|
||||
"ip": self.ip,
|
||||
"cidr": self.cidr,
|
||||
"device": self.device,
|
||||
"enabled": self.enabled,
|
||||
"effective_enabled": self.effective_enabled,
|
||||
"used": self.used,
|
||||
"containers": self.containers,
|
||||
"usage_known": self.usage_known,
|
||||
}
|
||||
Reference in New Issue
Block a user