Type what we get back from the EM API
Graham Christensen committed
Jun 3, 2022 at 10:30 UTC
9ea5c483232abe04b8e38c3784ccb41ec3d05922
1 file changed
+19
-1
hydra-packet-importer/import.py
+19
-1
@@ -36,6 +36,24 @@ class HostKey(TypedDict):
36
key: str
37
38
39
+class Plan(TypedDict):
40
+ name: str
41
+
42
+
43
+class Device(TypedDict):
44
+ state: str
45
+ tags: str
46
+ id: str
47
+ hostname: str
48
+ short_id: str
49
+ plan: Plan
50
+
51
+
52
+class ProjectDeviceList(TypedDict):
53
+ meta: Dict[str, Any]
54
+ devices: List[Device]
55
+
56
+
57
def debug(*args: Any, **kwargs: Any) -> None:
58
print(*args, file=sys.stderr, **kwargs)
59
@@ -46,7 +64,7 @@ def get_builders(manager: Any) -> List[Builder]:
64
page: Optional[str] = "projects/{}/devices?page={}".format(config["project_id"], 1)
65
while page is not None:
66
debug(page)
49
- data: Dict[str, Any] = manager.call_api(page)
67
+ data: ProjectDeviceList = manager.call_api(page)
68
if data["meta"]["next"] is None:
69
page = None
70
else: