windmill-api 1.509.2__py3-none-any.whl → 1.510.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. windmill_api/api/script/get_script_by_hash.py +15 -0
  2. windmill_api/models/completed_job.py +18 -0
  3. windmill_api/models/{get_job_updates_response_200_flow_status_additional_property.py → completed_job_workflow_as_code_status.py} +5 -5
  4. windmill_api/models/delete_completed_job_response_200.py +24 -0
  5. windmill_api/models/delete_completed_job_response_200_workflow_as_code_status.py +100 -0
  6. windmill_api/models/extended_jobs_jobs_item_type_0.py +22 -0
  7. windmill_api/models/extended_jobs_jobs_item_type_0_workflow_as_code_status.py +100 -0
  8. windmill_api/models/extended_jobs_jobs_item_type_1.py +22 -0
  9. windmill_api/models/extended_jobs_jobs_item_type_1_workflow_as_code_status.py +100 -0
  10. windmill_api/models/get_completed_job_response_200.py +22 -0
  11. windmill_api/models/get_completed_job_response_200_workflow_as_code_status.py +100 -0
  12. windmill_api/models/get_job_response_200_type_0.py +20 -0
  13. windmill_api/models/get_job_response_200_type_0_workflow_as_code_status.py +100 -0
  14. windmill_api/models/get_job_response_200_type_1.py +20 -0
  15. windmill_api/models/get_job_response_200_type_1_workflow_as_code_status.py +100 -0
  16. windmill_api/models/get_job_updates_response_200.py +22 -0
  17. windmill_api/models/get_job_updates_response_200_flow_status.py +107 -25
  18. windmill_api/models/get_job_updates_response_200_flow_status_failure_module.py +241 -0
  19. windmill_api/models/get_job_updates_response_200_flow_status_failure_module_approvers_item.py +65 -0
  20. windmill_api/models/get_job_updates_response_200_flow_status_failure_module_branch_chosen.py +72 -0
  21. windmill_api/models/get_job_updates_response_200_flow_status_failure_module_branch_chosen_type.py +9 -0
  22. windmill_api/models/get_job_updates_response_200_flow_status_failure_module_branchall.py +65 -0
  23. windmill_api/models/get_job_updates_response_200_flow_status_failure_module_iterator.py +77 -0
  24. windmill_api/models/get_job_updates_response_200_flow_status_failure_module_type.py +13 -0
  25. windmill_api/models/get_job_updates_response_200_flow_status_modules_item.py +233 -0
  26. windmill_api/models/get_job_updates_response_200_flow_status_modules_item_approvers_item.py +65 -0
  27. windmill_api/models/get_job_updates_response_200_flow_status_modules_item_branch_chosen.py +72 -0
  28. windmill_api/models/get_job_updates_response_200_flow_status_modules_item_branch_chosen_type.py +9 -0
  29. windmill_api/models/get_job_updates_response_200_flow_status_modules_item_branchall.py +65 -0
  30. windmill_api/models/get_job_updates_response_200_flow_status_modules_item_iterator.py +77 -0
  31. windmill_api/models/get_job_updates_response_200_flow_status_modules_item_type.py +13 -0
  32. windmill_api/models/get_job_updates_response_200_flow_status_preprocessor_module.py +235 -0
  33. windmill_api/models/get_job_updates_response_200_flow_status_preprocessor_module_approvers_item.py +65 -0
  34. windmill_api/models/get_job_updates_response_200_flow_status_preprocessor_module_branch_chosen.py +72 -0
  35. windmill_api/models/get_job_updates_response_200_flow_status_preprocessor_module_branch_chosen_type.py +9 -0
  36. windmill_api/models/get_job_updates_response_200_flow_status_preprocessor_module_branchall.py +65 -0
  37. windmill_api/models/get_job_updates_response_200_flow_status_preprocessor_module_iterator.py +77 -0
  38. windmill_api/models/get_job_updates_response_200_flow_status_preprocessor_module_type.py +13 -0
  39. windmill_api/models/get_job_updates_response_200_flow_status_retry.py +68 -0
  40. windmill_api/models/get_job_updates_response_200_workflow_as_code_status.py +100 -0
  41. windmill_api/models/get_suspended_job_flow_response_200_job_type_0.py +24 -0
  42. windmill_api/models/get_suspended_job_flow_response_200_job_type_0_workflow_as_code_status.py +100 -0
  43. windmill_api/models/get_suspended_job_flow_response_200_job_type_1.py +24 -0
  44. windmill_api/models/get_suspended_job_flow_response_200_job_type_1_workflow_as_code_status.py +100 -0
  45. windmill_api/models/job_type_0_workflow_as_code_status.py +100 -0
  46. windmill_api/models/job_type_1_workflow_as_code_status.py +100 -0
  47. windmill_api/models/list_completed_jobs_response_200_item.py +24 -0
  48. windmill_api/models/list_completed_jobs_response_200_item_workflow_as_code_status.py +100 -0
  49. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_0.py +24 -0
  50. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_0_workflow_as_code_status.py +100 -0
  51. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_1.py +24 -0
  52. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_1_workflow_as_code_status.py +100 -0
  53. windmill_api/models/list_jobs_response_200_item_type_0.py +24 -0
  54. windmill_api/models/list_jobs_response_200_item_type_0_workflow_as_code_status.py +100 -0
  55. windmill_api/models/list_jobs_response_200_item_type_1.py +24 -0
  56. windmill_api/models/list_jobs_response_200_item_type_1_workflow_as_code_status.py +100 -0
  57. windmill_api/models/list_queue_response_200_item.py +22 -0
  58. windmill_api/models/list_queue_response_200_item_workflow_as_code_status.py +100 -0
  59. windmill_api/models/queued_job.py +18 -0
  60. windmill_api/models/queued_job_workflow_as_code_status.py +100 -0
  61. {windmill_api-1.509.2.dist-info → windmill_api-1.510.0.dist-info}/METADATA +1 -1
  62. {windmill_api-1.509.2.dist-info → windmill_api-1.510.0.dist-info}/RECORD +64 -24
  63. {windmill_api-1.509.2.dist-info → windmill_api-1.510.0.dist-info}/LICENSE +0 -0
  64. {windmill_api-1.509.2.dist-info → windmill_api-1.510.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,100 @@
1
+ import datetime
2
+ from typing import Any, Dict, List, Type, TypeVar, Union
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+ from dateutil.parser import isoparse
7
+
8
+ from ..types import UNSET, Unset
9
+
10
+ T = TypeVar("T", bound="ListJobsResponse200ItemType0WorkflowAsCodeStatus")
11
+
12
+
13
+ @_attrs_define
14
+ class ListJobsResponse200ItemType0WorkflowAsCodeStatus:
15
+ """
16
+ Attributes:
17
+ scheduled_for (Union[Unset, datetime.datetime]):
18
+ started_at (Union[Unset, datetime.datetime]):
19
+ duration_ms (Union[Unset, float]):
20
+ name (Union[Unset, str]):
21
+ """
22
+
23
+ scheduled_for: Union[Unset, datetime.datetime] = UNSET
24
+ started_at: Union[Unset, datetime.datetime] = UNSET
25
+ duration_ms: Union[Unset, float] = UNSET
26
+ name: Union[Unset, str] = UNSET
27
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
28
+
29
+ def to_dict(self) -> Dict[str, Any]:
30
+ scheduled_for: Union[Unset, str] = UNSET
31
+ if not isinstance(self.scheduled_for, Unset):
32
+ scheduled_for = self.scheduled_for.isoformat()
33
+
34
+ started_at: Union[Unset, str] = UNSET
35
+ if not isinstance(self.started_at, Unset):
36
+ started_at = self.started_at.isoformat()
37
+
38
+ duration_ms = self.duration_ms
39
+ name = self.name
40
+
41
+ field_dict: Dict[str, Any] = {}
42
+ field_dict.update(self.additional_properties)
43
+ field_dict.update({})
44
+ if scheduled_for is not UNSET:
45
+ field_dict["scheduled_for"] = scheduled_for
46
+ if started_at is not UNSET:
47
+ field_dict["started_at"] = started_at
48
+ if duration_ms is not UNSET:
49
+ field_dict["duration_ms"] = duration_ms
50
+ if name is not UNSET:
51
+ field_dict["name"] = name
52
+
53
+ return field_dict
54
+
55
+ @classmethod
56
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
57
+ d = src_dict.copy()
58
+ _scheduled_for = d.pop("scheduled_for", UNSET)
59
+ scheduled_for: Union[Unset, datetime.datetime]
60
+ if isinstance(_scheduled_for, Unset):
61
+ scheduled_for = UNSET
62
+ else:
63
+ scheduled_for = isoparse(_scheduled_for)
64
+
65
+ _started_at = d.pop("started_at", UNSET)
66
+ started_at: Union[Unset, datetime.datetime]
67
+ if isinstance(_started_at, Unset):
68
+ started_at = UNSET
69
+ else:
70
+ started_at = isoparse(_started_at)
71
+
72
+ duration_ms = d.pop("duration_ms", UNSET)
73
+
74
+ name = d.pop("name", UNSET)
75
+
76
+ list_jobs_response_200_item_type_0_workflow_as_code_status = cls(
77
+ scheduled_for=scheduled_for,
78
+ started_at=started_at,
79
+ duration_ms=duration_ms,
80
+ name=name,
81
+ )
82
+
83
+ list_jobs_response_200_item_type_0_workflow_as_code_status.additional_properties = d
84
+ return list_jobs_response_200_item_type_0_workflow_as_code_status
85
+
86
+ @property
87
+ def additional_keys(self) -> List[str]:
88
+ return list(self.additional_properties.keys())
89
+
90
+ def __getitem__(self, key: str) -> Any:
91
+ return self.additional_properties[key]
92
+
93
+ def __setitem__(self, key: str, value: Any) -> None:
94
+ self.additional_properties[key] = value
95
+
96
+ def __delitem__(self, key: str) -> None:
97
+ del self.additional_properties[key]
98
+
99
+ def __contains__(self, key: str) -> bool:
100
+ return key in self.additional_properties
@@ -14,6 +14,9 @@ if TYPE_CHECKING:
14
14
  from ..models.list_jobs_response_200_item_type_1_args import ListJobsResponse200ItemType1Args
15
15
  from ..models.list_jobs_response_200_item_type_1_flow_status import ListJobsResponse200ItemType1FlowStatus
16
16
  from ..models.list_jobs_response_200_item_type_1_raw_flow import ListJobsResponse200ItemType1RawFlow
17
+ from ..models.list_jobs_response_200_item_type_1_workflow_as_code_status import (
18
+ ListJobsResponse200ItemType1WorkflowAsCodeStatus,
19
+ )
17
20
 
18
21
 
19
22
  T = TypeVar("T", bound="ListJobsResponse200ItemType1")
@@ -49,6 +52,7 @@ class ListJobsResponse200ItemType1:
49
52
  last_ping (Union[Unset, datetime.datetime]):
50
53
  schedule_path (Union[Unset, str]):
51
54
  flow_status (Union[Unset, ListJobsResponse200ItemType1FlowStatus]):
55
+ workflow_as_code_status (Union[Unset, ListJobsResponse200ItemType1WorkflowAsCodeStatus]):
52
56
  raw_flow (Union[Unset, ListJobsResponse200ItemType1RawFlow]):
53
57
  language (Union[Unset, ListJobsResponse200ItemType1Language]):
54
58
  mem_peak (Union[Unset, int]):
@@ -86,6 +90,7 @@ class ListJobsResponse200ItemType1:
86
90
  last_ping: Union[Unset, datetime.datetime] = UNSET
87
91
  schedule_path: Union[Unset, str] = UNSET
88
92
  flow_status: Union[Unset, "ListJobsResponse200ItemType1FlowStatus"] = UNSET
93
+ workflow_as_code_status: Union[Unset, "ListJobsResponse200ItemType1WorkflowAsCodeStatus"] = UNSET
89
94
  raw_flow: Union[Unset, "ListJobsResponse200ItemType1RawFlow"] = UNSET
90
95
  language: Union[Unset, ListJobsResponse200ItemType1Language] = UNSET
91
96
  mem_peak: Union[Unset, int] = UNSET
@@ -143,6 +148,10 @@ class ListJobsResponse200ItemType1:
143
148
  if not isinstance(self.flow_status, Unset):
144
149
  flow_status = self.flow_status.to_dict()
145
150
 
151
+ workflow_as_code_status: Union[Unset, Dict[str, Any]] = UNSET
152
+ if not isinstance(self.workflow_as_code_status, Unset):
153
+ workflow_as_code_status = self.workflow_as_code_status.to_dict()
154
+
146
155
  raw_flow: Union[Unset, Dict[str, Any]] = UNSET
147
156
  if not isinstance(self.raw_flow, Unset):
148
157
  raw_flow = self.raw_flow.to_dict()
@@ -209,6 +218,8 @@ class ListJobsResponse200ItemType1:
209
218
  field_dict["schedule_path"] = schedule_path
210
219
  if flow_status is not UNSET:
211
220
  field_dict["flow_status"] = flow_status
221
+ if workflow_as_code_status is not UNSET:
222
+ field_dict["workflow_as_code_status"] = workflow_as_code_status
212
223
  if raw_flow is not UNSET:
213
224
  field_dict["raw_flow"] = raw_flow
214
225
  if language is not UNSET:
@@ -237,6 +248,9 @@ class ListJobsResponse200ItemType1:
237
248
  from ..models.list_jobs_response_200_item_type_1_args import ListJobsResponse200ItemType1Args
238
249
  from ..models.list_jobs_response_200_item_type_1_flow_status import ListJobsResponse200ItemType1FlowStatus
239
250
  from ..models.list_jobs_response_200_item_type_1_raw_flow import ListJobsResponse200ItemType1RawFlow
251
+ from ..models.list_jobs_response_200_item_type_1_workflow_as_code_status import (
252
+ ListJobsResponse200ItemType1WorkflowAsCodeStatus,
253
+ )
240
254
 
241
255
  d = src_dict.copy()
242
256
  id = d.pop("id")
@@ -319,6 +333,15 @@ class ListJobsResponse200ItemType1:
319
333
  else:
320
334
  flow_status = ListJobsResponse200ItemType1FlowStatus.from_dict(_flow_status)
321
335
 
336
+ _workflow_as_code_status = d.pop("workflow_as_code_status", UNSET)
337
+ workflow_as_code_status: Union[Unset, ListJobsResponse200ItemType1WorkflowAsCodeStatus]
338
+ if isinstance(_workflow_as_code_status, Unset):
339
+ workflow_as_code_status = UNSET
340
+ else:
341
+ workflow_as_code_status = ListJobsResponse200ItemType1WorkflowAsCodeStatus.from_dict(
342
+ _workflow_as_code_status
343
+ )
344
+
322
345
  _raw_flow = d.pop("raw_flow", UNSET)
323
346
  raw_flow: Union[Unset, ListJobsResponse200ItemType1RawFlow]
324
347
  if isinstance(_raw_flow, Unset):
@@ -380,6 +403,7 @@ class ListJobsResponse200ItemType1:
380
403
  last_ping=last_ping,
381
404
  schedule_path=schedule_path,
382
405
  flow_status=flow_status,
406
+ workflow_as_code_status=workflow_as_code_status,
383
407
  raw_flow=raw_flow,
384
408
  language=language,
385
409
  mem_peak=mem_peak,
@@ -0,0 +1,100 @@
1
+ import datetime
2
+ from typing import Any, Dict, List, Type, TypeVar, Union
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+ from dateutil.parser import isoparse
7
+
8
+ from ..types import UNSET, Unset
9
+
10
+ T = TypeVar("T", bound="ListJobsResponse200ItemType1WorkflowAsCodeStatus")
11
+
12
+
13
+ @_attrs_define
14
+ class ListJobsResponse200ItemType1WorkflowAsCodeStatus:
15
+ """
16
+ Attributes:
17
+ scheduled_for (Union[Unset, datetime.datetime]):
18
+ started_at (Union[Unset, datetime.datetime]):
19
+ duration_ms (Union[Unset, float]):
20
+ name (Union[Unset, str]):
21
+ """
22
+
23
+ scheduled_for: Union[Unset, datetime.datetime] = UNSET
24
+ started_at: Union[Unset, datetime.datetime] = UNSET
25
+ duration_ms: Union[Unset, float] = UNSET
26
+ name: Union[Unset, str] = UNSET
27
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
28
+
29
+ def to_dict(self) -> Dict[str, Any]:
30
+ scheduled_for: Union[Unset, str] = UNSET
31
+ if not isinstance(self.scheduled_for, Unset):
32
+ scheduled_for = self.scheduled_for.isoformat()
33
+
34
+ started_at: Union[Unset, str] = UNSET
35
+ if not isinstance(self.started_at, Unset):
36
+ started_at = self.started_at.isoformat()
37
+
38
+ duration_ms = self.duration_ms
39
+ name = self.name
40
+
41
+ field_dict: Dict[str, Any] = {}
42
+ field_dict.update(self.additional_properties)
43
+ field_dict.update({})
44
+ if scheduled_for is not UNSET:
45
+ field_dict["scheduled_for"] = scheduled_for
46
+ if started_at is not UNSET:
47
+ field_dict["started_at"] = started_at
48
+ if duration_ms is not UNSET:
49
+ field_dict["duration_ms"] = duration_ms
50
+ if name is not UNSET:
51
+ field_dict["name"] = name
52
+
53
+ return field_dict
54
+
55
+ @classmethod
56
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
57
+ d = src_dict.copy()
58
+ _scheduled_for = d.pop("scheduled_for", UNSET)
59
+ scheduled_for: Union[Unset, datetime.datetime]
60
+ if isinstance(_scheduled_for, Unset):
61
+ scheduled_for = UNSET
62
+ else:
63
+ scheduled_for = isoparse(_scheduled_for)
64
+
65
+ _started_at = d.pop("started_at", UNSET)
66
+ started_at: Union[Unset, datetime.datetime]
67
+ if isinstance(_started_at, Unset):
68
+ started_at = UNSET
69
+ else:
70
+ started_at = isoparse(_started_at)
71
+
72
+ duration_ms = d.pop("duration_ms", UNSET)
73
+
74
+ name = d.pop("name", UNSET)
75
+
76
+ list_jobs_response_200_item_type_1_workflow_as_code_status = cls(
77
+ scheduled_for=scheduled_for,
78
+ started_at=started_at,
79
+ duration_ms=duration_ms,
80
+ name=name,
81
+ )
82
+
83
+ list_jobs_response_200_item_type_1_workflow_as_code_status.additional_properties = d
84
+ return list_jobs_response_200_item_type_1_workflow_as_code_status
85
+
86
+ @property
87
+ def additional_keys(self) -> List[str]:
88
+ return list(self.additional_properties.keys())
89
+
90
+ def __getitem__(self, key: str) -> Any:
91
+ return self.additional_properties[key]
92
+
93
+ def __setitem__(self, key: str, value: Any) -> None:
94
+ self.additional_properties[key] = value
95
+
96
+ def __delitem__(self, key: str) -> None:
97
+ del self.additional_properties[key]
98
+
99
+ def __contains__(self, key: str) -> bool:
100
+ return key in self.additional_properties
@@ -13,6 +13,9 @@ if TYPE_CHECKING:
13
13
  from ..models.list_queue_response_200_item_args import ListQueueResponse200ItemArgs
14
14
  from ..models.list_queue_response_200_item_flow_status import ListQueueResponse200ItemFlowStatus
15
15
  from ..models.list_queue_response_200_item_raw_flow import ListQueueResponse200ItemRawFlow
16
+ from ..models.list_queue_response_200_item_workflow_as_code_status import (
17
+ ListQueueResponse200ItemWorkflowAsCodeStatus,
18
+ )
16
19
 
17
20
 
18
21
  T = TypeVar("T", bound="ListQueueResponse200Item")
@@ -48,6 +51,7 @@ class ListQueueResponse200Item:
48
51
  last_ping (Union[Unset, datetime.datetime]):
49
52
  schedule_path (Union[Unset, str]):
50
53
  flow_status (Union[Unset, ListQueueResponse200ItemFlowStatus]):
54
+ workflow_as_code_status (Union[Unset, ListQueueResponse200ItemWorkflowAsCodeStatus]):
51
55
  raw_flow (Union[Unset, ListQueueResponse200ItemRawFlow]):
52
56
  language (Union[Unset, ListQueueResponse200ItemLanguage]):
53
57
  mem_peak (Union[Unset, int]):
@@ -84,6 +88,7 @@ class ListQueueResponse200Item:
84
88
  last_ping: Union[Unset, datetime.datetime] = UNSET
85
89
  schedule_path: Union[Unset, str] = UNSET
86
90
  flow_status: Union[Unset, "ListQueueResponse200ItemFlowStatus"] = UNSET
91
+ workflow_as_code_status: Union[Unset, "ListQueueResponse200ItemWorkflowAsCodeStatus"] = UNSET
87
92
  raw_flow: Union[Unset, "ListQueueResponse200ItemRawFlow"] = UNSET
88
93
  language: Union[Unset, ListQueueResponse200ItemLanguage] = UNSET
89
94
  mem_peak: Union[Unset, int] = UNSET
@@ -140,6 +145,10 @@ class ListQueueResponse200Item:
140
145
  if not isinstance(self.flow_status, Unset):
141
146
  flow_status = self.flow_status.to_dict()
142
147
 
148
+ workflow_as_code_status: Union[Unset, Dict[str, Any]] = UNSET
149
+ if not isinstance(self.workflow_as_code_status, Unset):
150
+ workflow_as_code_status = self.workflow_as_code_status.to_dict()
151
+
143
152
  raw_flow: Union[Unset, Dict[str, Any]] = UNSET
144
153
  if not isinstance(self.raw_flow, Unset):
145
154
  raw_flow = self.raw_flow.to_dict()
@@ -203,6 +212,8 @@ class ListQueueResponse200Item:
203
212
  field_dict["schedule_path"] = schedule_path
204
213
  if flow_status is not UNSET:
205
214
  field_dict["flow_status"] = flow_status
215
+ if workflow_as_code_status is not UNSET:
216
+ field_dict["workflow_as_code_status"] = workflow_as_code_status
206
217
  if raw_flow is not UNSET:
207
218
  field_dict["raw_flow"] = raw_flow
208
219
  if language is not UNSET:
@@ -229,6 +240,9 @@ class ListQueueResponse200Item:
229
240
  from ..models.list_queue_response_200_item_args import ListQueueResponse200ItemArgs
230
241
  from ..models.list_queue_response_200_item_flow_status import ListQueueResponse200ItemFlowStatus
231
242
  from ..models.list_queue_response_200_item_raw_flow import ListQueueResponse200ItemRawFlow
243
+ from ..models.list_queue_response_200_item_workflow_as_code_status import (
244
+ ListQueueResponse200ItemWorkflowAsCodeStatus,
245
+ )
232
246
 
233
247
  d = src_dict.copy()
234
248
  id = d.pop("id")
@@ -311,6 +325,13 @@ class ListQueueResponse200Item:
311
325
  else:
312
326
  flow_status = ListQueueResponse200ItemFlowStatus.from_dict(_flow_status)
313
327
 
328
+ _workflow_as_code_status = d.pop("workflow_as_code_status", UNSET)
329
+ workflow_as_code_status: Union[Unset, ListQueueResponse200ItemWorkflowAsCodeStatus]
330
+ if isinstance(_workflow_as_code_status, Unset):
331
+ workflow_as_code_status = UNSET
332
+ else:
333
+ workflow_as_code_status = ListQueueResponse200ItemWorkflowAsCodeStatus.from_dict(_workflow_as_code_status)
334
+
314
335
  _raw_flow = d.pop("raw_flow", UNSET)
315
336
  raw_flow: Union[Unset, ListQueueResponse200ItemRawFlow]
316
337
  if isinstance(_raw_flow, Unset):
@@ -365,6 +386,7 @@ class ListQueueResponse200Item:
365
386
  last_ping=last_ping,
366
387
  schedule_path=schedule_path,
367
388
  flow_status=flow_status,
389
+ workflow_as_code_status=workflow_as_code_status,
368
390
  raw_flow=raw_flow,
369
391
  language=language,
370
392
  mem_peak=mem_peak,
@@ -0,0 +1,100 @@
1
+ import datetime
2
+ from typing import Any, Dict, List, Type, TypeVar, Union
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+ from dateutil.parser import isoparse
7
+
8
+ from ..types import UNSET, Unset
9
+
10
+ T = TypeVar("T", bound="ListQueueResponse200ItemWorkflowAsCodeStatus")
11
+
12
+
13
+ @_attrs_define
14
+ class ListQueueResponse200ItemWorkflowAsCodeStatus:
15
+ """
16
+ Attributes:
17
+ scheduled_for (Union[Unset, datetime.datetime]):
18
+ started_at (Union[Unset, datetime.datetime]):
19
+ duration_ms (Union[Unset, float]):
20
+ name (Union[Unset, str]):
21
+ """
22
+
23
+ scheduled_for: Union[Unset, datetime.datetime] = UNSET
24
+ started_at: Union[Unset, datetime.datetime] = UNSET
25
+ duration_ms: Union[Unset, float] = UNSET
26
+ name: Union[Unset, str] = UNSET
27
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
28
+
29
+ def to_dict(self) -> Dict[str, Any]:
30
+ scheduled_for: Union[Unset, str] = UNSET
31
+ if not isinstance(self.scheduled_for, Unset):
32
+ scheduled_for = self.scheduled_for.isoformat()
33
+
34
+ started_at: Union[Unset, str] = UNSET
35
+ if not isinstance(self.started_at, Unset):
36
+ started_at = self.started_at.isoformat()
37
+
38
+ duration_ms = self.duration_ms
39
+ name = self.name
40
+
41
+ field_dict: Dict[str, Any] = {}
42
+ field_dict.update(self.additional_properties)
43
+ field_dict.update({})
44
+ if scheduled_for is not UNSET:
45
+ field_dict["scheduled_for"] = scheduled_for
46
+ if started_at is not UNSET:
47
+ field_dict["started_at"] = started_at
48
+ if duration_ms is not UNSET:
49
+ field_dict["duration_ms"] = duration_ms
50
+ if name is not UNSET:
51
+ field_dict["name"] = name
52
+
53
+ return field_dict
54
+
55
+ @classmethod
56
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
57
+ d = src_dict.copy()
58
+ _scheduled_for = d.pop("scheduled_for", UNSET)
59
+ scheduled_for: Union[Unset, datetime.datetime]
60
+ if isinstance(_scheduled_for, Unset):
61
+ scheduled_for = UNSET
62
+ else:
63
+ scheduled_for = isoparse(_scheduled_for)
64
+
65
+ _started_at = d.pop("started_at", UNSET)
66
+ started_at: Union[Unset, datetime.datetime]
67
+ if isinstance(_started_at, Unset):
68
+ started_at = UNSET
69
+ else:
70
+ started_at = isoparse(_started_at)
71
+
72
+ duration_ms = d.pop("duration_ms", UNSET)
73
+
74
+ name = d.pop("name", UNSET)
75
+
76
+ list_queue_response_200_item_workflow_as_code_status = cls(
77
+ scheduled_for=scheduled_for,
78
+ started_at=started_at,
79
+ duration_ms=duration_ms,
80
+ name=name,
81
+ )
82
+
83
+ list_queue_response_200_item_workflow_as_code_status.additional_properties = d
84
+ return list_queue_response_200_item_workflow_as_code_status
85
+
86
+ @property
87
+ def additional_keys(self) -> List[str]:
88
+ return list(self.additional_properties.keys())
89
+
90
+ def __getitem__(self, key: str) -> Any:
91
+ return self.additional_properties[key]
92
+
93
+ def __setitem__(self, key: str, value: Any) -> None:
94
+ self.additional_properties[key] = value
95
+
96
+ def __delitem__(self, key: str) -> None:
97
+ del self.additional_properties[key]
98
+
99
+ def __contains__(self, key: str) -> bool:
100
+ return key in self.additional_properties
@@ -13,6 +13,7 @@ if TYPE_CHECKING:
13
13
  from ..models.queued_job_args import QueuedJobArgs
14
14
  from ..models.queued_job_flow_status import QueuedJobFlowStatus
15
15
  from ..models.queued_job_raw_flow import QueuedJobRawFlow
16
+ from ..models.queued_job_workflow_as_code_status import QueuedJobWorkflowAsCodeStatus
16
17
 
17
18
 
18
19
  T = TypeVar("T", bound="QueuedJob")
@@ -48,6 +49,7 @@ class QueuedJob:
48
49
  last_ping (Union[Unset, datetime.datetime]):
49
50
  schedule_path (Union[Unset, str]):
50
51
  flow_status (Union[Unset, QueuedJobFlowStatus]):
52
+ workflow_as_code_status (Union[Unset, QueuedJobWorkflowAsCodeStatus]):
51
53
  raw_flow (Union[Unset, QueuedJobRawFlow]):
52
54
  language (Union[Unset, QueuedJobLanguage]):
53
55
  mem_peak (Union[Unset, int]):
@@ -84,6 +86,7 @@ class QueuedJob:
84
86
  last_ping: Union[Unset, datetime.datetime] = UNSET
85
87
  schedule_path: Union[Unset, str] = UNSET
86
88
  flow_status: Union[Unset, "QueuedJobFlowStatus"] = UNSET
89
+ workflow_as_code_status: Union[Unset, "QueuedJobWorkflowAsCodeStatus"] = UNSET
87
90
  raw_flow: Union[Unset, "QueuedJobRawFlow"] = UNSET
88
91
  language: Union[Unset, QueuedJobLanguage] = UNSET
89
92
  mem_peak: Union[Unset, int] = UNSET
@@ -140,6 +143,10 @@ class QueuedJob:
140
143
  if not isinstance(self.flow_status, Unset):
141
144
  flow_status = self.flow_status.to_dict()
142
145
 
146
+ workflow_as_code_status: Union[Unset, Dict[str, Any]] = UNSET
147
+ if not isinstance(self.workflow_as_code_status, Unset):
148
+ workflow_as_code_status = self.workflow_as_code_status.to_dict()
149
+
143
150
  raw_flow: Union[Unset, Dict[str, Any]] = UNSET
144
151
  if not isinstance(self.raw_flow, Unset):
145
152
  raw_flow = self.raw_flow.to_dict()
@@ -203,6 +210,8 @@ class QueuedJob:
203
210
  field_dict["schedule_path"] = schedule_path
204
211
  if flow_status is not UNSET:
205
212
  field_dict["flow_status"] = flow_status
213
+ if workflow_as_code_status is not UNSET:
214
+ field_dict["workflow_as_code_status"] = workflow_as_code_status
206
215
  if raw_flow is not UNSET:
207
216
  field_dict["raw_flow"] = raw_flow
208
217
  if language is not UNSET:
@@ -229,6 +238,7 @@ class QueuedJob:
229
238
  from ..models.queued_job_args import QueuedJobArgs
230
239
  from ..models.queued_job_flow_status import QueuedJobFlowStatus
231
240
  from ..models.queued_job_raw_flow import QueuedJobRawFlow
241
+ from ..models.queued_job_workflow_as_code_status import QueuedJobWorkflowAsCodeStatus
232
242
 
233
243
  d = src_dict.copy()
234
244
  id = d.pop("id")
@@ -311,6 +321,13 @@ class QueuedJob:
311
321
  else:
312
322
  flow_status = QueuedJobFlowStatus.from_dict(_flow_status)
313
323
 
324
+ _workflow_as_code_status = d.pop("workflow_as_code_status", UNSET)
325
+ workflow_as_code_status: Union[Unset, QueuedJobWorkflowAsCodeStatus]
326
+ if isinstance(_workflow_as_code_status, Unset):
327
+ workflow_as_code_status = UNSET
328
+ else:
329
+ workflow_as_code_status = QueuedJobWorkflowAsCodeStatus.from_dict(_workflow_as_code_status)
330
+
314
331
  _raw_flow = d.pop("raw_flow", UNSET)
315
332
  raw_flow: Union[Unset, QueuedJobRawFlow]
316
333
  if isinstance(_raw_flow, Unset):
@@ -365,6 +382,7 @@ class QueuedJob:
365
382
  last_ping=last_ping,
366
383
  schedule_path=schedule_path,
367
384
  flow_status=flow_status,
385
+ workflow_as_code_status=workflow_as_code_status,
368
386
  raw_flow=raw_flow,
369
387
  language=language,
370
388
  mem_peak=mem_peak,
@@ -0,0 +1,100 @@
1
+ import datetime
2
+ from typing import Any, Dict, List, Type, TypeVar, Union
3
+
4
+ from attrs import define as _attrs_define
5
+ from attrs import field as _attrs_field
6
+ from dateutil.parser import isoparse
7
+
8
+ from ..types import UNSET, Unset
9
+
10
+ T = TypeVar("T", bound="QueuedJobWorkflowAsCodeStatus")
11
+
12
+
13
+ @_attrs_define
14
+ class QueuedJobWorkflowAsCodeStatus:
15
+ """
16
+ Attributes:
17
+ scheduled_for (Union[Unset, datetime.datetime]):
18
+ started_at (Union[Unset, datetime.datetime]):
19
+ duration_ms (Union[Unset, float]):
20
+ name (Union[Unset, str]):
21
+ """
22
+
23
+ scheduled_for: Union[Unset, datetime.datetime] = UNSET
24
+ started_at: Union[Unset, datetime.datetime] = UNSET
25
+ duration_ms: Union[Unset, float] = UNSET
26
+ name: Union[Unset, str] = UNSET
27
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
28
+
29
+ def to_dict(self) -> Dict[str, Any]:
30
+ scheduled_for: Union[Unset, str] = UNSET
31
+ if not isinstance(self.scheduled_for, Unset):
32
+ scheduled_for = self.scheduled_for.isoformat()
33
+
34
+ started_at: Union[Unset, str] = UNSET
35
+ if not isinstance(self.started_at, Unset):
36
+ started_at = self.started_at.isoformat()
37
+
38
+ duration_ms = self.duration_ms
39
+ name = self.name
40
+
41
+ field_dict: Dict[str, Any] = {}
42
+ field_dict.update(self.additional_properties)
43
+ field_dict.update({})
44
+ if scheduled_for is not UNSET:
45
+ field_dict["scheduled_for"] = scheduled_for
46
+ if started_at is not UNSET:
47
+ field_dict["started_at"] = started_at
48
+ if duration_ms is not UNSET:
49
+ field_dict["duration_ms"] = duration_ms
50
+ if name is not UNSET:
51
+ field_dict["name"] = name
52
+
53
+ return field_dict
54
+
55
+ @classmethod
56
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
57
+ d = src_dict.copy()
58
+ _scheduled_for = d.pop("scheduled_for", UNSET)
59
+ scheduled_for: Union[Unset, datetime.datetime]
60
+ if isinstance(_scheduled_for, Unset):
61
+ scheduled_for = UNSET
62
+ else:
63
+ scheduled_for = isoparse(_scheduled_for)
64
+
65
+ _started_at = d.pop("started_at", UNSET)
66
+ started_at: Union[Unset, datetime.datetime]
67
+ if isinstance(_started_at, Unset):
68
+ started_at = UNSET
69
+ else:
70
+ started_at = isoparse(_started_at)
71
+
72
+ duration_ms = d.pop("duration_ms", UNSET)
73
+
74
+ name = d.pop("name", UNSET)
75
+
76
+ queued_job_workflow_as_code_status = cls(
77
+ scheduled_for=scheduled_for,
78
+ started_at=started_at,
79
+ duration_ms=duration_ms,
80
+ name=name,
81
+ )
82
+
83
+ queued_job_workflow_as_code_status.additional_properties = d
84
+ return queued_job_workflow_as_code_status
85
+
86
+ @property
87
+ def additional_keys(self) -> List[str]:
88
+ return list(self.additional_properties.keys())
89
+
90
+ def __getitem__(self, key: str) -> Any:
91
+ return self.additional_properties[key]
92
+
93
+ def __setitem__(self, key: str, value: Any) -> None:
94
+ self.additional_properties[key] = value
95
+
96
+ def __delitem__(self, key: str) -> None:
97
+ del self.additional_properties[key]
98
+
99
+ def __contains__(self, key: str) -> bool:
100
+ return key in self.additional_properties
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: windmill-api
3
- Version: 1.509.2
3
+ Version: 1.510.0
4
4
  Summary: A client library for accessing Windmill API
5
5
  License: Apache-2.0
6
6
  Author: Ruben Fiszel