vms/run/inspect: also make it more type-safe
All checks were successful
checks-impure / test (pull_request) Successful in 1m5s
checks / test (pull_request) Successful in 2m1s

nix will show proper error messages when it cannot find a flake.
This commit is contained in:
Jörg Thalheim 2023-12-08 11:47:25 +01:00
parent 31196e3d3c
commit 48d7d5f38c

View File

@ -32,12 +32,20 @@ async def inspect_vm(flake_url: str | Path, flake_attr: str) -> VmConfig:
return VmConfig(flake_url=flake_url, flake_attr=flake_attr, **data)
@dataclass
class InspectOptions:
machine: str
flake: Path
def inspect_command(args: argparse.Namespace) -> None:
if args.flake is None:
flake = Path.cwd()
else:
flake = Path(args.flake)
res = asyncio.run(inspect_vm(flake_url=flake, flake_attr=args.machine))
inspect_options = InspectOptions(
machine=args.machine,
flake=args.flake or Path.cwd(),
)
res = asyncio.run(
inspect_vm(flake_url=inspect_options.flake, flake_attr=inspect_options.machine)
)
print("Cores:", res.cores)
print("Memory size:", res.memory_size)
print("Graphics:", res.graphics)