From 3b526955a28f6b02a012da386f639d2a7c0070e7 Mon Sep 17 00:00:00 2001 From: Johannes Kirschbauer Date: Mon, 2 Sep 2024 15:06:55 +0200 Subject: [PATCH] API: init iwd clanModule inventory --- clanModules/iwd/roles/default.nix | 1 + pkgs/clan-cli/clan_cli/inventory/classes.py | 38 +++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 clanModules/iwd/roles/default.nix diff --git a/clanModules/iwd/roles/default.nix b/clanModules/iwd/roles/default.nix new file mode 100644 index 000000000..ffcd4415b --- /dev/null +++ b/clanModules/iwd/roles/default.nix @@ -0,0 +1 @@ +{ } diff --git a/pkgs/clan-cli/clan_cli/inventory/classes.py b/pkgs/clan-cli/clan_cli/inventory/classes.py index 11cf6daee..c0c31e9ae 100644 --- a/pkgs/clan-cli/clan_cli/inventory/classes.py +++ b/pkgs/clan-cli/clan_cli/inventory/classes.py @@ -117,6 +117,43 @@ class ServiceBorgbackup: machines: dict[str, ServiceBorgbackupMachine] = field(default_factory = dict) +@dataclass +class IwdConfigNetwork: + ssid: str + + +@dataclass +class IwdConfig: + networks: dict[str, IwdConfigNetwork] = field(default_factory = dict) + + +@dataclass +class ServiceIwdMachine: + config: IwdConfig = field(default_factory = IwdConfig) + imports: list[str] = field(default_factory = list) + + +@dataclass +class ServiceIwdRoleDefault: + config: IwdConfig = field(default_factory = IwdConfig) + imports: list[str] = field(default_factory = list) + machines: list[str] = field(default_factory = list) + tags: list[str] = field(default_factory = list) + + +@dataclass +class ServiceIwdRole: + default: ServiceIwdRoleDefault + + +@dataclass +class ServiceIwd: + meta: ServiceMeta + roles: ServiceIwdRole + config: IwdConfig = field(default_factory = IwdConfig) + machines: dict[str, ServiceIwdMachine] = field(default_factory = dict) + + @dataclass class PackagesConfig: packages: list[str] = field(default_factory = list) @@ -185,6 +222,7 @@ class ServiceSingleDisk: class Service: admin: dict[str, ServiceAdmin] = field(default_factory = dict) borgbackup: dict[str, ServiceBorgbackup] = field(default_factory = dict) + iwd: dict[str, ServiceIwd] = field(default_factory = dict) packages: dict[str, ServicePackage] = field(default_factory = dict) single_disk: dict[str, ServiceSingleDisk] = field(default_factory = dict, metadata = {"alias": "single-disk"})