clan.cli: convert dataclasses into TypedDict using classgen
This commit is contained in:
@@ -5,37 +5,32 @@
|
|||||||
# ruff: noqa: N806
|
# ruff: noqa: N806
|
||||||
# ruff: noqa: F401
|
# ruff: noqa: F401
|
||||||
# fmt: off
|
# fmt: off
|
||||||
from dataclasses import dataclass, field
|
from typing import Any, Literal, TypedDict, NotRequired
|
||||||
from typing import Any, Literal
|
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
class MachineDeploy(TypedDict):
|
||||||
class MachineDeploy:
|
targetHost: NotRequired[str]
|
||||||
targetHost: None | str = field(default = None)
|
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
class Machine(TypedDict):
|
||||||
class Machine:
|
deploy: NotRequired[MachineDeploy]
|
||||||
deploy: MachineDeploy
|
description: NotRequired[str]
|
||||||
|
icon: NotRequired[str]
|
||||||
|
name: NotRequired[str]
|
||||||
|
tags: NotRequired[list[str]]
|
||||||
|
|
||||||
|
|
||||||
|
class Meta(TypedDict):
|
||||||
name: str
|
name: str
|
||||||
description: None | str = field(default = None)
|
description: NotRequired[str]
|
||||||
icon: None | str = field(default = None)
|
icon: NotRequired[str]
|
||||||
tags: list[str] = field(default_factory = list)
|
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
|
||||||
class Meta:
|
|
||||||
name: str
|
|
||||||
description: None | str = field(default = None)
|
|
||||||
icon: None | str = field(default = None)
|
|
||||||
|
|
||||||
|
|
||||||
Service = dict[str, Any]
|
Service = dict[str, Any]
|
||||||
|
|
||||||
@dataclass
|
|
||||||
class Inventory:
|
class Inventory(TypedDict):
|
||||||
meta: Meta
|
machines: NotRequired[dict[str, Machine]]
|
||||||
machines: dict[str, Machine] = field(default_factory = dict)
|
meta: NotRequired[Meta]
|
||||||
modules: dict[str, str] = field(default_factory = dict)
|
modules: NotRequired[dict[str, str]]
|
||||||
services: dict[str, Service] = field(default_factory = dict)
|
services: NotRequired[dict[str, Service]]
|
||||||
tags: dict[str, list[str]] = field(default_factory = dict)
|
tags: NotRequired[dict[str, list[str]]]
|
||||||
Reference in New Issue
Block a user